Trac auf Apache aufsetzen unter SUSE

SVN läuft, Trac läuft  und nun stellt sich die eigentlich alles entscheidene Frage, an der ich selber mehrmals gescheitert bin: „Wie setze ich Trac jetzt für Apache auf, damit ich meinen Kunden zugriff auf das Bugtracking-Tool geben kann???“

Ersteinmal vorne weg:

Plesk ist sehr sehr anstrengend, ich musste mehrmals die angelegte trac-Subdomain löschen, weil sich Plesk irgendwann nur noch verhaspelt hat und einfach nicht mehr auf .htaccess-Dateien oder vhost.conf – Dateien reagiert hat.

Also legen wir los. Als erstes solltet Ihr in Plesk eine Subdomain anlegen über die Ihr später euer Trac erreichen wollt. z.B.: http://trac.irgendeine-domain.de
Wenn diese dann über das Netz erreichbar ist, dann legen wir los und müssen ein wenig an den Apache-Konfigurations-Dateien herumschrauben. Das klingt alles allerdings alles komplizierter als es ist.

Um fortzufahren solltet ihr die vorherigen vier Artikel gelesen und durchgearbeitet haben, da wir dort alle notwendigen Pakete installiert haben. Zum schnellen navigieren innerhalb der Ordnerstruktur eures Servers empfehle ich euch noch den MidnightCommander (mc) zu installieren. Damit kann man nämlich nicht nur navigieren, sondern auch sehr sehr einfach editieren, ohne das man sich 500.000 Tastenkombinationen merken muss.

Nun geht ihr in den Ordner in dem die Konfigurationsdateien für die virtuellen Hosts liegen

cd /srv/www/vhosts/irgendeine-domain.de/subdomains/trac/conf

und bearbeitet die datei vhost.conf (im MidnightCommander die Datei auswählen und F4 drücken)

In die Datei kommt folgender Inhalt (Einfügen im MC-Editor: Umsch+Einf) :

<Location />
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnv /opt/trac/projects/meinProjekt
   PythonOption TracUriRoot /
</Location>
<Location /login>
  AuthType Basic
  AuthName "trac"
  AuthUserFile /opt/trac/passwordfiles/meinProjekt.htpasswd
  Require valid-user
</Location>

Mit F10 kann der Editor wieder geschlossen werden und die Speichern-Abrage sollte mit Yes bestätigt werden.
In der drittletzten Zeile steht AuthUserFile /opt/trac/passwordfiles/meinProjekt.htpasswd

Diese bezieht sich auf eine Datei, die wir noch nicht erstellt haben und dient dazu Logins zum Administrationsbereich von Trac zu speichern.
Wir erstellen nun einen Login und kreieren dabei gleichzeitig die Passwort-Datei.

Befehle:

mkdir /opt/trac/passwordfiles
htpasswd2 -c /opt/trac/passwordfiles/meinProjekt.htpasswd username

Für username tragt ihr bitte einen benutzername ein, überlegt euch ein passwort und tragt es zweimal ein. Achtung, unter Linux ist es nicht üblich für Passwörter Sternchen(*) oder sonstige Zeichen anzuzeigen.
Denkt daran die Passwörter am besten gleich in Keepass zu speichern.

Jetzt sollte Apache eigentlich fertig konfiguriert sein.

Mit folgenden Befehlen werden die virtuellen Hosts rekonfiguriert, also die eben geänderte vhost.conf neu eingelesen und danach der Apache-Server neugestartet:

/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=irgendeine-domain.de
httpd2 -k restart

Was noch fehlt ist der Administratorzugang für den user den wir weiter oben angelegt haben. Trac muss ja wissen welcher Benutzer auf die Adminoberfläche zugreifen darf. Der Befehl hierfür lautet:

trac-admin /opt/trac/projects/meinProject permission add username

Wobei username hier durch den username ersetzt werden muss, den wir mit htpasswd2 angelegt haben.

Der Zugriff auf Trac über trac.irgendeine-domain.de sollte nun funktionieren. Über den Link „login“ öffnet sich jetzt ein Login-Fenster und nach eingeben von Benutzername und Passwort ist der Zugang zum Trac-Admin-Part frei.

Im nächsten Schritt werden wir Trac aus der Single-Projekt-Verdammung ziehen und schauen, wie Trac sich mit mehren Projekten betreiben lässt.

Artikelübersicht:

1. Installation SVN

2. Installation Python

3. Installation Trac

4. Erstellen einer Umgebung für ein Trac-Projekt

5. Trac auf Apache aufseten

6. Trac für mehrere Projekte (in Planung)

7. Trac Usermanagement mit dem TracAccountManager (in Planung)

Erstellen einer Trac-Umgebung unter SUSE

Nachdem wir nun alle notwendigen Tools für die Verwendung von Trac installiert haben geht es nun an die Einrichtung eines Trac-Projekts. Das ist relativ schnell gemacht, als erstes muss mit dem trac-admin die Umgebung erstellt, ein paar Informationen eingegeben und abschließend verschiedenen Ordnern root-Schreibrechte gegeben werden.  Für die Wahrung der Übersichtlichkeit empfehle ich eine Ordnerstruktur einzuhalten in der Trac-Projekte immer in einem Ordner stehen. Bei mir befinden sich die Trac-Projekte unter

/opt/trac/projects/{projektname}

wobei der Ordner projektname von trac-admin angelegt wird.

1. Umgebung erstellen

trac-admin /opt/trac/projects/meinProjekt initenv

2. Informationen eingeben

Project name [My Project]> erstes Testprojekt
Database connection string [sqlite:db/trac.db]> mit Enter bestätigen
Repository type [svn]> {svn ist voreingestellt, Enter}
Path to repository [/path/to/repos]>
hier den Pfad zu euerem SVN-Repository eingeben z.B.: /opt/svn

Wenn Ihr ein Repository eingegeben hab, dann wir dieses jetzt durchforstet und die relevanten Daten werden in die Trac-Datenbank geschrieben.

Jetzt müssen noch Schreibrechte für die Datenbank, das Plugins-Verzeichnis, und die Konfigurationsdatei gesetzt werden. Weil es am schnellsten in der Konsole geht geben wir folgendes ein:

chmod -R 777 /opt/trac/projects/meinProject/db
chmod -R 777 /opt/trac/projects/meinProject/plugins
chmod -R 777 /opt/trac/projects/meinProject/conf

Das war es eigentlich schon, wenn Ihr jetzt testen wollt ob euer Trac läuft, dann könnt Ihr den integrierten Trac-Server starten und und Trac verwenden.

tracd -s --port 8000 /opt/trac/projects/meinProjekt

Auf Trac zugreifen könnt Ihr über

http://localhost:8000/

Wenn soweit alles läuft, dann geht es jetzt zum wichtigsten Punkt dieses kleinen HowTows.

Nächster Schritt: 5. Trac auf Apache aufseten

Artikelübersicht:

1. Installation SVN

2. Installation Python

3. Installation Trac

4. Erstellen einer Umgebung für ein Trac-Projekt

5. Trac auf Apache aufseten

6. Trac für mehrere Projekte (in Planung)

7. Trac Usermanagement mit dem TracAccountManager (in Planung)

Installation von Trac unter SUSE 10.3

Im vorherigen Schritt haben wir Python installiert. Die Grundlage um Trac überhaupt zum Laufen zu bekommen. Dank der Python eigenen Installationsroutine können wir jetzt mittels easy-install alle Trac relevanten Programme installieren.

Folgende Vorraussetzungen sollten für die Trac-Installation vorhanden sein:

Python, version >=2.3 <(3.0)
setuptools, version >=0.6
Genshi, version >=0.5
Eine der folgenden Datenbanken: SQLite, PostgreSQL

Dazu loggen wir uns wieder als root auf dem Server ein und installieren über die Konsole folgende Pakete über folgende Befehle:

easy-install trac

Nach abgeschlossener Installation solltes per

trac-admin --version

die aktuelle Versionsnummer von trac zu sehen sein.

Damit haben wir das Vorgeplänkel abgeschlossen und befassen uns nun der Einrichtung von trac-Umgebungen.

Nächster Schritt: 4. Erstellen einer Umgebung für ein Trac-Projekt

Artikelübersicht:

1. Installation SVN

2. Installation Python

3. Installation Trac

4. Erstellen einer Umgebung für ein Trac-Projekt

5. Trac auf Apache aufseten

6. Trac für mehrere Projekte (in Planung)

7. Trac Usermanagement mit dem TracAccountManager (in Planung)

Installation Python unter SUSE 10.3

Im ersten Schritt habe ich erklärt wie man SVN unter SUSE 10.3 installiert, für Trac, ein auf Python basierendes Bug-Tracking-Tool und Projektmanagement-Programm müssen wir nun im nächsten Schritt Python installieren.

Dazu gehen wir folgender maßen vor:

Wie schon erwähnt finde ich yast einfach angenehm für die Installation, daher sollten wir nun einfach wieder yast starten. Ins Software-Management wechseln und warten bis alle Softwarequellen downgeloaded und verarbeitet wurden.

Dann suchen wir nach Python und installieren folgende Pakete:

apache2-mod-python
lib-xml2-python
python
python-devel
python-genshi
python-setuptool
python-tk
python-xml
pyxml

Wenn die Installation abgeschlossen ist, prüfen wir mittels folgendem Befehl ob Python ordnungsgemäß installiert ist

python --version

Ihr solltet nun etwas in der Art sehen:

