7574
Kommentar:
|
193
Unterseiten angelegt
|
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ä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ä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 |
- ["/Installation"] -- Trac installieren und den Apache-Webserver einrichten
- ["/Anpassungen"] -- Kleine Anpassungen und Patches
- ["/Verwaltung"] -- Trac-Projekte anlegen und verwalten