How I Set Up My Blog

Today is 2005-11-06. My blog is jays.net

The Goal

I wanted a blog, I wanted to control it myself on my server, I wanted it to be as easy as possible to add entrties from the Linux command line, and I wanted it to be RSS compatible so I'd be one of the cool kids. I figure if Google's customized homepages can read it and my Mac OS X client "Feed" can read it then that's good enough.

The Pieces

Installation

My home directory is /home/jhannah, and my website lives in my public_html directory. So everything below starts in /home/jhannah/public_html. From there:
   mkdir blosxom
   mkdir blosxom/data
   mkdir blosxom/plugins
   mkdir blosxom/plugins/state
Save blosxom.cgi (download from the first Blosxom link above) into blosxom/.

Unzip all the *rss10 files from the .tgz above into blosxom/data.

Save the rss10 plugin above into blosxom/plugins as filename "rss10".

Save the lastmodified plugin above into blosxom/plugins as filename "lastmodified".

Edit blosxom.cgi, setting $datadir and $plugin_dir (in my case

   $datadir    = "/home/jhannah/public_html/blosxom/data";
   $plugin_dir = "/home/jhannah/public_html/blosxom/plugins";
). Also set the $blog_title, etc.

That should do it. Now add your entries into blosxom/data, one entry per file. I'm using dates as my filenames (20051105.txt), but that part's up to you. Blosxom lifts the datetime of the entry from the last mod stamp of the file itself. So be careful tweaking old entries -- they'll pop to the top of your blog as if they were just written. I use "touch" to set the last mod stamp back to the filename date.

Once you have a couple entries in there, your blog should be

   http://jays.net/~jhannah/blosxom/blosxom.cgi
and your RSS feed should be
   http://jays.net/~jhannah/blosxom/blosxom.cgi?flav=rss10

All Done!

That's it, I think. Heck, here's a behind the scenes look at my entire config:
   http://jays.net/blosxom/
Knock yourself out!

Make it prettier

To shorted my URLs I sym linked from public_html:
   ln -s blosxcom/blosxcom.cgi index.cgi
and set
   $url = "http://jays.net/blosxcom/blosxom.cgi";
so my links would work when viewing individual entries.

Then I changed blosxom/data/head.html to add a pretty site header (and blosxom/data/foot.html for a footer).

RSS notes

Your RSS feed won't work correctly if you have HTML tags in the RSS "title". In Blosxom, the title of each of your entries is the first line of your entry file. So keep that first line HTML free, and you should be golden.

Good luck!

email me: jay(at)jays(dot)net


-eot-