Hosting WordPress on AWS(How I Created this Site)

As a very first blog post, I thought the best thing to discuss is how I built this site in the first place. I am new to AWS and cloud in general, but I found this project to be a great, straightforward introduction.

Creating an EC2 Instance

The first step I tackled when building this blog was to create an EC2 instance on AWS. To those that are new to AWS, an EC2 is a virtual server. There is a wide selection of EC2’s to choose from varying in performance and cost. For this site, I chose to take advantage of the “free trial” Amazon offers to new users for certain instance types and went with a t2.micro instance.

  1. From the AWS Management Console homepage select “Launch a virtual machine with EC2”

2. Select the AWS Marketplace tab on the left. Search for WordPress and select WordPress Certified by Bitnami and Automatic.

3. Hit next until you reach the “Choose an instance type page”, Select t2.micro and press “Review and Launch”

4. Press Next once more and choose to create a new key pair, name it whatever you’d like, download it, and press “Launch Instances”. Downloading this key pair will allow you to SSH into your instance. For guidance on connecting to your instance via SSH reference this article. //www2.linuxacademy.com/howtoguides/17385-use-putty-to-access-ec2-linux-instances-via-ssh-from-windows/

5. You have now created an EC2 instance! Press view instances and wait for your server to spin up. This may take a few minutes. You will see your instance in a running status when it is fully booted.

Assigning EC2 a Static IP

To get a domain name to resolve to our EC2 instance, we will need to assign it a static IP address. This can be done using an Elastic IP in AWS.

  1. To generate an elastic IP, select “Elastic IP’s” under the “Network & Security” section of the dashboard.

2.Press the “Allocate new address” button at the top of the page and then press the “Allocate” button in the next window.

3. You have successfully generated an elastic IP address to bind to your word press instance. To do this select the checkbox next to the new IP, select the “Actions” drop-down and then select “Associate address”

4. In the next screen your instance should be selected by default unless you have multiple instances created. Ensure your instance ID matches that of your WordPress instance and select “Associate”.

5. After a few minutes, your instance should now be bound to the elastic IP you generated. To test this simply paste the elastic IP into your browser. You have done everything correctly so far if your WordPress site loads up.

Assigning a Domain Name

The last step of the process is to purchase a domain name and assign it your blog.

  1. There are many different domain providers out there. I chose Google Domains because of its ease of use https://domains.google/#/domains-header . Once you have decided on a domain name. check on its availability by searching for it on the Google Domains home page. You will be presented with a list of domains with different extensions (.com, .net, .info, etc.), their price per year and whether they are available or not.

2. Once you have decided on a domain add it to your cart and complete the check out process.

3. After you have successfully purchased your domain you will now have access to a “my domains” section of Google domains. From this page select “MANAGE” next to the listing of the domain you purchased to begin its configuration.

4. Select “DNS” from the menu on the left of the page.

5. Once at the DNS menu scroll down to the very bottom of the page and locate the “Custom resource records”. From here located the @ type A record and select “EDIT” next to it.

6. From here paste the elastic IP generated in the last step to the Data field and press “SAVE”.

7. You should now have successfully associated the domain you purchased to your Word Press instance’s public facing IP address. Wait up to 30 minutes for Googles domain records to update and then type your domain into your browser. If your word press instance loads up, Congratulations!

Accessing the WordPress Admin Console

Now that your WordPress instance has its very own domain name you will need to be able to access its Admin console to customize the site and write posts.

1. To access the admin console. add a /admin to the end of your blogs URL. This site for example would be willhmckinley.com/admin. You should then be prompted with a WordPress login.

2. The default username is “user”. To locate the password, navigate back to the AWS Console “Instances” menu.

3. With your instance select the “Actions” drop down and select “Get System Log” under the “Instance Settings”.

4. You should now be presented with a long log with green text. Scroll down to the bottom until you locate a line reading” Setting Bitnami application password to ….” Securely take not of this password.

5. Finally navigate back to the WordPress admin console and login using “user” as the username and the password you just located.