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.
- Create a user that Ghost's node.js process would run as.
sudo adduser ghost
- 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.
- Install grunt
sudo npm install -g grunt-cli
- Switch to the ghost user
sudo su ghost
- Use rvm to install Ruby 1.9.3
curl -sSL https://get.rvm.io | bash -s stable --ruby=1.9.3
- Install the bundler gem
gem install bundler
- Clone the git repo
git clone https://github.com/TryGhost/Ghost.git
- 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
- Use bundler to pull the project's ruby dependencies
bundler install
- Use npm to pull the project's node dependencies
npm install
- Compile Ghost's assets
grunt init
- Modify the default config as necessary
vim config.js
- Run it
npm start
- The node.js instance will begin listening on http://localhost:2368, you'll need configure your preferred webserver provide a reverse proxy to this.
- 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.