SVN mit Trac auf einem Debian-Linux
Hier eine kleine Installationsanleitung für Trac und SVN-Services auf einem Linux Debian stable.
Wir erstellen einen Mandantenfähigen SVN-Server mit Trac als Webfrontend für verschiedene Projekte. Installation erfolgt auf Basis eines neuinstallierten Debian Linux Basis Systems.
Apache installation:
apt-get -y install apache2-mpm-worker apache2-utils
Trac installation:
apt-get -y install trac libapache2-mod-python
mkdir -p /var/lib/trac
chown www-data:www-data /var/lib/trac
Trac Zugriff über den Apache:
/etc/apache2/sites-available/default <- Oder erstellt eine eigene Datei für Trac
Folgendes hinzufügen:
<Location /> #set up Trac handling
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/lib/trac
PythonOption TracUriRoot /
</Location>
SVN installation:
Der SVN-Server kam schon bei der Trac Installation mit drauf. Fehlt nur noch das SVN-Apache Modul.
apt-get -y install libapache2-svn subversion
/etc/apache2/sites-available/default
<Location /repos>
DAV svn
SVNListParentPath on
SVNParentPath /var/lib/svn/
</Location>
Neues Projekt erstellen und Authentifizierung einrichten:
In diesem Beispiel legen wir ein Projekt "Android" an!
Todo für SVN:
mkdir -p /var/lib/svn/Android
svnadmin create /var/lib/svn/Android
# Es kann auch schon eine entsprechende Struktur angelegt werden:
# svn mkdir file:///var/lib/svn/Android/branches file:///var/lib/svn/Android/tags file:///var/lib/svn/Android/trunk -m "initial structure"
chown -R www-data /var/lib/svn/Android
Todo für Trac:
trac-admin /var/lib/trac/Android initenv
# Das vorige Kommando stellt ein paar Basisfragen, lasst sie wie sie sind.
# Nur die Frage, so das SVN-Repository liegt, beantworten wir mit: /var/lib/svn/Android
chown -R www-data:www-data /var/lib/trac/Android
Todo für die Authentifizierung:
htpasswd -c /var/lib/trac/Android/.htpasswd admin
enter new password:
...
- Trac Auth:
<Location /Android>
AuthType Basic
AuthName "Android - Trac"
AuthUserFile /var/lib/trac/Android/.htpasswd
Require valid-user
</Location> - SVN Auth:
<Location /repos/Android>
AuthType Basic
AuthName "Android Subversion Repository"
AuthUserFile /var/lib/trac/Android/.htpasswd
Require valid-user
</Location>
Apache neu starten:
/etc/init.d/apache2 restart
Zu erreichen ist Trac jetzt unter dem Domainnamen, der natürlich vorher registriert sein muss oder der IP des Servers - z.B. http://svn.example.org
Das SVN-Repository erreicht ihr unter http://svn.example.org/repos