EasyEngine (ee) is python based command line control panel to setup NGINX server on Ubuntu and Debian Linux distribution for HTML, PHP, MySQL, HHVM, PageSpeed and WordPress sites
If you self-host WordPress you’re probably used to creating your MySQL databases and Apache/Nginx config files via the command line. But what if there was a faster better way. There is and its called EasyEngine or EE. It is a command line tool for managing LEMP stacks. Most commonly it’s used for installing and managing WordPress. At its most basic EE allows you to create a new WordPress website on your server with one command, in about 30 seconds.
Setting up EasyEngine
EasyEngine’s setup is as the name describes, pretty Easy. There is a guide available, but I’ll go over the steps. The highest version of Ubuntu currently supported is 16.04.
- Create a new Ubuntu or Debian virtual server.
- Ensure the necessary firewall rules are in place for your virtual machine
22/TCP (Inbound/Outbound) : Standard SSH port
80/TCP (Inbound/Outbound) : Standard HTTP port
443/TCP(Inbound/Outbound) : Standard HTTPS port
22222/TCP (Inboud) : EasyEngine Web Admin
11371/TCP (Outbound) : To connect to GPG Key Server
- Login to your server’s console
- Run the following command to install EasyEngine
wget -qO ee rt.cx/ee && sudo bash ee
- During the setup it will prompt you to enter your Name and Email address so that you can receive any updates.
- EasyEngine is ready to go!
The EE setup will install a MySQL instance on your server and setup Nginx. Creating a new site will create the necessary database and Nginx host entry. EasyEngine will also create the /var/www file system for each website and properly set file permissions.
The EasyEngine config file is located in /etc/ee/ee.conf. In this config file you can customize many things about EE. You can change the WordPress Admin username and password to be something specific. You can specify a MySQL database name prefix. You set a specific email address to be used. Most of these settings can also be overridden in the command line.
EasyEngine also supports a number of MySQL flavors like MariaDB and Percona. Or pointing EE at a separate MySQL server. Support for configuring SSL is also available, including support for Let’s Encrypt. The steps to configure are well detailed on this tutorial.
If you are managing multiple WordPress websites or you are a freelancer setting up sites over and over, then EasyEngine will dramatically improve your life. One issue I found when setting it up is that you really can not add EasyEngine to servers that are already running WordPress, you need to start with a clean server. I also tried using a newly release version of Ubuntu that was not LTS, and it was not supported. But for a free tool, its very powerful and has already shaved work off my schedule.
- Extremely Easy to Install
- Easy to Use
- Makes New WordPress Setups Simple
- Lots of Customization Options
- Needs a Clean Server to Start
- Can’t Pre-install Plugins
- Not compatible with all versions of Ubuntu