Experiences with a Trac Server

In the last few days after Xmas I set up http://trac.cs.unibo.it, a server for my CS department which will host a bunch of Trac instances, initially for academic projects only then it will be opened to student projects as well.

The server set-up has been "powered-by" the following technologies:

  1. Debian Etch

  2. Apache 2.2 with FastCGI, SuExec, and WebDAV over TLS (for accessing SVN repositories without forcibly passing through Trac)

  3. Trac instances backed by Sqlite databases and Subversion repositories

  4. Some bits of Genshi templating for generating the projects index

  5. Some shell scripts for automating creation and removal of projects

I'm quite happy with the result.

From the overall experience I drew some observations though:

  • installing Etch is more a dream than ever, in 15 minutes I re-installed the server (which previously was running Ubuntu) with a decent partitioning scheme and all that I needed to work remotely. The sysadm of the department saw me coming out from the server room and asked, unbelievingly, «did you already finish?»

  • apache2.2 in Debian is now annoyingly missing the nice script for creating easily TLS certificates (i.e. apache2-ssl-certificate). I followed-up on #395823 attaching the same script took from Sarge and the needed configuration file. Worked for me

  • SuExec is stupid. You have to put stuff under /var/www for it to work at all, the only way to change the path is rebuild apache .... or, you can mount --bind /srv/trac /var/www/trac!

  • BTW I like /srv. According to the FHS it's the place where I want to put my Trac projects. Unfortunately the Debian installer neglects that path and per default you end up with a system where /srv is in the same partition as /, and hence with basically no free space. Hence I also bind-mounted /srv/trac from /home/trac

  • In Etch we have no available implementation of FastCGI (which really improves Trac performances BTW). libapache2-mod-fastcgi is non-free and for some reason it was not autobuild everywhere and hence is missing from testing. I pinged aba on IRC about that, so the package should probably enter testing again in a few days. Go RMs!

Happy new year birthday trac.cs.unibo.it.