Edgewall Software

Version 42 (modified by bryan@…, 15 years ago) ( diff )

More verbose instructions for Debian Woody

Installing and Running Trac on Debian

The Debian Sid distribution already contain Trac and all required dependencies. Debian Woody and Sarge users need to add a few lines to their /etc/apt/sources.list before installing Trac.

For Woody:

# Trac, clearsilver, sqlite, pysqlite
deb http://ftp.edgewall.com/pub/debian woody trac
# Subversion, Apache2
deb http://people.debian.org/~adconrad woody subversion

For Sarge:

# Trac and clearsilver
deb http://ftp.edgewall.com/pub/debian sarge trac

Run

 $ apt-get update

after editing the file to update the package cache.

Installing Trac and the required dependencies should now be as simple as:

 $ apt-get install trac

Note: While installing Trac on Debian Woody you might get some harmless warnings when the installation process byte-compiles some source files.

More notes for Trac 0.8 on Debian Woody:

Notice, this is what worked for me on a new Woody system I built just to host Trac (in a VMware image, yet!), so I was able to be a little free with modifications I made. Be more careful if you are adding Trac to a system you use for other tasks - don't blame me if these instructions break something!

These instructions ignore the above and start at the very beginning.

  • Subversion really wants Apache2 installed. If you run apache2 -v and get an error, you'll need to install Apache2. I removed apache 1.3 and installed Apache2 with the following:
    apt-get install apache2-common apache2-doc apache2-mpm-worker libapache2-svn
      apt-get remove apache
      apache2 -k start
    
  • Trac 0.8 runs better with Python 2.2 and python-xml (without them, diffs and attachment uploading may not work):
    apt-get install python 2.2 python-xml
    cd /usr/bin
    mv python python.orig
    ln -s python2.2 python
    cp -R /usr/lib/python2.1/site-packages /usr/lib/python2.2
    apache2 -k restart
    
  • After completing these pre-requisites, I added the following to /etc/apt/sources.list
    deb http://ftp.edgewall.com/pub/debian woody trac
    deb http://people.debian.org/~adconrad woody subversion
    
    and ran
    apt-get install trac 
    
  • Getting Subversion working:

I decided to keep my Subversion project at /var/svn/project. Here are the commands I entered to get SVN up and running:

mkdir /var/svn
mkdir /var/svn/project
mkdir /tmp/project
mkdir /tmp/project/branches
mkdir /tmp/project/tags
mkdir /tmp/project/trunk
svnadmin create /var/svn/project
rm -rf /tmp/project
svn import /tmp/project file:///var/svn/project -m "initial import"

I added the following to /etc/apache2/sites-available/default:

  #SVN dir
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
  </Location>

Then I fixed permissions and restarted apache2:

chown /var/svn/nim www-data
chown -R /var/svn/nim/* www-data
apache2 -k restart

I was able to test by going to http://servername.foo.com/svn/project where I could see the empty directories as imported. I did not move on to the next step until this worked right!

  • Getting Trac running:

I put my trac environment at /var/trac/project. I'm not using the mod_python extentions at the moment. First I ran

trac-admin /var/trac/project initenv  (will prompt you for several things and print lots of output)

Then I edited /etc/apache2/sites-available/default. I commented out the existing ScriptAlias and <Directory "/usr/lib/cgi-bin"> directives, and added this at the end:

  Alias /trac "/usr/share/trac/htdocs"
  ScriptAlias /cgi-bin/ /usr/share/trac/cgi-bin/
  <Location "/cgi-bin/trac.cgi">
            SetEnv TRAC_ENV "/var/trac/project"
  </Location>
  
  <Directory "/usr/share/trac/htdocs">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
  
  # You need something like this to authenticate users
  <Location "/cgi-bin/trac.cgi/login">
  AuthType Basic
  AuthName "project"
  AuthUserFile /var/www/trac.htpasswd
  Require valid-user
  </Location>

Now to fix the permissions, add a couple of users, and restart Apache:

cd /var/www
htpasswd -c trac.htpasswd user1     (you'll be prompted for the password)
htpasswd trac.htpasswd bar user2    (you'll be prompted for the password)
apache2 -k restart

Finally, test by going to http://servername.foo.com/cgi-bin/trac.cgi

On my installation, I do get some errors ("Python C API version mismatch for module blah") when I run trac-admin at the commandline. This is probably because I didn't upgarde to Python2.2 until after I installed Trac. Hopefully these errors will be avoided by upgradng Python first, but in any case they don't seem to hurt Trac at all. Everything works perfectly! bryan@…

Furthermore, there is a guide on building the Debian Trac package from the trunk at TracOnDebianFromTrunk

Note: See TracWiki for help on using the wiki.