====== trac ====== Trac ist ein freies, webbasiertes Projektmanagement-Werkzeug zur Softwareentwicklung. Es enthält eine webbasierte Oberfläche zum Betrachten von Subversion-Repositories, ein Wiki zum kollaborativen Erstellen und Pflegen von (z. B.) Dokumentation und einen Bugtracker zum Erfassen und Verwalten von Programmfehlern und Erweiterungswünschen. [[http://de.wikipedia.org/wiki/Trac|siehe Wikipedia]] Gezeigt wird die Installation und Konfiguration von trac für die Entwicklung eines Hexapoden (Laufroboter) im Fach NWT. ===== Installation ===== Abhängigkeiten installieren: sudo apt-get install python-setuptools python-genshi python-mysqldb libapache2-mod-wsgi (MySQL Server, Apache & SVN sind ja schon installiert) Trac mithilfe von easy_install installieren: Zuerst wird Babel benötigt, dann kommt erst trac an die Reihe: sudo easy_install Babel==0.9.5 sudo easy_install Trac==0.12 Die Option ==0.12 muss vorhanden sein, da sonst eine neuere Version von python-genshi erwartet wird, die aktuell (Stand März 2011) nicht in den Repo's von Ubuntu 10.04 vorhanden ist. ===== Vorbereitung MySQL ===== Wir loggen uns am MySQL-Server mit ausreichend Rechten an: user@karlchen:/var/trac$ mysql -u root -p mysql> Und legen eine neue Datenbank mit dem Namen "trac" an und überprüfen ihre Kodierung: mysql> CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; mysql> USE trac; mysql> SHOW VARIABLES WHERE variable_name IN ('character_set_database', 'collation_database'); +------------------------+----------+ | Variable_name | Value | +------------------------+----------+ | character_set_database | utf8 | | collation_database | utf8_bin | +------------------------+----------+ 2 rows in set (0.00 sec) mysql> Bei obiger Ausgabe ist alles in Ordnung und wir können einen neuen User für Trac erstellen und ihm die Rechte an trac geben (mit einem Geheimen Passwort): mysql> GRANT ALL ON trac.* TO tracuser@localhost IDENTIFIED BY 'GEHEIM'; mysql> quit ===== Konfiguration ===== ==== trac Verzeichniss anlegen ==== Unser trac Verzeichniss soll sich später in /var befinden, trac heißen & dem Webserver gehören: cd /var sudo mkdir trac sudo chown -R www-data:www-data trac Hier kann man später seine Projekte anlegen. ==== Neues Projekt erstellen ==== Dazu wechseln wir in unser trac-Verzeichniss und erstellen einen Ordner mit (projektbezogenen) Namen. Anschließend sagen wir trac, dass es hier nun eine neue Projektumgebung erstellen soll und konfigurieren es gleich. Wichtig ist dabei, dass man die MySQL-Zugangsdaten parat hat. user@rechner:/var/trac$ sudo mkdir hexa user@rechner:/var/trac$ sudo trac-admin hexa/ initenv Es wird eine neue Trac-Projektumgebung in /var/trac/hexa angelegt Trac wird zunächst einige Fragen zu Ihrer Projektumgebung stellen, damit die Projekt-Datenbank initialisiert und vorbereitet werden kann. Bitte geben Sie den Namen Ihres Projekts ein. Dieser Name wird in Beschreibungen und Titeln von Seiten verwendet. Name des Projekts [My Project]> NWT Hexapod Bitte geben Sie den Verbindungsstring für die zum Einsatz kommende Datenbank an. Als Standard wird eine lokale SQLite-Datenbank im Verzeichnis der Projektumgebung erstellt. Es ist auch möglich, eine bereits vorhandene PostgreSQL-Datenbank zu verwenden (Schlagen Sie für die genaue Syntax des Verbindungsstrings in der Dokumentation zu Trac nach). Datenbankverbindungsstring [sqlite:db/trac.db]> mysql://tracuser:TOPSECRET@localhost/trac Das Projekt wird angelegt und initialisiert # Viel Text... --------------------------------------------------------------------- Projektumgebung für 'NWT Hexapod' angelegt. Sie können nun die Projektumgebung konfigurieren, indem Sie folgende Datei bearbeiten: /var/trac/hexa/conf/trac.ini # Noch ein bisschen Info... Sie finden den neuesten Stand der Dokumentation auch jederzeit auf der Website des Projekts: http://trac.edgewall.org/ Gratulation! Wenn wir "Gratulation" lesen, haben wir das neue Projekt erfolgreich initialisiert. Jetzt brauch nurnoch der Apache Rechte daran und wir können mit dem nächsten Schritt fortfahren: sudo chown -R www-data:www-data hexa/ ==== Integration in Apache ==== Um trac mit dem Apachen ausgeben zu können, müssen wir ein paar Dateien aus dem Projekt extrahieren (funktioniert angeblich nur mit "frischen" Projekten) was dieser Befehl erledigt: cd /var/trac/ sudo trac-admin hexa/ deploy . Damit sollten nun im aktuellen Verzeichniss ein paar Ordner auftauchen. Jetzt müssen wir dem Apachen noch sagen, dass da Daten liegen, um die er sich kümmern muss. Da unser trac nur über https zu erreichen sein soll, fügen wir folgendes in die /etc/apache2/sites-enabled/000-default-ssl noch vor dem SkriptAlias ein... Alias /trac/chrome/common /var/trac/htdocs/common Alias /trac/chrome/site /var/trac/htdocs/site Order allow,deny Allow from all WSGIScriptAlias /trac /var/trac/cgi-bin/trac.wsgi ... laden das wsgi-Modul in den Apachen und starten ihn neu: sudo a2enmod wsgi sudo /etc/init.d/apache2 restart Jetzt kann man trac schon unter https://www.servername.tld/trac Da jetzt aber jeder Internetnutzer unsere Daten sehen kann und unter umständen womöglich noch editieren, gehen wir zügig zur Absicherung über. ==== Sicherheit / Authentifizierung ==== ==== Integration von Subversion ==== ===== Externe Quellen / Anleitungen ===== http://trac.edgewall.org/wiki/TracInstall (und das ganze Trac-Wiki) \\ http://wiki.ubuntuusers.de/Trac \\