WordPress has its famous “5-minute install”. This requires you to setup a working web server with PHP support and a MySQL database. While this is not a difficult task in itself, there are tools out there that make it even easier to complete all of the pre-requisites steps.
The GitHub description for this project is “A command line control panel for Nginx Server to manage WordPress sites running on Nginx, PHP, MySQL, and Let’s Encrypt”. EasyEngine is written in PHP and works on Ubuntu (>=12.04) or Debian (7/8). Accordingly to BuiltWith.com there are 433,627 websites that are EasyEngine customers.
The requirements for running EasyEngine is minimal, most of which are automatically installed during the setup
In terms of Firewall settings, you will need to enable the following ports
As the name suggests, everything about this is easy. Installing easyengine is a one step process.
wget -qO ee https://rt.cx/ee4 && sudo bash ee
EasyEngine begins downloading & installing various packages including docker. The log of the install process is available at /opt/easyengine/logs/install.log. You can review this in case you encounter any errors.
Once complete, you can add a new WordPress site through another easy command
sudo ee site create thisdomain.com --type=wp
EasyEngine is controlled through the cli command ee. There are a number of options you can provide when installing your site
For e.g., if you need to install the site with ssl enabled (Let’s Encrypt certificate), the command we used above changes only slightly
sudo ee site create thisdomain.com --type=wp --ssl=le
EasyEngine also supports wildcard SSL which is specified by the –wildcard option.
There are a number of different site types you can install from the command line, the example we used thus far is a wordpress install, but by changing –type as html or php. Additionally, when creating a PHP site, you can create it with an associated database
sudo ee site create thisdomain.com --type=php --with-db
Sites that are created through EasyEngine can be enabled/disabled without losing the site setup. To disable thisdomain.com,
sudo ee site disable thisdomain.com
and renable it
sudo ee site enable thisdomain.com
At any point to view the list of all available sites, entering the command ee site list gives you the required information.
With v4 of the EasyEngine tool, there are admin tools accessible as yoursite.com/ee-admin, which gives you access to front end tools to manage your installation such as phpMyAdmin, php-fpm status and nginx status
However, the admin tools are disabled by default. You must manually enable the admin tools on each site you install with EasyEngine.
sudo ee admin-tools enable thisdomain.com
When enabled, authentication is activated. You can get the credentials by running
sudo ee auth list global
If you need admin credentials to PhpMyAdmin for the site, use the command
sudo ee site info thisdomain.com
The DB User and DB Password from the list is your login details for PhpMyAdmin located at http://thisdomain.com/ee-admin/pma
The other tools available and their descriptions are
visualize PHP zend opcache stats
A file with just <?php phpinfo() ?> in it
PHP web UI for the Database
Web interface for Redis cache
Catches & displays email from your app in Web GUI
a response of “pong” on this URL means your site’s PHP is working fine
displays php fpm pool status
displays nginx status
The EasyEngine has a vibrant community and you can use their forums (Link) to ask questions and even hire someone to solve your problems.