Ghost aims to be what WordPress used to be, “just a blogging platform” that lets anyone get published without fuss. Except that at the moment, Ghost can be very complicated to install.
We’ve briefly touched upon Ghost in our past roundup of lightweight, flat CMS’s. In this article, the spotlight’s on Ghost. You’ll learn more about its features and your options for self-hosting Ghost. We’ll also show you how to install it without writing any piece of code.
Here’s a bit of a history lesson. (You can skip this part and scroll down if you’d like to go straight to installing).
It’s no accident that WordPress often gets mentioned in the same breath (or page) as Ghost. Its founder John O'Nolan was deputy head of the WordPress UI Group from 2009 to 2011, and has worked with WordPress far longer than that. However, at some point he realized that WordPress has become too complicated for simple publishing. It has “too many options, too many settings, too many things which you have an unnecessary level of control over in the administrative user interface…[t]hings that many people have never even used,” he said.
So he came up with an idea for a lightweight, stripped-down alternative, which he described as “a WordPress-lite fork”. Originally this meant Ghost would run on top of WordPress, but O’Nolan and his team realized that this would not help him achieve his vision.
To turn his idea into reality, he put up a Kickstarter campaign in late April 2013, which raised £196,362 (more than US$300,000) in just 30 days, far exceeding the initial target of £25,000. This enthusiastic response helped the Ghost project advance. With Hannah Wolfe, O’Nolan set up Ghost Foundation, a non-profit organization that oversees Ghost’s development as an open source software, with the help of many volunteers. Less than a year after its official launch in October 2013, Ghost is now version 0.5, and O’Nolan aims to get to version 1.0 before 2014 ends.
Now we’ve got the background history out of the way, let’s take a closer look at what Ghost has to offer.
Ghost has been deemed as a serious challenger to WordPress’ dominance. In such a short time, Ghost has gained fans among bloggers, developers, and other users for several reasons. It combines sensible use of minimalist aesthetics with speedy performance and enough flexibility, thanks to its lean software build and choice of technology.
Beautiful UI - One thing that would immediately strike you is how simple, clean, and elegant the interface of Ghost is. It’s designed to be clutter-free so users could focus on writing and publishing a blog post right away.
Themable - Users can choose from many lovely themes, either paid or free, and customize them as well. Designers can also sell their Ghost themes on Ghost Marketplace and other marketplaces such as Envato Themeforest or CreativeMarket. Ghost uses Handlebars.js for templating.
Markdown support –This feature is among users’ favorites. Markdown is a convenient way to write HTML in your blog posts. Instead of writing clunky HTML markup, Markdown lets you type more naturally by using simple notation that gets converted automatically into HTML.
Split View Post Editor –This is one of the things that make Ghost intuitive and user-friendly. You can compose or edit your blog post on the left panel and see how it looks live on the right panel of the screen. The right panel shows the converted Markdown syntax as you type on the left.
Lean and fast –Ghosttookaway the non-essential stuff that may add to bloat. It has no built-in commenting system, for example. You can add the Disqus commenting app to add this feature, but if you don’t want one, that’s fine.
Blog Analytics – This is not yet available, but it’s in the works. As per O’Nolan’s concept, this should look really pretty.
Ghost(Pro) or Ghost.org?
When you go to Ghost’s homepage, you’ll be greeted by a bare landing page that asks you to sign up and try out Ghost. Once you’ve signed up, you’ll be given two options: have your blog hosted on Ghost(Pro) or set it up yourself (Ghost.org).
Ghost.org is the open-source software that anyone can download for free and self-host. Ghost(Pro) is the paid hosted version ala-WordPress.com, with four different price tiers (starting at $10/mo for 1 personal site). However, unlike WordPress.com which has a free tier, Ghost(Pro) only offers a 14-day free trial.
Getting started on the hosted version is pretty fast and straightforward, and is best for absolute non-technical users. We explore the self-hosted option in this article.
Ghost can be downloaded on this page. To self-host, you must have a server that supports the latest stable version of Node.js (currently version 0.10.x).
Ghost can be installed on the following kinds of hosting:
- VPS hosting - Examples: MyHosting, InmotionHosting, SolarVPS
- Cloud hosting - Examples: Codero, Steadfast
- Shared hosting with Node.js, or with SSH/terminal access so you can install Node.js – Examples: iPage, InmotionHosting, JustHost
You can install Ghost locally in your computer for testing purposes and then push it live to your web server. Either way, your system must have Node.js (ideally Node.js 0.10.30 & npm 1.4.21) to make Ghost work.
Tip: Installing software manually can be such a chore, so to make this task easier, you can use one-click installer packages like Bitnami. This would install Node.js, Ghost, and all the other prerequisites on your computer for you. Bitnami also has auto-installers for deploying Ghost on virtual machines and in the cloud (via Amazon EC2, also supports Microsoft Azure).
Drawback of Self-Hosting Ghost
In the beginning, Ghost could only be deployed on VPS, dedicated, or cloud servers. Many shared hosting environments are optimized for running PHP and do not yet support Node.js, which is quite new web technology. Self-hosted Ghost requires some technical knowhow and plenty of tinkering around, even if hosting providers have greatly simplified its deployment.
This is one big obstacle towards the wider adoption of this excellent blogging platform and goes against Ghost’s mission to make blogging as easy and painless as possible.
Fortunately this is changing, as more and more web hosts and related services are adding support for Node.js and Ghost. For example, Softaculous, a one-click autoinstaller program used by many shared web hosts, already includes Ghost in its collection of scripts. We will use this method to install a demo Ghost blog without touching code.
Installing Ghost on a Shared Host using Softaculous
We use Softaculous in this example because it comes bundled within the control panel provided by many top hosts. It also now supports Ghost, and you can see Ghost listed among available scripts you could install.
1) Log in to your Cpanel and find Softaculous.
2) Select Ghost, click install, and wait for the process to complete.
3) You will get confirmation of a successful install. Click the link for administering your Ghost blog. You should get this form:
4) Fill out the form and submit. You’ll be taken to this welcome page (which is really the 2-panel editor):
That’s it! Congratulations on your new Ghost blog. That was easy, wasn’t it?
Adding a Cover Image and Logo
Your Ghost blog looks like this on the default theme Casper. Let’s spice this up a bit. The latest Casper theme now supports full-size cover images, so we’ll add one.
1) To add an image, go to Settings:
2) Upload images for your Blog Cover and Logo, too, if you wish. Hit “Save” (located at the top right). Now your plain looking-blog just got more colorful.
Adding and Changing Themes
Of course, you’re not limited to the default theme. You can change how your blog looks by adding themes. You can find high-quality paid and free Ghost themes by going to the Ghost Marketplace or by searching online. At this point Ghost doesn’t have a feature that lets you download and install themes from within your user dashboard (it may come in future releases). You’d have to do this manually.
1) Once you picked and downloaded the Ghost theme you’d like to use, go back to your Cpanel and navigate to your Ghost file directory. Ghost themes are located at: (../content/themes/).
2) Upload and extract your new theme/s to the themes folder.
3) Restart your blog. To do this, go to your Softaculous installation and click the edit icon.
4) On the next page, scroll down to “Node.js Service” and select “Restart” from the dropdown. Save your changes. (Note that your changes might not take effect immediately. Be patient.)
5) Go back to your blog Settings and refresh the page. You should see your new installed themes from the dropdown:
Ghost can become truly the choice platform for blogging if installing it becomes less difficult or tedious especially for beginners. We’re looking forward to future versions as well as full support by web hosts across the board. We hope you liked our quick tutorial for getting started with Ghost really fast and easy!