WordPress Automation with EasyEngine

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.

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.

Create a New WordPress Site: sudo ee site create example.com --wp

Create a WordPress Site with W3 Total Cache Installed: ee site create example.com --w3tc

Delete a WordPress Site: ee site delete example.com

Tweaking EasyEngine

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.

Summary

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.