How to create WordPress in AWS

I’ve enjoyed the self challenge of creating a blog a week, especially for Blogtober. This will be my fifth blog. If you don’t know what Blogtober is, it’s a community driven challenge to produce five articles in the month of October. I’ve struggled with this last one. I don’t know if it’s the extra added pressure, or if it’s because I have a deadline. In all, it’s been fun to have the extra community help pushing me with a side of peer pressure. Some great content has been produced, and others have published more than the five articles required.

I enjoy expanding my boundaries and meeting challenges. I feel blogging has helped me meet more people, but also has helped me get real hands on experience with AWS. I started by taking the self passed classes by Before ever taking the class, I kept procrastinating on creating a blog. I didn’t know, with, the end project would be standing up a fully functional WordPress site.

I want others to expand their boundaries, but to gain the experience of working inside of some kind of cloud platform. The public cloud is not going away and it’s a new tool systems administrators should start experimenting with. My goal for this last #Blogtober blog will be to show others how to standup their own WordPress site.

Create an Account

Sometimes the hardest part turns out to be the easiest. In order to gain access to the one year free of AWS, you need to create an account. To get started all you need an email address, phone, and a credit card. I’m not going to show you how to do this step because it’s a simple process that follows other free sign ups. If you need extra help, here‘s a link to get you started. Here’s also the link to create you free AWS Account.

Getting Started with Identity and Access Management (IAM)

This topic is serious. An entire blog can be written on this topic and still not cover everything. I’m sorry to say, I will not be covering this area in much detail. My purpose is to help you get a blog up and running as quickly as possible. The one takeaway from IAM is configure Multi-Factor Authentication (MFA). That phone you used previously, make sure that’s your personal device and tie it to the root account. I use the Google Authenticator to get into my account. If you want to read about your options with MFA, read here.

If you build it they will come

Now that we have created our root account and have protected with two-factor, now let’s create that WordPress site. After you’ve logged in, AWS will dump into the services page. Go ahead and look around. There are a lot of services AWS provides. The one we want to focus in on is EC2 which is under the Compute Service.

Once in the EC2 Dashboard, click on the Launch Instance button. It’s hard to miss, it’s the big blue one in the middle.

When I was taking the class, they had us create the site entirely by hand. When you’re learning the fundamentals, this is a great way to learn new material. Not today. Speed is our focus. On the left hand side, under Quick Start, select AWS Marketplace. The AWS Marketplace is where you can sell or buy software that runs on AWS! If you look through the catalog there’s a lot being offered from well known vendors like Cisco, Splunk, and Palo Alto.

Search for WordPress. Look for the AMI that has “WordPress Certified by Bitnami“. Click on Select on the right.

Step 1: Choose an Amazon Machine Instance (AMI)
The charges associated with the AMI are if you go outside of the T2.micro instance. I found an article by Amazon that says if you’re on the free tier you will not be charged. When I stood up this AMI, I have not seen a charge to my account even though I had it up for less than hour. So, watch your charges after you stand up this AMI.

Scroll to the bottom and click Continue.

Step 2: Choose an Instance type
Please be sure to select t2.micro and it says Fee Tier Eligible. Click on Next: Configure Instance Details.

Step 3: Configure Instance Defaults
Keep all the defaults at this point. Click Next: Add Storage.

Step 4: Add Storage
Keep the storage default at 10GB and using a General Purpose SSD (GP2). Click Next: Add Tags.

Step 5: Add Tags
Put in a tag. I put in Name and WordPress demo for the Key:Value. Click Next: Configure Security Group.

Step 6: Configure Security Group
You can use other security groups if you have them, but I’m assuming you don’t. Plus, remember speed. Keep all the defaults. The biggest three items that need to be opened are ports 22 (SSH), 80 (HTTP), and 443 (HTTPS). Click Review and Launch

Step 7: Review Instance Launch
Review the instance and if everything looks good, click on Launch.

Select an existing key pay or create a new key pair
This last step creates a key value pair so you can SSH into your instance if needed. When you’re manually configuring AWS AMIs, this is always a last step. Make sure you keep track of your private keys! Click Launch Instances

Give you newly created instance a few minutes to initialize. It took mine about three minutes to go from Initializing to running. To view the instance click on Instances under Instances in the EC2 dashboard.

Once the image is running, find the public IP address. Highlight the instance and below in the Description tab you will see the public IP address AWS has given the instance. Open up a web browser and hit the IP. If all went well, you will see your new blog!

It is a default configured WordPress site. If you want to modify the look or add plugins you’ll need the admin account and password. If you go back to your AWS EC2 instances, highlight the instance, and select Actions>Instance Settings>Get System Log.

Scroll near the bottom and look for the text that says:
#   Setting Bitnami Application password to ‘1234ABCD’ #
This is the password to get admin rights into the WordPress site.


Go to http:\\public-ip\admin. Put in user and the password from above.

Final Thoughts

Once the site is up and running, you might want to go out and register a domain name. No one wants to type in a public IP address. Once you have registered and pointed DNS to your public IP, you can now start producing content and join with community. See you at next year’s #Blogtober.

Leave a Reply

Your email address will not be published. Required fields are marked *