5039
Kommentar: trac-admin neu eingeordnet und verbessert
|
5406
Mailbenachrichtigung patchen
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 109: | Zeile 109: |
== Benachrichtigungsmails == Die Trac Benachrichtigungsmails enthalen in der Fusszeile die URL des jeweiligen Tickets. Diese beginnt mit ''http://'' - in unserem Falls muesste die URL allerdings mit ''https://'' beginnen. Um dieses Verhalten zu aendern, muss die Datei ''/usr/lib/python2.3/site-packages/trac/Notify.py'' mit diesem Patch gepatched werden. |
Allgemeines
Da Trac auch auf [http://subversion.tigris.org Subversion]-Repositories zugreifen kann, ist es sinnvoll, die Trac-Projekte auf dem FaxeSubVersion-User-Mode-Server zu installieren:
screen -r svn
Alle Trac-Projekte liegen unterhalb von /data/trac/.
Installation
{{{apt-get install trac }}}
Die Einrichtung mehrerer Projekte auf demselben Server lässt sich auf verschiedenen Wegen erreichen. Diese sind in der [http://projects.edgewall.com/trac/wiki/TracMultipleProjects Trac-Doku] beschrieben.
Nachfolgend ist eine Methode für apache1 und eine für apache2 beschrieben. Letztere wird empfohlen.
Apache1
Für apache1 gibt es [http://www.modpython.org/ mod_python] nur in der Version 2.7. Leider ist die eleganteste Multi-Projekt-Konfiguration von trac jedoch nur mit mod_python ab Version 3.1 lauffähig. Wer die Wahl hat, möge sich also für apache2 entscheiden (siehe nächster Abschnitt).
Ohne mod_python sieht die Konfiguration eines trac-Projekts folgendermaßen aus: {{{ScriptAlias /projects/NAME /usr/share/trac/cgi-bin/trac.cgi
<Location /projects/NAME>
SetEnv TRAC_ENV /home/trac/NAME
</Location> }}}
Falls du mod_python zur Beschleunigung verwenden möchtest, dann findest du in der [http://projects.edgewall.com/trac/wiki/TracModPython trac-Doku] die notwendigen Direktiven. Es ist jedoch (wie bereits erwähnt) bei mod_python 2.7 notwendig, Direktiven für jedes einzelne Projekt hinzuzufügen. Wesentlich eleganter lassen sich dagegen mehrere Projekte mit mod_python 3.1 und apache2 verwalten.
Apache2
Details zu unserer gewählten Methode für apache2 findest du in der auf einer anderen Seite der [http://projects.edgewall.com/trac/wiki/TracModPython Doku].
Das mod-python-Modul installieren:
apt-get install libapache2-mod-python a2enmod mod_python
Nun gehört in die /etc/apache2/conf.d/trac.conf nur noch folgendes:
<Location /trac> SetHandler mod_python PythonHandler trac.ModPythonHandler PythonOption TracUriRoot /trac PythonOption TracEnvParentDir "/data/trac" </Location>
Die vollständige [attachment:trac.conf /etc/apache2/conf.d/trac.conf] enthält zusätzlich lediglich die Einstellungen zur Authentifizierung der Nutzer.
Die Trac-Admin-Konsole
Die Verwaltung der Milestones und der Zugangsrechte ist in der Version 0.8.1 von trac noch nicht per Web-Interface möglich. Also haben wir ein Skript geschrieben, mit dem das Konsolen-Administrationsprogramm per Web-Schnittstelle benutzt werden kann. Es ist äußerst einfach aufgebaut.
Die Zugriffsrechte können lediglich durch http-auth eingeschränkt werden. Jeder authorisierte Nutzer kann generell auf alle trac-Projekte des Systems zugreifen.
Dieses [https://systemausfall.org/trac/sao/ticket/9 Ticket] beschreibt den Problemverlauf. Folgende Schritte sind notwendig:
Die Datei /etc/[apache|apache-ssl|apache2]/conf.d/trac.conf bearbeiten:
ScriptAlias /tracadmin /data/scripts/tracadmin-console.sh <Location /tracadmin> AuthName systemausfall.org AuthType Basic AuthLDAPUrl ldap://ldap.sao/o=neofaxe,dc=systemausfall,dc=org?cn?sub?(objectClass=webAccount) AuthLDAPGroupAttribute adminOfService AuthLDAPGroupAttributeIsDN On require group cn=trac-sao,sc=trac,ou=Services,o=neofaxe,dc=systemausfall,dc=org </Location>
Das trac-Admin-Skript findest du [attachment:tracadmin-console.sh hier] [Stand: 10. Mai 02005].
Um einen Link zur Konsole einzurichten, sollte folgendes in der templates/site_header.cs eines Trac-Projekts stehen:
<div style="position:absolute; top:10x; right:10px"> <a href="/tracadmin" title="die selbstgemachte Konsolen-Oberfläche">TracAdmin-Konsole</a> </div>
Verwaltung
Neues Projekt anlegen
Bisher läuft es nur manuell, dafür ist es aber schön trivial:
trac-admin /data/trac/NAME initenv
Folgende Anpassung von /data/trac/NAME/conf/trac.ini muessen vorgenommen werden:
[trac] htdocs_location = /trac-shared/ [notification] smtp_enabled = true smtp_replyto = trac[at]admin.systemausfall.org smtp_always_cc = trac-NAME[at]lists.systemausfall.org smtp_server = mail.sao smtp_from = trac-NAME[at]lists.systemausfall.org always_notify_reporter = false
Jedes Auftreten von [at] ist natürlich durch ein @-Zeichen zu ersetzen (zum Schutz vor Mailadressen-Bots).
Ein Template gibt es derzeit noch nicht.
Hinweis: Die Möglichkeit, eine Trac-Instanz ohne subversion Repository zu installieren, gibts noch nicht. Mensch muss also, wenn es kein Repository gibt, irgendwo eines mit svnadmin create /data/repos/dummy erstellen.
Nach Änderungen der Konfigurationsdatei musst du wegen mod_python den apache neustarten:
apache2ctl restart
Benachrichtigungsmails
Die Trac Benachrichtigungsmails enthalen in der Fusszeile die URL des jeweiligen Tickets. Diese beginnt mit http:// - in unserem Falls muesste die URL allerdings mit https:// beginnen.
Um dieses Verhalten zu aendern, muss die Datei /usr/lib/python2.3/site-packages/trac/Notify.py mit diesem Patch gepatched werden.