Logaholic.de

Avatar

queer as code!

Miniguide: Subversion und Trac als Entwicklungsumgebung

Ich möchte heute in aller Kürze die Schritte beschreiben, um eine vollständige Entwicklungsumgebung mit Subversion und Trac einzurichten. Ich verwende dazu Debian etch, den Paketmanager APT und brauche root-Rechte.

Als erstes installieren wir die benötigten Pakete (Apache2, Subversion und Trac):

apt-get install apache2-mpm-prefork libapache2-svn \
  libapache2-mod-python subversion trac

Im nächsten Schritt legen wir die Verzeichnisse für das Subversion Repository und die Trac Umgebung an. Ich verwende hier gerne /var/svn/projektname und /var/trac/projektname:

mkdir /var/svn/projektname
mkdir /var/trac/projektname

Jetzt können wir das SVN-Repository initialisieren:

svnadmin create /var/svn/projektname

Um Trac initialisieren zu können, muss es schon mindestens einen Commit ins SVN-Repo gegeben haben. Hierzu legen wir kurz die initiale Ordnerstruktur mit den üblichen Ordnern trunk, tags und branches in /tmp an:

cd /tmp
mkdir svn_init
cd svn_init
mkdir trunk
mkdir branches
mkdir tags

Jetzt können wir die Ordnerstruktur ins SVN-Repo übertragen:

svn import -m "initial import" /tmp/svn_init \
  file:///var/svn/projektname

Bei der Trac-Initialisierung werden uns einige Fragen vom Script gestellt. Den Projektnamen sollte man natürlich angeben, und der Pfad zum SVN-Repo (/var/svn/projektname) ist absolut wichtig. Der Rest kann beim Standard (einfach Enter drücken) belassen werden:

trac-admin /var/trac/projektname initenv

Damit der Webserver Zugriff auf beide Projekte hat, müssen wir die Ordner-/Dateirechte entsprechend anpassen:

chown -R www-data:www-data /var/trac/projektname
chown -R www-data:www-data /var/svn/projektname

Die Konfiguration von Trac und SVN ist hier soweit abgeschlossen.

Um das ganze von außen zugänglich zu machen, müssen wir noch User anlegen und den Apache konfigurieren.

Die User lege ich gerne gemeinsam für Trac und SVN an, und lege die Zugangsdaten in /etc/projektname/dev.htpasswd ab:

htpasswd -c /etc/projektname/dev.htpasswd username

Weitere User hinzufügen oder editieren kann man mit

htpasswd /etc/projektname/dev.htpasswd username

Möchte man User löschen oder deaktivieren, öffnet man die dev.htpasswd mit einem Texteditor und entfernt einfach die entsprechende Zeile.

Um diese Anleitung möglichst einfach zu halten, werden wir den Apache global ohne vhosts konfigurieren (man kann die folgenden Direktiven selbstverständlich auch in Vhosts integrieren).

Für SVN legt man in /etc/apache2/sites-available/default folgende Zeilen an:

<Location /svn/projektname>
        DAV svn
        SVNPath /var/svn/projektname
        AuthType Basic
        AuthName "projektname SVN Repository"
        AuthUserFile /etc/projektname/dev.htpasswd
        Require valid-user
</Location>

Für das Trac gibts folgende Einträge:

<Location /trac/projektname>
        SetHandler mod_python
        PythonInterpreter main_interpreter
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /var/trac/projektname
        PythonOption TracUriRoot /trac/projektname
        AuthType Basic
        AuthName "projektname Trac"
        AuthUserFile /etc/projektname/dev.htpasswd
        Require valid-user
</Location>

Im letzten Schritt starten wir den Apache2 neu und können hoffentlich das Trac und das Subversion Repository unter http://projekt.url/svn/projektname respektive http://projekt.url/trac/projektname erreichen.

/etc/init.d/apache2 restart
Bookmark and Share

No related posts.

No Comments, Comment or Ping

Reply to “Miniguide: Subversion und Trac als Entwicklungsumgebung”