ubuntuusers.de

Trac

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./banner.png Trac 🇬🇧 ist eine in Python geschriebene, webbasierte Anwendung, die in der Softwareentwicklung eingesetzt werden kann. Das populäre Webframework Django etwa nutzt 🇬🇧 Trac für die Verwaltung von Fehlerberichten. Das Programm bietet unter einer integrierten Oberfläche ein Ticketsystem, ein Wiki sowie eine Quellcodeverwaltung für Git und Subversion 🇬🇧. Trac lässt sich über Plugins auch für andere Versionskontrollsysteme erweitern.

Das Programm bietet verschiedene Übersichten und Auswertungsmöglichkeiten zum Status der Tickets sowie der Historie der Versionskontrolle. Weiterhin bietet Trac eine recht fein konfigurierbare Benutzerrechteverwaltung. Es wird per Voreinstellung SQLite als Datenbank im Hintergrund genutzt, grundsätzlich besteht aber auch die Möglichkeit, auf MySQL oder PostgreSQL umzustellen, was aber nur bei großen Projekten wirklich notwendig ist.

Grundsätzlich ist der Einsatz von Trac aber nicht auf die Softwareentwicklung beschränkt. So ist z.B. das Ticketsystem recht flexibel konfigurierbar und kann somit auch für andere Anwendungsfälle genutzt werden. Man kann den Versionskontrollteil komplett deaktivieren und so nur das Wiki und das Ticketsystem nutzen.

Trac bringt einen integrierten Server mit und kann so alleinstehend betrieben werden. Dies ist für kleinere und mittleren Projekte, die nicht allzuviele Aufrufe haben, völlig ausreichend. Es besteht aber auch die Möglichkeit, Trac an einen WSGI-Applikationsserver wie z.B. Gunicorn oder waitress anzubinden.

Trac ist zwar einfach zu nutzen, hat aber umfangreiche Konfigurationsmöglichkeiten, von denen hier nur einige grundlegende Schritte beschrieben werden. Im Wiki des Trac Open Source Project 🇬🇧 ist eine weitergehende und sehr detaillierte Dokumentation zu finden.

Installation

Trac besitzt zur Zeit (Stand: April 2024) zwei unterstützte Versionen: 1.4 und die aktuelle Version 1.6. Trac 1.4 läuft nur mit Python 2 und ist aufgrund der eingestellten Unterstützung von Python 2 zur Nutzung nicht mehr empfohlen.

aus den Paketquellen

