Launch Ghost With Rackspace Deployments


Deployments

After a successful Kickstarter campaign with over 5,000 backers raising over $300,000, the team over at Ghost announced today the public availability of their much anticipated new blogging platform.

I have personally been following this project from the beginning because of the principles Ghost was born out of: simple, elegent, open source design. The Node.js based blogging platform touts itself as “just a simple blogging platform”, but everything about its design is focused on writing - nothing more, nothing less. Posts are written in Markdown with a split screen showing a live preview on the right. Adding an image? Just add the Markdown syntax for an image and suddenly a drag-and-drop image box appears in the preview screen ready for you to upload your image! The whole system makes writing blog posts fast and easy and lets you quickly get back to doing something other than yelling at the internet.

Great, I must have it!

Whoa, slow down there tiger. The only part of Ghost that isn’t easy for most people is installation and configuration. Like most CMS’s Ghost requires a database backend (it currently supports both Postgres and MySQL). In addition, you have to install Node.js and run some npm commands and modify a config.js file to get everything setup. Finally, if you want things to run really well, you need to setup Nginx in front of Ghost to do caching, SSL termination and proxy back to Ghost. This can be tedious. Wouldn’t it be nice if you could just click a few buttons and someone would do it for you?

We thought so too, and with the help of John O’Nolan and Hannah Wolfe over at Ghost, we put together a Rackspace Deployment to do all of this for you with just a couple of clicks. Here’s how:

Sign In to https://mycloud.rackspace.com and click the “Deployments” tab:

Deployments Tab

Click “Create Deployment”:

Create Deployment

Choose a Deployment name and region at the top and Select “Ghost” from the list:

Select Ghost

Under “Ghost Options”, enter your blog’s domain name and choose if you want HTTP or HTTPS:

Ghost Options

Click “Next Step” and choose the server size you would like:

Server Options

Click “Create Deployment” and you are done! Just sit back and wait for everything to build.

Once your deployment is finished, you can add a DNS record for your domain to point to the server that was created for you, or just browse to the IP address of the server to get started using Ghost.

When you browse to your Ghost deployment, you should be greeted with a simple page with a sample post:

Ghost Welcome

Before we can do anything though, we need to add a user. Navigate to /ghost/signup and you will be prompted for some info in order to create the Admin user. Ghost currently only supports one user at this time. After filling out this info, you will be redirected to the admin panel where you can start customizing your blog and adding new posts.

To start, let’s add a new test post. Click on “New Post” at the top left, this will take you to the post editor, and the beauty of Ghost. Add a post title and start typing out your post in Markdown - notice that the right side of the screen shows a live preview as you type! Also, notice the drag-and-drop image box in the preview pane as well:

Ghost Editor

Once you are finished, click the arrow next to “Save Draft” in the bottom right and select “Publish Now”. That’s it! You now have a new blog post!

It should be noted that Ghost is still in heavy development and that this is their first public release. There are probably bugs, and they have a ton more features promised that have not been developed yet. However, this release puts them off to a great start at making something that makes simple blogging simple for everyone.

About the Author

Ryan Walker is a DevOps Engineer at Rackspace working on the Deployments team. You can follow him on twitter @theryanwalker and on Github as ryandub.

©2014 Rackspace, US Inc. About Rackspace | Fanatical Support® | Hosting Solutions | Investors | Careers | Privacy Statement | Website Terms | Trademarks | Sitemap