Amazon Web Services

Setting up a WordPress site on AWS

So this is my first post. I thought it would be fitting for it to be about my experience setting up this site.

I have wanted to set up a blog a site for years. There are two main reasons. The first is to have a place to keep my resume. Not just a static resume, but a living document that I keep up to date. The second is to have a place where I can keep my personal notes and experiences. As a senior software developer and architect, I have learned and used many frameworks, programming languages, tools and concepts. Many of these I have not used in years, but want to be able to relearn and remember quickly.

I searched the internet for the best hosting site and platform for a personal blog, focused on software development, and inexpensive. After reading about a few, I decided to go with Amazon Web Services (AWS) and WordPress.

I selected AWS because I am a software developer and would like to showcase dynamic content on this blog, and not just static pages. With all of the different features available (S3, EC2, databases, machine learning, etc.), my options are unlimited. Not to mention that over 40% of the internet runs on AWS!

I selected WordPress because I wanted to start quickly. It is the most popular content management software for a reason, plus it is free. As this blog progresses, and I showcase more dynamic content, I might have to migrate to another platform. I will wait and see. Hopefully, I will be able to use WordPress for most things, and then link to external sights for others, or develop a plug-in.

Setting up WordPress on AWS

There are several options to to set up a WordPress sight on AWS. I found that the easiest and quickest was to use LightSail. This service allows you to quickly setup a VM with either a Linux or Windows OS, and then install any number of different software, including WordPress.

Instead of re-typing the steps I took, I will just link to the excellent LightSail documentation.

  1. Create a new instance of LightSail and deploy WordPress. This creates a Debian Linux VM and deploys WordPress.
  2. You can connect to the Linux VM using the browser based SSH client.
  3. You can get the WordPress admin password from the terminal by entering the following command: cat bitnami_application_password.
  4. Follow the Quick start guide.
    1. Set a static IP address. This is necessary if you will be using a registered domain name.
    2. Purchase a registered domain name. I used the AWS Route 53, but you are free to use any registrar you like.
    3. To use the registered domain name with LightSail, you have to setup a DNS zone. Pay special attention to step 4. This step explains how to transfer the DNS management from Route 53 to LightSail.
    4. The default LightSail WordPress web site installation uses unsecure http. Some modern browsers only allow navigation to sites that use secure https. To set this up, you will need to configure an encrypted SSL certificate.
  5. Review the Bitnami WordPress Stack For AWS Cloud
  6. Navigate to the WordPress Admin Dashboard and customize the site.
  7. Set up Google Analytics to track the site usage: https://www.wpbeginner.com/beginners-guide/how-to-install-google-analytics-in-wordpress
  8. The final step is to learn how to use WordPress.