Ghost is a free, open, simple blogging platform that's available to anyone who wants to use it. Lovingly created and maintained by John O'Nolan + Hannah Wolfe + an amazing group of contributors.
Visit the project's website at http://ghost.org • docs on http://support.ghost.org.
This is a basic quickstart to get Ghost running on OpenShift.
If you have already created an application with this, and are having issues with it not working when you do a restart, run this command, then issue a restart and it should be fixed.
rhc set-env NODE_ENV=production --app $appname
Where $appname is the name of your application. This was due to the pre_start_nodejs script not running on a restart.
The easiest way is to use the following command, make sure that you run 'gem update rhc' first so that you have the newest version:
rhc app create ghost nodejs-0.10 mysql-5.1 --env NODE_ENV=production --from-code https://github.com/openshift-quickstart/openshift-ghost-quickstart.git
'ghost' will be the name of your application.
Note these OpenShift specific changes:
- The content/data and content/images directories have been removed. They are created on the server and symlinked to your $OPENSHIFT_DATA_DIR so that posts and uploaded images will persist across 'git pushes'
- Even though the node.js cartridge itself is scalable, this application will not play nice with scaling right now because it is using sqlite3 as the database (which is a file store), and the images are stored on disk, and since OpenShift does not currently support shared physical disk storage across scaled gears, this cartridge will not scale. We are working on a solution for this.
- If you use a custom domain, modify the production url field in config.js file.
Want to report a bug, request a feature, contribute or translate Ghost? Check out our in-depth guide to Contributing to Ghost. We need all the help we can get! You can also join in with our community to keep up-to-date and meet other Ghosters.
There are two main ways to get started with Ghost, take care to use the method which best suits your needs.
Please note - the downloadable zip files we provide on Ghost.org are pre-built packages designed for getting started quickly. Cloning from the git repository requires you to install several dependencies and build the assets yourself.
If you just want to get a Ghost blog running in the fastest time possible, this method is for you.
For detailed instructions for various platforms visit the Ghost Installation Guide. If you get stuck, help is available on our support site.
- Install Node.js - Ghost requires Node v0.10.x
- Download the latest Ghost package from Ghost.org. If you cloned the GitHub repository you should follow the instructions for developers here.
- Create a new directory where you would like to run the code, and un-zip the package to that location.
- Fire up a Terminal, the Node Command Prompt or shell and change directory to the root of the Ghost application (where config.example.js and index.js are)
- run
npm install --production
to install the node dependencies. If you seeerror Error: ENOENT
on this step, make sure you are in the project directory and try again. - To start ghost, run
npm start
- Visit
http://localhost:2368/
in your web browser or go tohttp://localhost:2368/ghost
to log in
Check out the Documentation for more detailed instructions, or get in touch via the forum if you get stuck.
If you're a theme, app or core developer, or someone comfortable getting up and running from a git clone
, this method is for you.
If you clone the GitHub repository, you will need to build a number of assets using grunt.
Please do NOT use the master branch of Ghost in production. If you are using git to deploy to production, please use the latest release or the stable branch which contains the latest release.
npm install -g grunt-cli
npm install
grunt init
(andgrunt prod
if you want to run Ghost in production mode)npm start
Full instructions & troubleshooting tips can be found in the Contributing Guide under the heading "Working on Ghost Core".
Check out the Documentation for more detailed instructions, or get in touch via the forum if you get stuck.
If you want to use Ghost as a NPM module there is a Wiki entry where you can find instructions on how to get set up.
Upgrade instructions can be found on the Ghost Support Site
Once you have the Ghost server up and running, you should be able to navigate to http://localhost:2368/ghost/
from a web browser, where you will be prompted to register a new user. Once you have entered your desired credentials you will be automatically logged in to the admin area.
Keep track of Ghost development and Ghost community activity.
- Follow Ghost on Twitter, Facebook and Google+.
- Read and subscribe to the The Official Ghost Blog.
- Join in discussions on the Ghost Forum
- Chat with Ghost developers on IRC. We're on
irc.freenode.net
, in the#Ghost
channel. We have a public meeting every Tuesday at 5:30pm London time.
For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Ghost will be maintained according to the Semantic Versioning guidelines as much as possible.
Releases will be numbered with the following format:
<major>.<minor>.<patch>-<build>
Constructed with the following guidelines:
- A new major release indicates a large change where backwards compatibility is broken.
- A new minor release indicates a normal change that maintains backwards compatibility.
- A new patch release indicates a bugfix or small change which does not affect compatibility.
- A new build release indicates this is a pre-release of the version.
Copyright (c) 2013-2014 Ghost Foundation - Released under the MIT license.