Trac ist in den Ubuntu-Paketquellen enthalten und kann über das Paket

  • trac (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install trac 

Oder mit apturl installieren, Link: apt://trac

installiert werden [1]. Da die Version aus den Paketquellen nicht unbedingt die aktuelle Version ist, ist die manuelle Installation via pip in der Regel die bessere Wahl.

Hinweis:

Trac ist auch für die Ubuntu-Versionen vor Noble Numbat in den Paketquellen, allerdings nur in der Entwicklungsversion 1.5.x, deren Installation für den Produktivbetrieb nicht geeignet ist.

manuelle Installation via pip

Die aktuelle Version von Trac kann über pip installiert werden. Dazu legt man ein venv an, aktiviert dieses und installiert darin Trac folgendermaßen:

pip3 install trac 

Wer Trac außerhalb eines venv installieren möchte, muss pip mit der entsprechenden Option aufrufen.

Benutzung

Projekt anlegen

Zuerst muss eine Projektumgebung, das "Trac Environment", angelegt werden. Sie darf grundsätzlich in jedem beliebigen Verzeichnis liegen. Zu beachten ist aber, dass Trac später unter einem Benutzer gestartet wird, der auch Schreib- und Leserechte im Projektverzeichnis haben muss.

Mit dem folgenden Befehl wird eine neue Trac-Instanz im eigenen Homeverzeichnis angelegt:

trac-admin  ~/tractest initenv 

Zuerst gibt man bei der Installation einen Namen für das Projekt an. Dann wird nach der Verbindung zur Datenbank gefragt. Sofern man die vorgegebene Datenbank SQLite verwenden möchte - wogegen nichts spricht - bestätigt man den Vorgabewert. Darauf wird die Umgebung komplett angelegt. Im Homeverzeichnis wird das Unterverzeichnis tractest/ angelegt und alle für Trac notwendigen Daten werden dort hinterlegt. Ein Erläuterung der Verzeichnisstruktur ist in der Trac Dokumentation 🇬🇧 zu finden.

tracd Server starten

Über den eingebauten Server von Trac namens "tracd" kann man das Projekt ausliefern:

tracd -p 8001 -b 127.0.0.1 ~/tractest 

Über die Optionen -b 127.0.0.1 und -p 8001 weist man den Server an, auf der IP-Adresse 127.0.0.1 und Port 8001 zu lauschen. Lässt man die Option .-b weg, lauscht tracd auf 0.0.0.0 (=allen Adressen). Man kann tracd auch im Daemon-Mode starten, in dem man zusätzlich die Option -d nutzt. Damit läuft der Server automatisch im Hintergrund und blockiert weder den Shellprompt noch werden Meldungen von Trac ausgegeben. tracd kennt noch eine Reihe weiterer Optionen, die man sich über den Aufruf von trac --help anzeigen lassen kann.

Trac und das Projekt laufen jetzt zwar und sind im Browser unter http://127.0.0.1 erreichbar. Da allerdings keine Benutzer angelegt sind, kann auf alle Seiten nur lesend zugegriffen werden. Informationen zum Anlegen von Nutzern findet man im Abschnitt Benutzer anlegen.

Wenn man den Trac-Server im Daemon-Modus gestartet kann, kann man über den folgenden Befehl stoppen:

sudo killall tracd 

Benutzer anlegen

Um mit Trac aktiv arbeiten zu können, also um Tickets zu erstellen oder Wikieinträge zu bearbeiten, muss man sich als Nutzer anmelden und mit den entsprechenden Rechten ausgestattet sein. Per Voreinstellung ist nach dem Anlegen einer Projektumgebung kein Benutzer angelegt, dies muss von Hand erfolgen.

Zuerst ist eine Passwortdatei anzulegen. Falls ein Apache-Webserver installiert ist, kann man dies einfach über das Programm htpasswd erledigen:

htdigest -c ~/tractest/.htpass REALM NUTZER 

REALM kann prinzipiell beliebig gewählt werden, sollte aber für alle späteren Trac-Benutzer einheitlich sein, da der REALM beim Login ebenfalls verglichen wird.

Um weitere Benutzer anzulegen die Option -c streichen, da sonst die Datei überschrieben wird.

Wer Apache und somit auch htdigest nicht installiert hat, kann die Passwortdatei auch mit Script Generating Passwords Without Apache 🇬🇧 anlegen.

Jetzt muss man nur noch Trac mit Authentifizierung starten:

tracd -p 8001 -b 127.0.0.1 --auth "tractest,/home/NUTZER/tractest/.htpass,REALM" ~/tractest/ 

Hinweis:

Das zweite Argument der Option --auth muss der volle absolute Pfad zu Datei .htpass sein, ~/tractest/.htpass funktioniert an dieser Stelle nicht.

Wichtig ist dabei, dass REALM der gleiche ist wie in der Datei .htpass angelegt, sonst funktioniert der Login nicht. Einloggen kann man sich nach dem Start von Trac mit linke Maustaste auf "Login" im Menü rechts oben.

Benutzerrechte vergeben

Um einen Benutzer mit entsprechenden Rechten auszustatten dient das Programm trac-admin, welches zusammen mit Trac installiert wird. Das Programm dient auch zur generellen Verwaltung einer Trac-Installation.

Trac besitzt eine feingranulare Rechteverwaltung, man kann Rechte für Wiki, Ticketsystem und Versionskontrolle getrennt und mehrstufig pro Nutzer vergeben. Man sollte aber zumindest einen Benutzer mit Admin-Rechten anlegen. Dies erledigt der folgende Befehl:

trac-admin ~/tractest permission add NUTZERNAME TRAC_ADMIN 

Damit wird für den Nutzer NUTZERNAME in dem Projekt, welches unter ~/tractest/ angelegt ist, das volle Admin-Recht gewährt. Meldet sich dieser Nutzer nun an, so hat er alle Rechte innerhalb des Projekts. Analog kann man natürlich für alle anderen, niedrigeren Rechte verfahren. Dabei können auch mehrfach verschiedene Rechte pro Nutzer vergeben werden. Vollständige Übersicht über die Rechte, siehe Seite Trac Permissions 🇬🇧. Nutzer mit Adminrechten könnten die Rechte für andere Nutzer auch innerhalb von Trac editieren, indem sie nach dem Einloggen in der Menüleiste rechts oben auf "Admin → Permissions" klicken.

Trac verwalten und konfigurieren

Zur Verwaltung eines Trac-Projekts dient in erster Linie das mit installierte Programm trac-admin. Die allgemeine Syntax lautet:

trac-admin /Pfad/zur/Installation/Projekt BEFEHL PARAMETER OPTIONEN 

PARAMETER und OPTIONEN können je nach BEFEHL variieren. Ein Beispiel findet man im vorherigen Abschnitt Benutzerrechte vergeben, eine umfassende Befehlsreferenz in TracAdmin 🇬🇧.

Verwaltung mit graphischer Oberfläche

Einen Teil der Konfiguration kann man auch über die Oberfläche von Trac erledigen. Ist man als Benutzer mit Admin-Rechten angemeldet, so sieht man ganz rechts im Menü den Punkt "Admin" - linke Maustaste führt zum Konfigurationsmenü, wo u.a. Benutzerrechte angelegt, das Ticketsystem angepasst sowie Milestones für das Projekt angelegt werden.

Konfigurationsdatei trac.ini

Globale Einstellungen für Trac werden zentral in der Datei trac.ini hinterlegt. Diese Datei findet man im Projektverzeichnis im Order conf. Die Datei kann mit einem beliebigen Editor bearbeitet werden[3]. Da die Datei an sich nicht kommentiert ist, sollte man vorher The Trac Configuration File 🇬🇧 lesen.

Projektinformationen anpassen

Um Informationen zum eigenen Projekt in Trac anzuzeigen, öffnet man die Datei trac.ini und navigiert darin zum Anschnitt [project]. Hier kann man unter anderem den Titel des Projekts hinterlegen, die Fusszeile festlegen, die auf jeder Seite angezeigt wird, sowie den Pfad zum eigenen FavIcon für die Tracseite angeben.

Das Projektlogo, was ebenfalls auf jeder Seite angezeigt wird, kann man im Abschnitt [header_logo] festlegen.

Git-Repositorium hinterlegen

In der Standardinstallation unterstützt Trac zwar, wie oben bereits erwähnt, Git und SVN als Versionskontrollsysteme, allerdings sind beide nicht aktiv. Um Git zu aktivieren, öffnen man die Konfigurationsdatei trac.ini mit einem Editor und fügt die folgende Sektion hinzu:

1
2
[components]
tracopt.versioncontrol.git.* = enabled

Anschließend kann man sich in Trac einloggen und - sofern der Benutzer administrative Rechte hat - über "Admin → Repositories" ein oder mehrere Git-Repositorien anlegen.

Weitere Hinweise zur Einbindung von Git in Trac findet man in der Dokumentation 🇬🇧.

Erweiterungen

Trac ist über Plugins erweiterbar. Plugins können z.B. recht einfach über das "Admin" Menü installiert und danach in der Datei trac.ini aktiviert werden. Allgemeine Informationen findet man in Trac plugins 🇬🇧, eine Auswahlliste in Trac Plugins List 🇬🇧. Des Weiteren gibt es auf der Seite Trac Hacks 🇬🇧 eine sehr große Auswahl von Plugins, Makrofunktionen, Skripten und Themes und Integrationslösungen für verschiedene Dienste von nicht dem Projekt angehörigen Programmierern.

Hinweis:

Vor der Installation eines Plugins sollte man unbedingt darauf achten, ob das Plugin für die eigene Trac-Version geeignet ist, sonst kann es zu unerwarteten Resultaten kommen. Gerade auf der Seite Trac Hacks gibt es ein Vielzahl von Plugins, welche nur mit einer bestimmten Trac-Version laufen; viele davon sind noch nicht für die neue stabile Version 1.6 portiert.

Plugins bei Installation aus den Quellen

Hat man Trac über die Ubuntu-Paketquellen installiert, so sind darüber auch einige Plugins installierbar. Die Pakete haben alle das Namensschema trac-*.

Backup

Über das oben genannte Programm trac-admin lassen sich auch Sicherungen des Projekts anlegen. Dies geschieht über den Befehl:

sudo trac-admin /Pfad/zum/Projekt/Projektname hotcopy /Pfad/zum/Sicherungsverzeichnis 

Möchte man eine Sicherung zurückspielen, muss man zuerst Trac bzw. den Server stoppen und dann einfach alle Dateien aus dem Sicherungsverzeichnis ins Projektverzeichnis zurückkopieren.

Hinweis:

Dies funktioniert nur, wenn man SQLite als Datenbank benutzt. Beim Einsatz einer anderen Datenbank muss man diese separat sichern. Weitere Hinweise findet man in Trac Backup 🇬🇧.

Intern

Extern

Diese Revision wurde am 29. April 2024 08:56 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Server, Programmierung, Python, Wikisoftware