Debian 10 (Buster) – SVN Server Administration

Hat man einmal einen SVN Server auf einem Debian installiert (vgl. hier: https://www.och-group.de/2019/09/debian-10-buster-svn-server-installation/ ), so muss die Verwaltung im Standard über die für manche „unkomfortable“ Console geschehen. Eine grafische Oberfläche wird bei der Standard SVN Installation unter Debian leider nicht mitgeliefert. Sucht man im Internetnet, so findet man einige Tools, welche leider vollkommen „oversized“ mit sql Datenbank, zusätzlichen Paketen oder sonstigem „Ballast“ installiert werden wollen.

Für mein Setup habe ich ein möglichst schlankes Tool gesucht, mit dem ich über eine Weboberfläche (der Apache ist ja für dav_svn bereits installiert) die Administration der SVN repos durchführen kann. Nach langer suche habe ich das Tool „iF.SVNAdmin“ gefunden ( https://svnadmin.insanefactory.com/ ). Die Installation ist nicht ganz so einfach, da die Dokumentation hier nicht ganz sauber geschrieben ist. Deswegen folgt hier auf der Basis meiner Anleitung zur Installation des SVN Servers hier die Installationsanleitung für iF.SVNAdmin.

Leider ist diese SVN / Subversion Administrationsoberfläche seit einiger Zeit nicht aktualisiert worden. Dennoch funktioniert es auf einem aktuellen Debian 10 immer noch.

Zuerst wird die Voraussetzung und PHP mit PHP-XML installiert.

apt install php php-xml
service apache2 restart

Danach die Zip Datei herunterladen, lokal entpacken und auf den Webserver hochladen (in meinem Fall nach /var/www/html). Die aktuelle Version findet man hier:
https://svnadmin.insanefactory.com/
Aktuell wird Version „1.6.2 stable“ zum Download angeboten.

Nach dem upload in das Zielverzeichnis müssen die Berechtigungen und die Eigentümerschaft eingestellt werden. Hierfür einfach per SSH auf die Console gehen und mit dem root Benutzer folgende Berechtigungen setzen:

chmod -R 777 /var/www/html/data
chown www-data:www-data /var/www/html -R
chown www-data:www-data /etc/apache2/dav_svn.authz
chown www-data:www-data /etc/apache2/dav_svn.passwd

Jetzt kann die Webseite schon per http aufgerufen werden. Zuerst wir der Settings Dialog angezeigt in dem die Felder wie folgt befüllt werden:

  • Subversion Authorization file: /etc/apache2/dav_svn.authz
  • User Authentication file (SVNUserFile): /etc/apache2/dav_svn.passwd
  • Parent directory of the repositories (SVNParentPath): /var/lib/svn
  • Subversion client executable: /bin/svn
  • Subversion admin executable: /bin/svnadmin

Speichern – fertig.

Die in der vorigen Anleitung angelegten Benutzer sind bereits übernommen worden, da dieses PHP Tool direkt mit den für SVN wichtigen zwei Standard-Konfigurationsdateien arbeitet. Eine Datenbank als „Zwischenspeicher“ ist hier nicht von nöten. Damit können ggf. notwendige Einstellungen auch über SVN-Konfigdateien erfolgen, sollte dies eines Tages notwendig werden, bspw. aus Kompatibilitätsgründen.

Wer will, kann auch die inoffizelle Version 1.6.3 herunterladen („master.zip“). Diese wurde nicht veröffentlicht, scheint aber kleine Probleme zu fixen:
https://github.com/mfreiholz/iF.SVNAdmin/issues/76

Quellen

  • https://svnadmin.insanefactory.com/documentation/