SSD Grow

Set Up EasyEngine for Display | SSL-Enabled WordPress Sites

Hosting a WordPress-based site is one of the most common uses for VPS Hosting. While we have previously covered the details of setting up both a LEMP stack and WordPress on top of that, some users may prefer using a more user-friendly script to make the job easier. Therefore, in this tutorial, we will install EasyEngine, an open-source “helper” program, which enables you to create SSL-enabled WordPress blogs in a matter of minutes. EasyEngine is a powerful tool as it automatically installs all the dependencies required for WordPress, such as Nginx, PHP, MySQL, and others. It has a bunch of built-in features like caching and HHVM. With a single command, you can create a variety of WordPress configurations, such as WP Super Cache + Multisite or Redis cache + single site. Additionally, EasyEngine now comes with built-in support for Let’s Encrypt as well, making it even more convenient to set up HTTPS for your WordPress site. This tutorial will guide you through the process of installing EasyEngine and setting up a single WordPress site that uses HTTPS powered by a Let’s Encrypt certificate.
  • VPS Hosting running any of our OS options—Ubuntu 16.04, Debian 9, Debian 8, or CentOS 7.
  • A non-root, sudo-enabled user. If you only have a root user.
  • A registered domain name.
  • Notes:
    This tutorial uses variables to represent user-specific configurations, such as server IP addresses, passwords, domain names, and more. Whenever you see one of these variables, you should replace them with your specific details.

    Step 1: Install EasyEngine

    Debian: Before we even try installing EasyEngine, let’s install ca-certificates. If you don’t install this, the wget portion of the following command will fail without any output.

    $ sudo apt-get install ca-certificates

    To install EasyEngine, simply run the command below:

    $ wget -qO ee rt.cx/ee && sudo bash ee

    The command first downloads the EasyEngine install script using wget and then executes it using bash. As usual, we recommend that you check out the script itself to ensure that it’s not installing anything you don’t want.

    Step 2: Configure your DNS

    Before proceeding, please ensure that you have directed your domain towards the IP address of your VPS Hosting (Virtual Private Server). Both www.DOMAIN.LTD and DOMAIN.TLD must point to the server for Let’s Encrypt to issue the certificate. If you have purchased your domain name through SSD Grow, we have provided the necessary DNS to establish this configuration. However, if you have purchased your domain elsewhere, we suggest setting up a free CloudFlare account to make use of their DNS tools.

    Step 3: Run EasyEngine

    EasyEngine simplifies WordPress installation and setting up Let’s Encrypt certificate with one command.

    $ sudo ee site create DOMAIN.TLD --wp --letsencrypt

    As EasyEngine begins to download, install, and configure packages, you will see the output in the terminal. At a certain point, you will be asked to confirm if you want to use Let’s Encrypt. Simply type in “y” and hit Enter to proceed.

    Letsencrypt is currently in beta phase.

    Do you wish to enable SSl now for example.com?

    Type "y" to continue [n]:y

    If Let’s Encrypt setup works successfully, you’ll see the following output:

    Let's Encrypt successfully setup for your site
    Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem
    Configuring Nginx SSL configuration
    Adding /var/www/example.com/conf/nginx/ssl.conf
    Adding /etc/nginx/conf.d/force-ssl-example.com.conf
    Added HTTPS Force Redirection for Site http://DOMAIN.TLD
    Creating Cron Job for cert auto-renewal
    Reload : nginx [OK]
    Congratulations! Successfully Configured SSl for Site https://DOMAIN.TLD
    Your cert will expire within 89 days.

    This configuration sets up a cron job that will automatically renew your SSL certificate before it expires, which happens every 90 days. You can access the root directory of your WordPress installation at /var/www/example.com/htdocs. This means that you will be able to visit your new WordPress site via your domain with ease.
    If you have a WordPress site running via EasyEngine, you can easily add a Let’s Encrypt certificate and reconfigure Nginx with a single command.

    $ sudo ee site update example.com --letsencrypt

    As with the basic installation in step 2, this will enable a cron job to ensure the certificate is renewed regularly.

    Conclusion

    By following just a few commands, you should now have your WordPress site enabled with SSL and ready to go. To update the EasyEngine core, simply type “ee update” in the command line. You can also use the “ee site update” command to add new features such as caching to your sites.

    $ sudo ee site update DOMAIN.TLD --wp --wpfc

    The EasyEngine documentation is rich with tweaks. Developers are encouraged to explore them for a better blogging experience.

    Related Articles