Installing Trac

We’re already using 37 signals Basecamp for project management. It works well for collaborative work and management of distributed teams but is tedious when used as a feature tracker.

Today we discussed the need for a bug/issue tracker. In the past, we’ve considered RT since it integrates with our existing email flow. But frankly, RT is a PITA to configure.

I know that some people are hot and heavy on Mantis. I’m not. For one, I don’t like it’s name or it’s logo.

Here’s how I installed Trac:


// install Python
cd ~/src
wget http://python.org/ftp/python/2.5.2/Python-2.5.2.tgz
cd ../build
tar xzf ../src/Python*
cd Python*
./configure; make ; sudo make install

// Install easy_install.py
cd ~/src
wget http://peak.telecommunity.com/dist/ez_setup.py
sudo ./ez_setup.py

// Install Trac
sudo easy_install Trac==0.11rc2

// Install mod_wsgi
cd ~/src
wget http://modwsgi.googlecode.com/files/mod_wsgi-2.0.tar.gz
tar xzf mod_wsgi*
cd mod_wsgi*
./configure
make
sudo make install

// Set up Trac environment
trac-admin /usr/local/wormbase/trac
... // follow the configuration prompts

// Test it
tracd --port 9001 /usr/local/wormbase/trac
http://localhost:9001/

// Configure wsgi
import os

os.environ['TRAC_ENV'] = '/usr/local/wormbase/trac'
os.environ['PYTHON_EGG_CACHE'] = '/usr/local/wormbase/trac/eggs'

import trac.web.main
application = trac.web.main.dispatch_request

// Configure apache

// apache conf
LoadModule wsgi_module libexec/mod_wsgi.so
AddModule mod_wsgi.c

// wormbase/conf/httpd.conf
WSGIScriptAlias /trac /usr/local/wormbase/cgi-perl/misc/trac.wsgi


WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all


AuthType Basic
AuthName "WormBase Trac"
AuthUserFile /usr/local/wormbase/trac/.htpasswd
Require valid-user

Building Perl 5.8.8 on x86_64

I’ve been having a bear of a time building Perl 5.8.8 on x86_84. After much Googling and trying to recreate the build parameters that Red Hat used for the supplied 5.8.5, I finally stumbled on the answer.

Basically, the Configure script isn’t smart enough to guess the lib directories for x86_64 are all stored under /lib64, /usr/lib64, or /usr/local/lib64.

So to build Perl, bypassing the interactive mode:

sh Configure -des -Dlibpth=”/usr/local/lib64 /lib64 /usr/lib64″