TableOfContents


Begriffe und Variablen

Die Variablen muessen durch eintsprechende Eintraege ersetzt werden.

Variable

Bedeutung

Beispiel

$PATCH

Dateiname eines beliebigen Patches


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>

</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

Grundinstallation

Bisher läuft es nur manuell, dafür ist es aber schön trivial. Zuvor brauchst du ein existierendes svn Repository:

/data/scripts/erzeuge_svn_repos.sh NAME
trac-admin /data/trac/NAME initenv

Die neu angelegte Verzeichnisstruktur muss nun noch den Besitzer wechseln:

chown -R www-data. /data/trac/NAME

Folgende Anpassung von /data/trac/NAME/conf/trac.ini müssen vorgenommen werden:

[trac]
htdocs_location = /trac-shared/

[notification]
smtp_enabled = true
smtp_replyto = trac-NAME[at]lists.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 kann, falls es kein Repository zum Projekt gibt, /var/lib/svn-dummy-repos/ angeben.

Nach Änderungen der Konfigurationsdatei musst du wegen mod_python den apache neustarten:

apache2ctl restart 

Mailingliste

Zum Anlegen einer Mailingliste für das trac-Projekt sind zwei Schritte erforderlich:

die admin-Konsole

Füge folgende Zeilen in die templates/site_header.cs ein:

<div style="position:absolute; top:10x; right:10px">
<a href="/tracadmin" title="die selbstgemachte Konsolen-Oberfl&auml;che">TracAdmin-Konsole</a>
</div> 

Admin-Rechte vergeben

Um einem Nutzer alle Rechte zu geben, genügt folgende Zeile in der trac-Admin-Konsole:

permission add $NUTZER TICKET_ADMIN REPORT_CREATE REPORT_MODIFY REPORT_DELETE REPORT_ADMIN WIKI_DELETE WIKI_ADMIN MILESTONE_CREATE MILESTONE_MODIFY MILESTONE_DELETE ROADMAP_ADMIN CONFIG_VIEW TRAC_ADMIN 

Bugs und Anpassungen

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 Verbatim(https://) statt Verbatim(http://) beginnen.

Unter [wiki:SubVersion/sao/patches/trac /data/patches/trac] liegt der entsprechende PatchFootNote(Der Patch bezieht sich auf die Debian Trac-Version 0.8.1-3). Um die Datei zu patchen ist folgendes durchzuführen:

cd /usr/lib/python2.3/site-packages/trac/

patch -p1 </data/patches/trac/notifier_mail-https-ticket-links.patch

Ticket-Kommentare in der Timeline

Kommentare zu den einzelnen Tickets werden in der Timeline nicht angezeigt. Siehe hierzu [http://projects.edgewall.com/trac/ticket/890Ticket 890] des Trac-Projekts. Unter [wiki:SubVersion/sao/patches/trac /data/patches/trac] liegen die zwei (angepassten) Patches:

cd /usr/lib/python2.3/site-packages/trac/

patch -p1 </data/patches/trac/timeline_ticket-change_part1.patch

cd /usr/share/trac/

patch -p1 </data/patches/trac/timeline_ticket-change_part2.patch

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