rendered paste bodytrac-install
# Trac and clearsilver
deb http://ftp.edgewall.com/pub/debian/ sarge trac
apt-get install trac apache2 libapache2-svn subversion-tools libapache2-mod-python python-egenix-mxdatetime
a2enmod dav
a2enmod dav_fs
a2enmod mod_python
a2dissite default
#apt-get install subversion
#libapache2-mod-python python-docutils enscript
prjpath="/home/svn/projects"
tracpath="/home/trac/projects"
#prjgrp="xyzdev"
prjname="prj000"
prjdir="$prjpath/$prjname"
mkdir -p $prjdir
svnadmin create --fs-type fsfs $prjdir
mkdir -p /tmp/project/tags
mkdir -p /tmp/project/trunk
mkdir -p /tmp/project/branches
chown www-data $prjdir
chown -R www-data $prjdir/*
chgrp www-data $prjdir
chgrp -R www-data $prjdir/*
svn import /tmp/project file://$prjdir -m "Initial empty project"
rm -rf /tmp/project
#SVN dir
cat > /etc/apache2/sites-available/$prjname-projects << EOF
<VirtualHost 192.168.33.3>
ServerName projects.$prjname.usyd.edu.au
ServerAdmin webmaster@localhost
DocumentRoot /var/www/$prjname-projects
<Directory /var/www/$prjname-projects>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
</Directory>
ErrorLog /var/log/apache2/$prjname-projects-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/$prjname-projects-access.log combined
ServerSignature On
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# Removed (Using mod_python)
#
# <Location "/cgi-bin/trac.cgi">
# SetEnv TRAC_ENV "/var/www/$prjname-projects"
# </Location>
Alias /trac "/usr/share/trac/htdocs"
<Location /$prjname-projects>
SetHandler mod_python
PythonHandler trac.ModPythonHandler
PythonOption TracUriRoot "/"
PythonOption TracEnv $tracpath/$prjname/
</Location>
# You need something like this to authenticate users
<Location /$prjname-projects/login>
AuthType Basic
AuthName "$prjname projects"
AuthUserFile $tracpath/$prjname/$prjname.htpasswd
Require valid-user
</Location>
<LocationMatch "/(trac|icons)">
SetHandler None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</LocationMatch>
</VirtualHost>
EOF
#a2ensite trac
mkdir -p $tracpath/$prjname
trac-admin $tracpath/$prjname initenv
a2ensite $prjname-projects
mkdir -p /var/www/$prjname-projects
htpasswd -c $tracpath/$prjname/$prjname.htpasswd admin
/etc/init.d/apache2 force-reload