Setting up Ghost on DigitalOcean

I decided to follow Mark Rendle's lead and host this blog with Ghost.

Ghost is fantastic, free software, and although they provide web hosting (aka Ghost(PRO)) for $10/month, I thought it would be nice to host it myself, and hopefully save some money.

I'd heard about DigitalOcean before (though can't remember where), and it's surprisingly cheap - I couldn't find another Linux machine for $5/month!

Getting started

First, I signed up with DigitalOcean, entered my payment details, then started to create a new Droplet (aka VM).

I chose the pre-baked image with Ghost installed, fired it up and after a bit more than the trumpeted 55 seconds, my blog was up.

Going by IP address, the vanilla public blog was there, and navigating to /ghost I was able to enter my admin details and log in.

Extra config

In order to change the URL that Ghost thought it was hosted at (and hence affecting all absolute URLs), I needed to log in to the Droplet and edit the config.

DigitalOcean's console looked nice, but I immediately struggled to paste in the root password. At that point, I switched to PuTTY, and after changing the root password, I was in.

After learning that Ghost lives at /var/www/ghost, we were all over it:

cd /var/www/root
nano config.js
... changed the production URL ... 

Boom.

DNS

The final step to get a true working blog was to point a domain name to it. I added an A record, as you can see:

DNS record