Dieser Artikel beschreibt wie man Subversion unter Debian installiert mit dem Repository auf einen gemoutetem NFS Share.
1. Installation
aptitude install subversion libapache2-svn
2. Erstellen des Repositories
mkdir /mnt/nfsshare/svn/ svnadmin create --fs-type fsfs /mnt/nfsshare/svn/project1
Der Pfad /mnt/nfsshare ist der Mountpunkt der NFS-Freigabe, wichtig ist der fsfs Filesystemtyp beim erzeugen des Repositories. Dieser Typ ist für die NFS Unterstützung erforderlich.
3. Rechte
chown -R www-data:www-data /mnt/nfsshare/svn/* chmod -R 770 /var/svn-repos/*
4. WebDAV aktivieren
a2enmod dav a2enmod dav_svn
5. Zugriffscontrolle
Erstellen einer htaccess Datei:
htpasswd2 -c /etc/apache2/svn.passwd your_username
6. SVN Konfiguration
<location /project1>
DAV svn
SVNPath /mnt/nfsshare/svn/project1
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/svn.passwd
Require valid-user
SSLRequireSSL
</location>
Bearbeiten der Datei “/etc/apache2/mods-available/dav_svn.conf”:
7. Neustarten des Apache Webservers
/etc/init.d/apache2 restart
8. Mit dem Subversionserver verbinden
Nun kann man sich mit seinem Subversionserver mit seinem entsprechenden Client verbinden.
9. Mögliche Probleme
9.1 “svn: Can’t get exclusive lock on file ‘/mnt/nfsshare/svn/project1/db/txn-current-lock’: No locks available”
Überprüfen der Logs auf dem NFS-Server:
tail /var/log/messages
kernel: lockd: cannot monitor nfs -Client-Name/IP
Man bekommt diese Meldung, wegen eines Problems mit dem rpc.statd Service.
Überprüfen ob dieser läuft:
ps -ef | grep stat
Man kann diesen Service per Hand starten:
/sbin/rpc.statd
Nun sollte der Commit mit Subversion funktionieren.
Dieser Service ist Teil von “nfs-common” diesen sollte man beim Systemstart mit starten:
update-rc.d nfs-common defaults


