NuncaMind

Setting Up Octopress or: How I Learned to Stop Worrying and Love Static Blogging

Earlier this year, I hosted a site using Squarespace. It was a temporary measure designed to display some of my academic projects and my C.V. as I searched for a job. Squarespace did pretty much exactly what it promised, which is to provide its customers with the ability to create a website without needing any coding abilities. The interface was actually a little bit harder to use than I thought it would be, as advertisements had led me to believe that it was insanely simple. I guess it’s hard to provide all of the options I want into a GUI that anyone can understand.

Well, now I’ve acquired a job (and graduated!), so there is no more need for my website. But I decided that I’d like to improve my web development skills, and elected to host a static blog after hearing Marco Arment and Brent Simmons gush about them. I also want to take this opportunity to try writing about technology, and hopefully leave some useful breadcrumbs for others as I stumble through this process.

After reading Matt Gemmel’s post, I elected to give Octopress a try. It’s an open source static blogging engine with a lot of functionality and social network support. So, without further ado, here’s how I set it up.

  • Install Octopress using the provided instructions, which are very easy to use and quite robust. These steps create a directory on your machine that will be your environment for editing, creating, and submitting posts. If you’re too lazy to follow the link, here’s the barebones commands to copy and paste.
1
2
3
4
5
6
7
8
9
10
rvm install 1.9.2 && rvm use 1.9.2

git clone git://github.com/imathis/octopress.git octopress
cd octopress    # If you use RVM, You'll be asked if you trust the .rvmrc file (say yes).
ruby --version  # Should report Ruby 1.9.2

gem install bundler
bundle install

rake install
  • After installing Octopress, select a method of hosting. For my first attempt I chose to use GitHub as a free hosting solution. GitHub is a wonderful community, and providing this feature along with free repository support is pure extra credit. To setup using GitHub, go to the Octopress documentation and use their GitHub-specific solutions. Again, for the lazy:
1
2
3
4
5
6
7
8
rake setup_github_pages

rake generate
rake deploy

git add .
git commit -m 'your message'
git push origin source

Sidenote: I have since elected to pay for a dedicated VPS, and NuncaMind is now hosted on Linode. I have no complaints against GitHub; I just wanted to try hosting my own server.

  • If you want to host the site on a custom domain, use GitHub’s tutorial to setup the domain name record appropriately, as well as inform the GitHub repository as to what that domain name is. Read all of the custom domain instructions on that site, DNS can be a tricky beast. It doesn’t help that any changes to DNS can take up to 48 hours to propogate, so troubleshooting is more of a blind guessing game than anything else. (I now understand why Marco Arment is always bitching about DNS)

  • After setting up the custom domain, perform the intial configuration for the site. You are now ready to start writing/importing posts.

  • I ported over my Squarespace posts manually, again using documentation provided by Octopress, and with a simple

1
2
rake generate
rake deploy

I was up and running!

This concludes Part 1 of the setting up of NuncaMind. Coming soon I will discuss the more complicated task of setting up a dedicated server and hosting the site myself.