One of the biggest questions which has to be answered when one starts a blog is what is the blog engine going to be? (Using a readymade hosted solution like LiveJournal or blogspot is for wimps.) Since the blog is going to be on IMSc's "people" server, there are a lot of choices. The scripting language for the engine is usually a choice between PHP, Perl, Ruby and Python (though with nanoblogger, even a POSIX shell is possible!). The gem looked tempting for a while. Eventually, I realised that the engine is far less important than the entries. Start writing the entries with some engine. It should be "relatively easy" to migrate the entries to a different engine. In some sense, having put essays on the web in the past, a change of engine (from wetware to software) is what I am doing anyway!
So the temporary choice is the snake --- think of this is as the snake in the monkey's shadow. Specifically, this blog is currently powered by pyblosxom.
Configuring pyblosxom
Structure
Since everything on this blog is meant to be public,
all of its data and configuration information is kept in
public_html
. As far as I can see this causes no
security issues --- but if some turn up then it may change!
Current directory structure is
blog/ ->
config.py Configuration file
drafts/ -> draft entries
sources/ -> sources where required
entries/ -> format of entries is "string"-"date"
flavours/ -> not tutti-fruity!
plugins/ -> actual plugins used
style/ -> stylesheets and images
index.cgi -> pyblosxom.cgi renamed
.htaccess -> for apache2
Any and all of these files (except drafts
) can be
examined by extending the URL
http://www.imsc.res.in/~kapil/blog
by the file or
directory name.
The development of my web pages is done on my user machine and these are synchronised with the "real" web pages using unison. The local copy of my web pages is managed using git.
The plugins were downloaded from the pyblosxom web site.
The flavour was downloaded from snarfed.org.
Since everything about this blog is visible, there is probably no need to document things further.
Minor cribs
I couldn't find anyone who had documented how they
had setup their blog using pyblosxom
. This meant
that it took a while for me to set things up.
The apache2
web server behaved rather differently
from mathopd. In
particular, the latter does not need or use
.htaccess
files and just declaring that
index.cgi
was the a CGI script and was the "index
file" for the blog/
directory was enough for the
blog to start working. However, I had to struggle with
apache2
as it needed "Rewrite*" entries in the
.htaccess file in order to pick up the
style sheets and the blog pages.