Setting Up A Ghost Blog on Amazon Web Services (AWS)

tutorial Mar 10, 2019

In this post I will share how I set up this blog using the Amazon Web Services (AWS) Free Tier. I chose Ghost because I like that its interface is simple and clean. Very conducive to writing, which is what keeping a blog is all about!

I've had my fair share of Wordpress websites, and I don't like how I have to rely on a myriad of plugins to keep it running smoothly.

Ghost also is built on NodeJS so if I ever I wanted to look at its internals, it will be interesting for me from an educational standpoint.

Before we begin, if you don't have an AWS account yet, go to the AWS website and register a new account. Once you're signed in, you can follow along this tutorial.

How to Set Up A Ghost Blog on AWS

  • Look for the Ghost Certified by Bitnami image on the AWS Marketplace. Click the Continue to Subscribe button at the top right.
  • Click Continue to Configuration to configure the installation of the image on your account.
  • On the configuration page, most of the default options can be kept, but ensure that you select the correct AWS region for your blog. Click Continue to Launch.
  • Keep the default options, "Launch from Website" and EC2 Instance as "t3.small".
  • Scroll down further to see the other options. For the Security Group Settings, click on Create New Based on Seller Settings. Bitnami needs certain ports open, and this button will generate the correct settings for you. I've named the Security Group after the image name "Ghost Certified by Bitnami". Click Save to proceed.
  • We will need to create a security key for accessing the instance that will be launched. On the Launch page under Key Pair Settings, click on the link Create a key pair in EC2. This will open up a new window to EC2.
  • Click on the Create Key Pair button at the top.
  • Choose a name for the key pair. Make sure to save the private key (.pem file) in a safe place as this can never be retrieved again!
  • Click the little refresh icon next to the dropdown box in the Key Pair Settings. The new key pair should show up in the options. Select the correct key pair, and click  Launch.

Congratulations! Your Ghost instance has been created on EC2. Click on the Usage Instructions button to read up on how to access your Ghost blog.

Logging On To The Ghost Admin Panel

On the EC2 Console, go to Instances to view your newly created Ghost instance. Wait for the setup to finish (all Status Checks should be complete.) Take this time to rename the instance to "Ghost Blog" or something more meaningful. Once setup has finished, right click the instance and go to Instance Settings > Get System Log to find the administrator password.

The password is available on the System Log only for 24 hours, so it's recommended that you do this as soon as the instance is ready. Scroll down the log to find the randomly-generated password and take note of it. (See the Bitnami docs for more information.)

To access your site, copy the IPv4 Public IP address of your instance and navigate to it. You should now be able to see your Ghost blog with the default theme and starter posts.

Go to the admin portal by appending "/admin" or "/ghost" to your blog's IP address. Enter the default username [email protected] and the password from the System Log.

And you're in! Don't forget to change your password!

You can also change your blog name, blog description, and upload your own blog header. You can delete the starter posts by deleting the Ghost user on the Users page.

I hope this tutorial has helped you to set up a Ghost blog on AWS. Next time, I will talk about how to connect a domain name to your blog.

If you've seen a mistake, or if you got confused and weren't able to follow along completely, please let me know in the comments!

unsplash-logoDaniel Eledut

Kristina Alberto

Software engineer from Sydney. I work at Domain Group.