Quantcast
Channel: Planet Ubuntu
Viewing all articles
Browse latest Browse all 12025

Benjamin Rubin: Blogging with Ghost

$
0
0

So, I thought I'd give this blog thing a try again.

I'm not using wordpress this time around though. Instead, I'm giving Ghost (via github) try.

Since this wasn't going to be used for critical things, I opted to follow their developer-centric instructions. This allows me to pull down updates on the fly, instead of waiting for them to publish a new release. Even so, setup was still a breeze.

I deviated from their instructions a little, so for the record (and as an excuse to write something) I will document the procedure here.

  1. Create a user that Ghost's node.js process would run as.
    • sudo adduser ghost
  2. Install nodejs
    • sudo apt-get install nodejs
      • My linode is running 13.04, so I needed to find a PPA that could provide node.js 0.10.x. Since vetting PPAs is not something I want to do here, I'll leave it as an exercise for the reader.
  3. Install grunt
    • sudo npm install -g grunt-cli
  4. Switch to the ghost user
    • sudo su ghost
  5. Use rvm to install Ruby 1.9.3
    • curl -sSL https://get.rvm.io | bash -s stable --ruby=1.9.3
  6. Install the bundler gem
    • gem install bundler
  7. Clone the git repo
    • git clone https://github.com/TryGhost/Ghost.git
  8. Drop into the newly cloned repo and pull down their linked submodules (this includes things like their default theme, which they track in a separate github repo)
    • cd Ghost && git submodule update --init
  9. Use bundler to pull the project's ruby dependencies
    • bundler install
  10. Use npm to pull the project's node dependencies
    • npm install
  11. Compile Ghost's assets
    • grunt init
  12. Modify the default config as necessary
    • vim config.js
  13. Run it
    • npm start
  14. The node.js instance will begin listening on http://localhost:2368, you'll need configure your preferred webserver provide a reverse proxy to this.
  15. You'll also likely want to keep npm running by setting it up as a service. Since there are a few options on how to do that I'll just point to the official docs here.

Viewing all articles
Browse latest Browse all 12025

Trending Articles