All pastes #29002 Raw Edit

Miscellany

public text v1 · immutable
#29002 ·published 2005-11-17 09:35 UTC
rendered paste body
trac-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