Trac in UCS

german

#1

Dieser Artikel wir in der Univention Supportdatenbank weiter gepflegt: http://sdb.univention.de/

Um ein Subversion-Verzeichnis (SVN) über eine Webseite zu verwalten und zu dokumentieren, sowie zur Erfassung von Fehlern bequem über eine Webseite gibt es trac. Mit trac lassen sich auch weitere für das Projektmanagement relevante Informationen wie Meilensteine verwalten. Im folgenden soll die Installation von trac in UCS beschrieben werden. Die komplette Anleitung bezieht sich auf eine Verwendung in UCS 2.0 .

Zur Installation müssen einige Quelltexte von den Servern des Debian-Projektes und von den Univention-Servern geladen werden. Dazu müssen die folgenden Einträge zur Datei /etc/apt/sources.list hinzugefügt werden.

deb http://apt.univention.de/2.0/unmaintained/ 2.0-0/all/
deb http://apt.univention.de/2.0/unmaintained/ 2.0-0/i386/
deb http://apt.univention.de/2.0/unmaintained/ 2.0-0/extern/
deb-src http://apt.univention.de/2.0/unmaintained/ 2.0-0/source/

deb http://apt.univention.de/2.0/maintained/ 2.0-0/all/
deb http://apt.univention.de/2.0/maintained/ 2.0-0/i386/
deb http://apt.univention.de/2.0/maintained/ 2.0-0/extern/

deb-src http://ftp.de.debian.org/debian etch main

Anschließend müssen die Paketlisten mit

apt-get update

neu geladen werden.

Im Vorraus müssen die Python-Unterstützung für Apache2 und Python und Subversion installiert werden. Dies passiert mit den folgenden Befehlen:


apt-get install  libapache2-mod-python libapache2-mod-python-doc

mkdir trac
cd trac

export DEB_BUILD_OPTIONS='nocheck'

apt-get build-dep trac python-clearsilver python-pysqlite2 python-subversion
apt-get source trac python-clearsilver python-pysqlite2 subversion

#Bauen und installieren der Subversion-Pakete
export DEB_BUILD_OPTIONS='nocheck'
cd subversion-1.4.2dfsg1/
fakeroot dpkg-buildpackage
cd ..
dpkg -i *.deb

#Bauen und installieren von trac und seinen Abhängigkeiten
cd clearsilver-0.10.3/
fakeroot dpkg-buildpackage
cd ../python-pysqlite2-2.3.2/
fakeroot dpkg-buildpackage
cd ../trac-0.10.3/
fakeroot dpkg-buildpackage
cd ..
dpkg -i *.deb

Um die Python-Erweiterung für Apache2 zu laden, muss der folgende Befehl ausgeführt werden:

a2enmod mod_python

Der folgende Abschnitt dient nur dem Test der Apache-Konfiguration um evtl. Auftretende Probleme infolge einer Fehlerhaften Konfiguration zu vermeiden. Im Zuge des Tests kann an dieser Stelle schon die für die Authentifizierung nötige Konfiguartionsdatei '/etc/apache2/conf.d/trac.conf angelegt werden. In ihr werden die folgenden Zeilen zum testen hinzugefügt:

<Location /mpinfo>
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler mod_python.testhandler
</Location>

Um die Änderungen wirksam zu machen, muss Apache mit dem Befehl ‘/etc/init.d/apache2 restart’ neu gestartet werden.

Ein Aufruf von /mpinfo führt auf eine Testseite mit Informationen über die Python-Konfiguration.Nach dem Test sollten die Zeilen aus der Konfigurationsdatei ausSicherheitsgründen wieder gelöscht werden und wiederum Apache mit dem obenstehden Befehl neu gestartet werden.

Da trac auf Basis eines Subversion (SVN) - Verzeichnisses arbeitet, muss dieses erzeugt werden, wenn es nicht schon vorher Vorhanden ist (hier am Beispiel /var/trac/testprojekt). Wenn schon ein SVN-Verzeichnis besteht kann weiter unten ab dem Befehl ‘mkdir /var/trac/testprojekt/trac’ fortgefahren werden.

svnadmin create /var/trac/testprojekt/

Anschließend kann ein bestehendes SVN-Projekt importiert werden. Zum test kann ein solches Projekt aus einer solchen Verzeichnisstruktur bestehen:

test
        +tags
        +branches
        +trunk
                +test.c

Der Import erfolgt mit dem folgenden Befehl (aus dem Verzeichnis, in dem der Ordner test liegt)

svn import test file:///var/trac/testprojekt/ -m "Startzustand"

Da die Daten von trac in einem Unterverzeichnis abgelegt werden muss dieses zunächst mit folgendem Befehl erzeugt werden:

mkdir /var/trac/testprojekt/trac

Durch die Installation des Paketes per apt ist trac prinzpiell installiert. Es muss allerdings noch das Projekt der Webserver-Konfiguration hinzugefügt werden. Dazu muss die folgende Datei editiert werden und der folgende Inhalt hinzugefügt werden:

/etc/apache2/conf.d/trac.conf:

<Location /testprojekt>
        SetHandler mod_python
        PythonInterpreter main_interpreter
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /var/trac/testprojekt/trac
        PythonOption TracUriRoot /testprojekt/
</Location>

<Location /testprojekt/login>
        Order deny,allow
        Allow from all

        AuthBasicAuthoritative Off
        AuthPAM_Enabled on
        AuthPAM_Service httpd-trac
        AuthName "trac"

        AuthType Basic
        require valid-user
</Location>

Um später eine Authentifizierung gegen das LDAP-Verzeichnis zu ermöglichen, muss noch eine PAM-Datei mit dem Namen ‘/etc/pam.d/httpd-trac’ angelegt werden und folgende Zeilen eingefügt werden:

#PAM-Datei fuer trac
@include common-account
@include common-auth

Um die Dateien für trac zu erzeugen, muss der Befehl ‘trac-admin /var/trac/testprojekt/ initenv’ ausgeführt werden. Es öffnet sich ein Dialog, in dem folgende Einstellungen getroffen werden:

Project Name [My Project]>                              Testprojekt     <Enter>
Database connection string [sqlite:db/trac.db]>                         <Enter>
Repository type [svn]>                                                  <Enter>
Path to repository [/path/to/repos]>            /var/trac/testprojekt/  <Enter>
Templates directory [/usr/share/trac/templates]>                        <Enter>
Creating and Initializing Project

Nach einem Neustart des Webbrowsers ist trac unter der Addesse /testprjekt/ aufrufbar. Bei einem klick auf ‘login’ kann sich der Benutzer mit Daten aus dem LDAP anmelden.

Zu beachten ist, dass nach einem Beenden der trac-Sitzung der Webbroswer geschlossen werden muss, da trac sonst ohne ein Erneutes Nachfragen bei Klick auf ‘login’ den Benutzer mit den alten Daten wieder anmeldet!