Latest Stories

Featured Stories

Filter By Categories
Ramesh Vishveshwar
By
January 09, 2019

Easy Wordpress Install

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.

What is EasyEngine?

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

  • Docker
  • Docker-Compose
  • PHP CLI (7.2 or greater)
  • PHP modules - curl, sqlite3, pcntl, zip

In terms of Firewall settings, you will need to enable the following ports

  • 22/TCP (Inbound/Outbound) : Standard SSH port
  • 80/TCP (Inbound/Outbound) : Standard HTTP port
  • 443/TCP(Inbound/Outbound) : Standard HTTPS port
  • 11371/TCP (Outbound) : To connect to GPG Key Server

Installation

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

Options

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.

Admin Tools

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

Admin Tools

Purpose

URL

opcache-gui

visualize PHP zend opcache stats

thisdomain.com/ee-admin/opcache-gui.php

phpinfo

A file with just <?php phpinfo() ?> in it

thisdomain.com/ee-admin/phpinfo.php

phpMyAdmin

PHP web UI for the Database

thisdomain.com/ee-admin/pma

phpRedisAdmin

Web interface for Redis cache

thisdomain.com/ee-admin/pra

MailHog

Catches & displays email from your app in Web GUI

thisdomain.com/ee-admin/mailhog

php-fpm ping

a response of “pong” on this URL means your site’s PHP is working fine

thisdomain.com/ee-admin/ping

php-fpm status

displays php fpm pool status

thisdomain.com/ee-admin/status

nginx status

displays nginx status 

thisdomain.com/ee-admin/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.

Subscribe Email