WordPress is a free, open-source tool for creating websites and blogs, but it does not work well with Heroku, which is not designed for standard web hosting. Luckily, AWS is a great low-cost option, but you will have to do a lot of the setup yourself. There are a few things to look out for when doing so, especially if you want to enable using HTTPS on WordPress with an SSL certificate.
Our team wanted to use to create a website after Peidi had a good experience making his personal webpage (https://peidiwu.com/). We looked into many options, but our domain hosting on NameCheap and usage of Heroku did not allow standard WordPress domain management. Namecheap’s own option EasyWP had issues because it requires that your entire domain be pointed at this WordPress. I knew that WordPress is open source, so it should be compatible with any serving platform. This is where AWS came into play.
We had started using AWS to host files like photo caches and static maps because they are not compatible with the ephemeral nature of Heroku. AWS has a free tier, which is easy to set up. However, it has a lot of features and can be a bit complicated to navigate. Fortunately, it has an easy tutorial on how to set up WordPress with Bitnami. Check it out here: https://aws.amazon.com/getting-started/tutorials/launch-a-wordpress-website/.
If you follow the tutorial above exactly, you will get a basic setup, but you will miss out on some important features like HTTPS with SSL certification!
- In Step 2f of the Tutorial – DO NOT ‘Proceed without a key pair’. Instead, create a key pair (any should do) and use that key. You will need to access your EC2 instance later to set up HTTPS and modify your WordPress setup—this key allows you to do so.
- DO NOT go on to the next page (connecting it with your domain name). Instead you should follow this tutorial: https://docs.bitnami.com/aws/how-to/configure-elb-ssl-aws/
- If you use NameCheap, to point a subdomain to your AWS:
- Go to “Dashboard”
- Find your Domain and Click “MANAGE”
- Go to “Advanced DNS”
- Click “ADD NEW RECORD”. You should see input fields like in the screenshot below:
- Under “Type”, select “CNAME Record”
- Under “Host”, type your preferred subdomain name
- Under “Value”, paste the AWS DNS name you obtained in Step 3 of the Bitnami load balancer tutorial from tip 2
Congrats, you should now have your WordPress set up with HTTPS using AWS’s SSL certificate! As Amazon’s tutorial notes, this setup is not intended for use by larger websites, but should work well at lower scale—and it’s cheaper than WordPress premium accounts. WordPress allows for highly customizable sites just like ours, https://www.trapezemobile.com, so go download some plugins and start blogging!