Howto : installing TRAC on Debian Etch
Sebastien Wains
http://www.wains.be
CONVENTIONS :
-------------
My projects are stored under /home/dev/project-name
The SVN repositories are stored under /home/svn/project-name
I often work on projects from the CLI and vi with user1
The web-server user/group is www-data
INSTALLING PACKAGES :
---------------------
If you don't already have Apache and Subversion installed :
# apt-get install apache2
# apt-get install subversion
If you do :
# apt-get install trac
# apt-get install libapache2-svn
SETTING UP SVN :
----------------
If you don't already have your SVN project set up :
# mkdir /home/dev/
# mkdir /home/svn/
$ svnadmin create /home/svn/project1
$ svn import /tmp/yourproject file:///home/svn/project1 -m "Initial import"
$ rm -fr /tmp/yourproject
$ svn checkout file:///home/svn/project1 /home/dev/project1
If you do :
Edit /etc/apache2/sites-available/default and add to the very end of the file :
# SVN
DAV svn
SVNParentPath /home/svn
SVNAutoversioning on
AuthType Basic
AuthName "SVN"
AuthUserFile /etc/apache2/passwd-svn
Require valid-user
Set permissions to the repo :
# find /home/svn/project1 -type d | xargs chmod 2770
# find /home/svn/project1 -type f | xargs chmod -R 660
# chown user1:www-data /home/svn -R
SETTING UP APACHE :
-------------------
Enable the required apache modules :
# a2enmod dav
# a2enmod dav_fs
Create the apache authentication file :
htpasswd -c /etc/apache2/passwd-svn user1
Restart Apache :
# /etc/init.d/apache2 force-reload
You should be able to see your project at http://home.domain.tld/svn/project1
SETTING UP TRAC :
-----------------
# mkdir /home/trac
# trac-admin /home/trac/project1 initenv
You will be asked a few questions (project name, path to SVN repo, etc.)
# cd /home/trac
# chown -R user1:www-data /home/trac/project1/
# find -type d | xargs chmod 2775
# find -type f | xargs chmod 664
If you want to reach TRAC at a URL like http://home.domain.tld/project1...
Edit /etc/apache2/sites-available/default
Add to the end of the file :
# TRAC PROJECT1
ScriptAlias /project1 /usr/share/trac/cgi-bin/trac.cgi
SetEnv TRAC_ENV "/home/trac/project1"
# PROJECT1 AUTH
AuthType Basic
AuthName "project1"
AuthUserFile /etc/apache2/passwd-svn
Require valid-user
Restart Apache2
# invoke-rc.d apache2 restart
You should be able to reach TRAC at http://host.domain.tld/project1
Howto based on http://trac.edgewall.org/wiki/TracOnDebianSarge