The Switch to Ghost (from WordPress)

Ghost - The Open Source Blogging Platform

Ghost is fun.

If you don't know, Ghost is a great, minimalistic blogging platform that's super fast, built on really modern web development technologies, and uses Markdown and a split-screen editor to show you what your post looks like while you write it.

Recently, I made the choice to move this blog from WordPress on a shared server from Midphase, to a self-hosted install of Ghost on DigitalOcean.

The process itself was pretty easy and quick, and it looked like this:

  1. Sign up for DigitalOcean. Got a referral link from a friend of mine, and if you'd like $10 in credits with DO, you can use mine too!
  2. Create a Droplet. I chose to use the one-click install, as it creates an Ubuntu install and also installs and pre-configures Ghost.
  3. Install the WordPress to Ghost plugin on my WordPress install. This allows you to spit out all of your pages and posts into a handy-dandy .json file that you can import into Ghost.
  4. Import content into Ghost. This brought in all of my posts and pages. I had to fix the URLs of images, as it was still using the images from the old server.
  5. Configure nginx and ghost config.js. Had to SSH into my Droplet and configure a couple of files with nano.
  6. Add my domain to DigitalOcean. Adding the domain creates a zone file, and I pointed my A records on CloudFlare to the IP address in the zone file.
  7. Restart Ghost. service ghost restart and voila!

In case it wasn't that obvious, this is not for those who aren't willing to get their hands dirty, read a lot of documentation, and mess with server consoles and SSH sessions.

That said, I've never had such an easy experience creating a VPS before, and getting my blog up and running on a new platform and completing the migration all within a few hours on the weekend? Insanity.

If you have any questions about getting up and running with Ghost, feel free to reach out to me on Twitter, I'm happy to help where I can!