Self Hosting Series 04: Installing WordPress with Easy Engine

In the previous article, the DigitalOcean Ubuntu 18.04 server was setup, updated, secured with SSH Keys and protected with UFW Firewall. With the base server setup, my first project for this multi-application VPS server will be to install and then migrate this TechZerker WordPress site to DigitalOcean.

For this install, after reviewing options I decided to give EasyEngine a try, as it meets all the requirements for hosting this site and will easily be faster than my current shared hosting. I realize all the steps could be done manually, but for the purpose of a predictable and reliable site, I’m not bringing my Arch Linux approach and building from scratch. (I’ll save that for a test box first!)

Connected with Putty to the server console, as with any change, first step is to ensure the server as-is has been fully updated:

sudo apt-get update && sudo apt-get upgrade

This is important to complete every time, as in my case I updated the server last night, but when running the above now, already I had five updates for Python!

When complete, the next step to install EasyEngine is a simple single line command:

wget -qO ee && sudo bash ee

In my case on my entry level DigitalOcean system, the initial install took roughly sixty seconds, at which point the install process prompted for my name and e-mail used for sending alerts and logs. After that, the install completed in another thirty seconds or so, no issues at all.

Try out the same size DigitalOcean VPS Server for free for two months. Sign up through this link and receive $10 in free credit, which at $5/month for this system gives you a lot of time to learn and test free!

The next step is to install the pre-requisites for WordPress, which are PHP, MySQL and Nginx. The EasyEngine process makes this simple with a quick command:

sudo ee stack install --all

The process of the script will ask for a fully qualified host name (, and then proceed to add the necessary repositories for software and start the installs, all fully scripted.

When completed, it will display a login name for the EasyEngine ViMB Admin page, for mail control, which I’ll admin, documentation on what to do with it from EasyEngine seems light. In this case, I’m not looking for any mailbox features yet, so I am going to leave it as default and investigate further once my domain is pointed to the server and operating.

EasyEngine Install

With the pre-requisite stack installed, EasyEngine makes it simple to setup the WordPress site and framework, with a good variety of options for different installs. Single and Multi-Site options are available, as well as various caching options. For this install, I’m doing a Single Site with Ngix FastCGI Cache. This is accomplished via:

sudo ee site create --wpfc

WordPress Install

With WordPress installed, we also need to make sure we open the standard ports in the Firewall for web services, keeping in mind that our default is to block everything and allow what we want only.

sudo ufw allow 80
sudo ufw allow 443

At this point, if your domain is already pointed at the IP Address of your server, you should be able to use the address provided at the end of the install (wp-admin) to access your WordPress site and start configuring, if this is a new site. In my case, I’m installing in advance to minimize downtime, and WordPress won’t answer to an access via IP Address. I can however access http://server-ip and get a generic Ngix screen to confirm the server is online.

In the next article, I’ll be working through the process to backup and migrate to this new server, and bring it online fully! (and faster)

If you found this article helpful, try out DigitalOcean VPS Server for free for two months. Sign up through this link and receive $10 in free credit.

Scott Haner

Thanks for reading TechZerker! I’m Scott, a Canadian tech professional for over a decade with a wide range of experience. I created TechZerker as my own source to talk about a variety of tech subjects, from reviews of hardware I get my hands on, challenges I see in my tech work, gaming with focus on nostalgic gaming (games over 10-ish years old, but not Retro), and more recently my explorations in Linux and Linux gaming as a long time Windows Insider and fan. I am passionate about the tech I work and live with and enjoy a good, intelligent discussion on all these topics.