Unterschiede zwischen den Revisionen 22 und 24 (über 2 Versionen hinweg)
Revision 22 vom 2006-02-14 11:59:17
Größe: 7574
Autor: age
Kommentar:
Revision 24 vom 2012-06-13 21:26:25
Größe: 193
Autor: anonym
Kommentar: converted to 1.6 markup
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
[[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>
     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 ==

=== 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}}}
 * bei der trac Initialisierung gibt's du ''/data/repos/NAME'' als svn Pfad an.

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:
 * auf dem ldap-Server: `ldap-admin.sh service_add trac NAME "eine fluffige Beschreibung"`
 * sende eine Mail an ''trac-NAME-create[at]lists.systemausfall.org''

=== 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 Patch[[FootNote(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
}}}
 * [[/Installation]] -- Trac installieren und den Apache-Webserver einrichten
 * [[/Anpassungen]] -- Kleine Anpassungen und Patches
 * [[/Verwaltung]] -- Trac-Projekte anlegen und verwalten

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.