Unterschiede zwischen den Revisionen 10 und 11
Revision 10 vom 2005-05-10 17:40:29
Größe: 5452
Autor: phil
Kommentar: Patch verlinkt
Revision 11 vom 2005-05-10 17:58:57
Größe: 5459
Autor: phil
Kommentar: Rechtschreibfehler und kleine textaenderung bei benachrichtigungsmails
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 113: Zeile 113:
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. Die Trac Benachrichtigungsmails enthalten in der Fusszeile die URL des jeweiligen Tickets. Da wir einen ssl-Webserver nutzen, muss die URL in unserem Fall mit ''https://'' statt ''http://'' beginnen.

TableOfContents


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&auml;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 enthalten in der Fusszeile die URL des jeweiligen Tickets. Da wir einen ssl-Webserver nutzen, muss die URL in unserem Fall mit https:// statt http:// beginnen.

Um dieses Verhalten zu aendern, muss die Datei /usr/lib/python2.3/site-packages/trac/Notify.py mit diesem [attachment:trac-https_notifier_mail.3.patch Patch] gepatched werden.

FaxeTrac (zuletzt geändert am 2012-06-13 21:26:25 durch anonym)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.