Installing Trac

June 11, 2008

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

Bookmark and Share

Leave a Comment

Previous post:

Next post: