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)