SVN Apache Modul und Vhosts
Nach der Installation eines SVN-Servers und dem Apache Modul libapache2-svn auf meinem Debian-Etch System hatte ich ein kleines Problem mit der Default-Config auf welches ich hier kurz eingehen möchte.
Um ein Repository über http(s) erreichbar zu machen wird stardardmäßig die Datei /etc/apache2/mods-available/dav_svn.conf verwendet. Hier finden sich ein paar Zeilen welche in etwas so aussehen:
1 2 3 4 5 6 7 8 | <Location /myproject_site> DAV svn SVNPath /var/svn/myproject AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/svn.passwd Require valid-user </Location> |
Damit ist das Repository allerdings unter jeder Domain die auf dem Server läuft erreichbar. (domainname.tld/myproject_site).
Um das Repository nur unter einem Vhost erreichbar zu machen, etwa svn.domain.tld kann man die Zeilen aus der dav_svn.conf in die httpd.conf des Apaches verschieben. Das könnte beispielsweise so ausssehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <VirtualHost 11.22.33.44:80>
ServerName svn.domain.tld
DocumentRoot "/var/www/svn.domain.tld/"
<Location />
DAV svn
SVNPath /var/svn/myproject
AuthType Basic
AuthName "domain.tld Repository"
AuthUserFile /etc/apache2/svn.passwd
Require valid-user
AuthzSVNAccessFile /var/svn/myproject/conf/authz
</Location>
</VirtualHost> |
Damit ist das Repository dann nur noch unter svn.domain.tld erreichbar.
Eine grundlegende Anleitung zum einrichten eines SVN-Server gibt es z.B. hier: Installing Subversion on Debian Etch Complete…
