I'm running this site using Pyblosxom running on Fedora. Pyblosxom (as the original Blosxom) is very simple and uses only the file system to store blog entries, configuration, etc. Think of it as server side includes on steroids. As I know a bit of HTML, CSS and Python, and really hate big complex web applications it seemed like the perfect match for me.
I setup Pyblosxom as a non-root user, serving it from my public_html. To do this in Fedora you have to uncomment in the httpd.conf files the lines controlling UserDir directories and add the following to enable CGI from the public_html:
<Directory /home/*/public_html/cgi-bin/>
Options ExecCGI SymLinksIfOwnerMatch
SetHandler cgi-script
</Directory>
If SELinux is active you have to ensure that the files in
~/public_html and ~/public_html/cgi-bin have the
right context (more info here).
With that out of the way, just install Pyblosxom as described by its documentation. The only twist in my setup is that I hide the name of Pyblosxom CGI script from my URLs and make the root of my page redirect to the blog root. This is accomplished with a bit of Apache rewrite magic. Put this .htaccess file in your public_html:
RewriteEngine on RewriteBase /~replace-with-your-user-name RewriteRule ^$ blog/ [R=permanent] RewriteRule ^index.htm.*$ blog/ [R=permanent] RewriteRule ^blog$ cgi-bin/pyblosxom.cgi RewriteRule ^blog/(.*) cgi-bin/pyblosxom.cgi/$1
Configuration of Pyblosxom is best covered in its manual, but here is a tip I missed the first time. When customizing a flavour (and that's exactly like maintaining some server side includes), you can just copy the default html.flav dir to your local flavour dir; Pyblosxom will always pick the locally defined one overriding the default, so you don't have to call it anything different than "html".
Besides Pyblosxom, some HTML and CSS, I use the following Pyblosxom plug-ins:
There are many other plug-ins available, and it doesn't seem to be really hard to code a new one in Python.
Copyright © 2007,2008,2009,2010 Gustavo M. D. Vieira