Installing Ghost on a Digital Ocean Droplet

This post gives a step-by-step walkthrough of installing Ghost on a Digital Ocean Droplet

Digital Ocean Droplets

"DigitalOcean calls its virtual private servers Droplets; each Droplet that you spin up is a new VPS for your personal use."

The beauty of these Droplets is that whilst being cheap and easy to configure, they allow for proper ssh access to the root system.

This is a two edged sword. On one hand you can configure the system as you please, update it when you like, and essentially treat it like your own little server. On the other hand, system setup and maintenance falls to you. Not necessarily a bad thing, just not as simple as using a hosted solution.

Installing Ghost

Installing Ghost is actually very straightforward, with official documentation available here.

There are one or two finer points missing in the official docs due to updates, so documented for posterity.

  1. Create a Digital Ocean Account if needed https://www.digitalocean.com/, making sure you have a payment method set up. [0]

  2. When prompted, create a droplet

  3. On the choose an image screen select One-click apps

  4. Select Ghost 0.11.3 on (Ubuntu) 16.04

  5. Choose a size. The smallest droplet at $5 a month should suffice for the most part.

  6. Ignore block storage

  7. Choose your region.

    Pick where you think your audience is most likely coming from. If you are thinking you'll have a massive global audience one day, then look into CDNs to scale, rather than worrying too much about the DO datacentre region.

  8. Enable IPv6

    It doesn't cost any extra, but needs selecting. "Let's push things forward".

  9. Choose whether you want to add backups

    This comes at a 20% cost, so $1 a month on the smaller plan.

    Backups can be used as an image for future machines. Ideal if you want to scale from the small droplet.

  10. Add your ssh key

    Recommended. If you don't add an ssh key, then DO will email a root password to you.

  11. Double-check, finalise and create

    Give your host a name. This will be the name that appears in our console.

  12. Find your new system IP address from your console

  13. ssh into your new server

    This will trigger the ghost service to start.

  14. Secure mysql

    As prompted by the MOTD, secure mysql by running

    # mysql_secure_installation
    

    Follow the prompts, answering y to all prompts, and providing a new (secure) password

  15. Set up your Ghost admin user

    As prompted, point your browser at your http://{your_ip}/ghost/signup

    Create your initial Ghost admin user, and save the password

  16. Visit your blog

    "Please log into your droplet via SSH to configure your Ghost installation"

    Yeah, done that already.

  17. log in and out of your ssh session

    I had to log out of the ssh session and then back in to get past the above screen

  18. Visit your blog

    Better!

Things to note

  • The Ghost One-click app installs Ubuntu 64 bit. Considering that Ghost is not likely to be installed on anything much more than the smaller droplets it seems to run contrary to Digital Oceans own advice here

    32-bit vs. 64-bit Systems
    
    
    A 32-bit operating system is recommended for cloud servers with less than 3 GB of RAM -- this is especially true for servers with 1 GB, or less, of RAM. Processes can require significantly more memory on the 64-bit architecture. On servers with a limited amount of RAM, any performance benefits that one might gain from a 64-bit operating system would be diluted by having less memory available for buffers and caching.
    
  • http://do.co/le-lamp referenced in the MOTD does not resolve. I'll be documenting the addition of LetsEncrypt shortly. I've also let DO know, so it may well work for you.

[0]: referral link to https://www.digitalocean.com/?refcode=d8c1a52327fe