Python 2.5.1

Python als Apache-Modul laden.

Ihr solltet darauf achten das das mod_python-Modul für Apache geladen ist. Dazu gebt ihr folgenden Befehl ein und erhaltet entweder eine Mitteilung, dass das Modul schon geladen ist, oder es eben geladen wurde.

Nächster Schritt: 3. Installation Trac

Artikelübersicht:

1. Installation SVN

2. Installation Python

3. Installation Trac

4. Erstellen einer Umgebung für ein Trac-Projekt

5. Trac auf Apache aufseten

6. Trac für mehrere Projekte (in Planung)

7. Trac Usermanagement mit dem TracAccountManager (in Planung)

Installation SVN unter SUSE

Für die Installation von Subversion, einem der gängigsten Versionierungstools für die Entwicklergemeinde ist Root-Zugriff auf den Server unabdingbar. Mein Server ist ein Suse Linux 10.3, gehostet auf HostEurope mit einem Plesk 8.3. Wobei die Version von Plesk eigentlich keine Rolle spielt, da sich die Konfiguration von SVN und weiter dann von Plesk in erster Linie auf der Konsole abspielen wird.

Zuerst einmal vorab, ich bin kein Linux-Crack, ich habe zwar mit Suse Linux 5.2 angefangen, bin aber nie so tief in die Materie eingestiegen, als dass ich nur noch mit der Konsole arbeiten wollte. Ich finde, dass Programme die dafür geschrieben wurden um dem User / Admin das Leben leichter zu machen auch genutzt werden sollten! Und da vi, vim, lynx und all die anderen Programmkonsorten mir nie das Leben leichter gemacht haben, habe ich für mich entschlossen, Programme, so es denn geht, per Yast zu installieren, Texte mit dem Editor vom MidnightCommander zu editieren (bin eigentlich ein alter Dos’ser [DOS 4.0], siehe NortenCommander) und jede grafische Hilfe, die ich in Anspruch nehmen kann auch anzunehmen.

Also machen wir uns frisch ans Werk und installieren SVN!

Tools die ich dafür verwende: (Arbeite an einem Windows-Rechner, benutze Putty für die SSH-Connection und KeePass um mir keine Passwörter merken zu müssen)
Allen die auch mit Windows arbeiten rate ich daher erstmal Putty und Keepass downloaden! Die beste Möglichkeit Keepass mit Putty zu verwenden gibt es hier.

1. Installation SVN

Die Installation von SVN ist im Grunde relativ einfach. SVN downloaden, installieren und verwenden.

Die einfachste Methode ist sich via SSH auf den Server zu verbinden, sich als root einzuloggen und yast zu starten.

yast

Yast (yet another setup tool) wird komplett mit TAB oder Shortcuts bedient.  Auf der linken Seite sollte Software ausgewählt sein und auf der rechten Seite wählt ihr Softwaremangement und bestätigt mit ENTER. Das nun folgende Prozedere, bei dem die voreingestellten Softwarequellen ausgewählt werden, könnte ein Weilchen daueren. Dieses Weilchen ist einer der Gründe, warum die Hardcore-User yast nicht mögen. Falls Ihr SVN manuell installieren wollt müsst Ihr die aktuellste Version hier downloaden und folgende Zeilen in die Konsole eintippen (ohne yast gestartet zu haben).

tar -xzf /path/to/subversion-X.X.X.tar.gz
cd subversion-X.X.X
./configure
make
make install

Leichter ist es allerdings mit yast.
Nachdem ihr nun das Softwaremanagement gestartet habt und die Installationsquellen eingelesen wurden, sucht Ihr am besten nach Subversion (Suchen erreicht ihr mit dem ShortCut ALT+S)

Dort wählt Ihr nun am besten folgende Pakete aus (sofern noch nicht installiert):

subversion
subversion-server
subversion-python (für trac wichtig!!!)

Mit dem ShortCut ALT+ A (Accept) startet Ihr die Installation. Alle möglichen auftretenden Abhängigkeiten solltet Ihr auflösen (bestätigen) damit nachher nicht irgeneine Komponente nicht funktioniert. Nach abgeschlossener Installation testet Ihr über folgenden befehl ob Subversion installiert ist.

svn --version

Ihr solltet jetzt eine kurze Übersicht über eure Subversion-Version bekommen.

Wie Ihr jetzt mit einem laufenden Subversion Projekte anlegt wir hier von O’Reilly sehr umfangreich erklärt.

Nächster Schritt : 2. Installation Python

Artikelübersicht:

1. Installation SVN

2. Installation Python

3. Installation Trac

4. Erstellen einer Umgebung für ein Trac-Projekt

5. Trac auf Apache aufseten

6. Trac für mehrere Projekte (in Planung)

7. Trac Usermanagement mit dem TracAccountManager (in Planung)