Step By Step WordPress Installation With Free SSL in 5 Minutes

Seriously, I wish someone told me about this earlier. I’ve spent hours bashing my head in while logged into Putty installing LAMP servers, setting up SQL databases, writing down database passwords, and just suffering through the pain of poorly documented VPS hosting forums. And after installation, I have to suffer through Certbot’s finicky requirements, Cronjobs, and the ensuing SSL errors.

I know, I signed up for this. I’m a Sysadmin, it’s what I signed up for right? Sure, I’m a bit of a masochist – most sysadmins are – but there has to be an easier way right? Well, yes, in fact, there is. I’m going to show you my workflow to install WordPress on a VPN server in less than 5 minutes. And yes, I know, that the “whole 5 minute” thing is overhyped and overdone…. But it literally only takes 5 minutes.

Step 1: Purchase a VPS server that has at least 1 GIG of RAM, has Ubuntu 18.04 LTS

The script I use requires Docker, and Docker requires at minimum (at least in this instance) 1 gig of RAM. Anything less and you’re gonna run into errors. The script can use Ubuntu 16.04 and other Debian flavors, but I’ve run into errors with the other operating systems. Don’t fix what’s not broke right?

Step 2: Forward Your DNS to the Server IP of the VPS

It takes a few minutes for DNS to propagate, and LetsEncrypt is notoriously slow, so better do this first.

Step 3: Login as Root to your VPS

Step 4: Copy and Paste This Into Putty and Execute

sudo apt update
wget -qO ee rt.cx/ee4  && sudo bash ee

Okay, so I guess I should explain what this is doing right? Well that code will download the latest version of Easy Engine. Easy Engine is an open source script that automatically installs docker and all of the necessary software for WordPress. It’s going to take about a minute to complete, so go take a break, grab a coffee, and stretch your legs.

Step 4: Copy and Paste This Into Putty and Execute

You need to replace “servername.com” with your FQDN (your domain that you pointed to the server)

ee site create servername.com --type=wp --ssl=le

This will take about 2 minutes to complete after the script completes you should see something that resembles this:

Now if you don’t see this ^^^^, that means something screwed up. Most likely, your domain name has not yet resolved to your IP and the SSL verification failed. Wait 10 minutes and retry the commands from step 4.

If you DO see the above image, congrats you have successfully installed WordPress with lets Encrypt SSL installed, with a CRONJOB. It’s set and forget now.

You see the two circles above in blue? That’s very important information. Open up a browser and go to your server address “servername.com” or whatever yours is. WordPress is going to ask you for your login information. The two blue circles is what you need to fill into the login.

Congrats, You Did It. You’re Now A Server Admin. Welcome to the Promised Land.

This is just a quick tutorial on how to use the Easy Engine Script. I seriously can’t thank that team enough for their efforts. It’s awesome because it just works, and it’s fast. There’s quite a bit more info under the hood on their website that you can dig into too. I just wanted to toss my two cents into the well here.