Or "How to set up a Ghost blog running on AWS with domain hosting elsewhere."


"I already know how to use Wordpress for blogs," I thought. "It's super easy. This is infosec, I want to impress people. I'll try this one that I can install from command line! I need to get back in practice anyway."

Easy, right? Technically yes. In action, much swearing happened. I decided that once I got things up and running I would write a straightforward guide on how I did it in hopes of saving someone else a little trouble. Caveat: I am out of practice on most technical things, so I made some silly errors.

A note: I'm working on a Windows machine. If you're using a different OS, YMMV.

Step 1: RTFM

Ghost is marvelous. If you want to run it yourself, they straight up walk you through how to do it. Go to Ghost.org, click on "Pricing", and the left-most column says "Read the docs". Ignore the claims of server costs and click that. Read through things, but don't try to eat the entire elephant right now. We're going a bit at a time. What you're looking for at the moment is under "Hosting" (left menu bar): the recommended stack information. Keep this up in a browser tab.

Step 2: Find a host, aka "where do I put this thing, anyway?"

You need server space. It's out there, cheap or even free. I chose to go with Amazon Web Services, or AWS because at the time I did mine they had a lovely deal that was free for the first year for the smallest size.

From the AWS page I linked, go to "Products" and you will be met with more options than I can identify. Ignore most of them. On the left side under "Compute" there's an option for Amazon EC2. Not the auto-scaling one, just plain old Amazon EC2.

On this page, I found an option to "Try Amazon EC2 for free" -- yes, please! That fits my nonexistent budget nicely. If this is still there (since I don't know when you're reading this; as of this writing, it's there) select it and create a free account.

Once you've done that, you should be at a console that has a "Services" menu at the top. Open that, look under "Compute", and select "EC2". You should now be at yet another console.

Here you want to find the big blue button at the top that says "Launch Instance". Click the big blue button.

You should now see a list of image options. Scroll down until you see the one that matches the Ghost recommended stack (currently Ubuntu 16.04); select that one. Go through the setup steps; I used the defaults.

I'm afraid my memory is fuzzy on the next step, but you should now have a running instance on your EC2 console.

Next steps in Part 2, and some prep -- go look up good SSH clients and download one. I like PuTTY, personally.