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:
<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:
<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...