I’ve hosted myy blog on WordPress for years as it has given me an awesome service for free. I highly recommend it. However I found out the other day that it had been offline for a few months for being automatically flagged for violating their Terms and Conditions for some reason.

Well now is the time to start hosting myself! I’ve always wanted to try spinning up a meaningful Amazon instance – now is the perfect opportunity to do so.

SEO Boost and Page Speed

The speed that your page loads affects SEO rankings as it makes sense that a smoother user experience is better. After installing a free WordPress template and setting up CloudFront (discussed later) my website ranked 90/100 for page speed. I’m talking a few minutes work for an experienced installer.

Getting content from WordPress.com

If you need to export any content from an existing WordPress install, click Tools > Export. You should then be prompted to download a file with all of your Posts, Pages, Users.

Export from WordPress

Setting up AWS

I followed Amazon’s instructions for setting up a WordPress site

The instructions utilize Amazon’s AMI Marketplace which is a market place of Amazon Machine Images. These are recipes for building an environment with no effort – just a few configuration inputs. The AMI I used will create an Amazon EC2 instance.

SSH Connection

When connecting via SSH I received an error:

Permissions 0644 for ‘Mac.pem’ are too open

This was fixed with

chmod 400 mykey.pem

I then managed to SSH connect with:

ssh -i "/Users/seb/Downloads/Mac.pem" ubuntu@xxx.compute.amazonaws.com

 

Removing Bitnami Logo

Bitnami thought it would be a great idea to put their logo in the bottom right of your website. Even though no one in their right mind would ever have that logo sitting there.

I ran these commands to remove it

sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1

Then

sudo /opt/bitnami/ctlscript.sh restart apache

Route 53 DNS

I thought I’d give Amazon’s DNS a go too! So I forwarded my NameCheap name hosting to Amazon’s Route 53 service.

I changed my DNS to Custom DNS and pointed to the DNS settings that Route 53 gave me. In around 5 minutes I saw my AWS hosted web pages appear!

 

Transfer DNS

Transfer DNS

%CODE1%

Machine Hardening

The machine should be somewhat locked down when it is first created. If you check the Security Groups tab under the EC2 instance, you will see Amazon Firewall rules showing allowed inbound ports and IPs. I changed the allowed IP addresses to only allow my home machine. I Googled “show my public IP” and took that IP and added /32 to the end to comply to CIDR notation.

A final step would be to validate and customizing any security settings. I recommend Googling “Ubuntu Hardening” to find some guides that will walk you through hardening security on your machine as well as setting automatic security updates.

Video Walkthrough

Next Steps

Now that your EC2 instance is up and running, your next steps are to read up on the optional Amazon Web Application Firewall (WAF) architecture.

Please follow and like us: