Edgewall Software

Version 100 (modified by mbroeker, 12 years ago) ( diff )


Installing and Running Trac on Debian

Note from mgood: I am currently in the process of rewriting this page. It is not currently complete, but should cover the most common topics already. If you have more questions you may want to refer back to the previous revision of this page I have finished.

Note: This page does not provide step-by-step instructions for installing and configuring all of Trac. Use this page as a reference for installing the Debian software packages and the locations of configuration files, but you will need to read TracInstall and the other documentation sections for complete instructions on running and configuring Trac.

These instructions require the Debian Sarge release or newer. There are instructions below for installing Trac on Woody. Check http://packages.debian.org/trac to see the latest available Trac version for your Debian release.

These instructions use the commandline tool apt-get to install the packages which you will need to run as the root user. If you prefer to use a graphical tool such as synaptic you can search for the package names mentioned to install them.

Required Packages

 apt-get install trac


Trac can be run in standalone mode, or with a web server of your choice. Apache is a recommended choice and packages are available for Debian:

 apt-get install apache2

In addition to installing the server itself you will need to install one of the Apache modules mentioned below to allow the Trac application to run under Apache. Each subsection refers to the general Trac documentation for the Apache configuration necessary for that module. On Debian it is recommended to put your Trac Apache configuration statements into a new file called "/etc/apache2/sites-available/trac". Then use the following command to enable your Trac site:

 a2ensite trac

Most people won't run trac as a separate site and prefer it as /trac/ on the primary site. To get this to work, create a file /etc/apache2/conf.d/trac.conf with the following content:

ScriptAlias /trac /usr/lib/cgi-bin/trac.fcgi

<Location /trac>
    SetEnv TRAC_ENV "/var/spool/trac/"
    Options -Indexes

<Location /cgi-bin/trac.cgi>
    SetEnv TRAC_ENV "/var/spool/trac/"

<Location /cgi-bin/trac.fcgi>
    SetEnv TRAC_ENV "/var/spool/trac/"

<Location "/trac/login">
    AuthName "svn"
    AuthType Basic
    AuthUserFile /etc/apache2/trac.htpasswd
    require valid-user
  htpasswd -c /etc/apache2/trac.htpasswd <user1>
  htpasswd /etc/apache2/trac.htpasswd <user2>
  trac-admin /var/spool/trac
     --> initenv
  /etc/init.d/apache2 restart

More detailed Apache documentation can be found in the package apache2-doc.

For Trac versions 0.8.x mod_python is recommended. Trac 0.9 also supports FastCGI. CGI instructions are provided, but this is not recommended since mod_python or FastCGI will give significantly better performance.


 apt-get install libapache2-mod-python
 a2enmod mod_python

See TracModPython for further instructions.


Note: FastCGI requires Trac 0.9 or higher.

 apt-get install libapache2-mod-fcgid
 a2enmod fcgid

See TracFastCgi for further instructions.


The CGI module is included with the Apache2 packages, but you will need to ensure that the module is loaded in order to run CGI scripts:

 a2enmod cgi

See TracCgi for further instructions.


To install subversion mods for Apache, you must run nex:

apt-get install subversion libapache2-svn subversion-tools

Suggested Packages

TracSyntaxColoring requires enscript and WikiRestructuredText requires python-docutils:

    apt-get install enscript python-docutils

Woody (oldstable)



I have found that in Ubuntu, a2ensite trac complains about trac site being unexistent. Manu.

This is because you missread (or didn't read) the text (as I did in my first install attempt :-) ) <Quote>On Debian it is recommended to put your Trac Apache configuration statements into a new file called "/etc/apache2/sites-available/trac". Then use the following command to enable your Trac site:</Quote> HTH Marcel

Whilst trying to get Trac working on Debian Sarge with Python 2.3, I got the following error:

PythonHandler trac.web.modpython_frontend: ImportError: No module named web

I found that I had to use this line in the Apache2 config rather than the one given:

    # PythonHandler trac.web.modpython_frontend
    PythonHandler trac.ModPythonHandler

This is because you installed the old/stable 0.8x version of trac, but the pythonhandler trac.web.modpython_frontend is for 0.9x which you get as unstable/testing!

I always have trouble finding this page so I'll post a link here. It's relevent enough that someone could merge it in… latest trac on sarge

The latest version of trac on Debian/Lenny(0.10.4-2) is not Postgresql-8.3 compatible. To get it to work, apply theese patches with

  cd /usr/share/python-support/trac/

  patch -p0 < trac_cache.patch
  patch -p0 < trac_model.patch
Note: See TracWiki for help on using the wiki.