Subversion mit svnserve und apache

Durch Subversion-Repositories kann man sich auf verschiedenen Wegen bewegen. Nicht untypisch ist, Zugriff sowohl über svn+ssh:// und http(s):// parallel anzubieten. In diesem Teil wird die Einrichtung eines Subversion-Repositories beschrieben.

Wie immer wird mit dem Installieren der notwendigen Pakete begonnen, unter Debian z.B. per apt-get:

apt-get install subversion

Das Subversion-Repository soll dem System-User subversion gehören. Dieser Account braucht keinen Zugang zum System, daher wird er zugangslos angelegt:

adduser --disabled-login subversion

Das Repository selbst ist schnell angelegt:

su - subversion -c "svnadm create \~subversion/SVN"

Die Zugriffs-Berechtigungen werden in /home/subversion/SVN/conf/svnserve.conf und conf/authz geregelt.  Eine Gruppe mit Nur-Lese-Berechtigung ist schnell eingerichtet:

# /home/subversion/SVN/conf/svnserve.conf
[general]
anon-access = none
auth-access = none
password-db = passwd
authz-db = authz
# /home/subversion/SVN/conf/authz
[groups]
g_readonly = testuser

[/]
* =\
@g_readonly = r

Die User-Passwort-Datei /home/subversion/SVN/conf/passwd bleibt unangetastet.

In Teil 2 folgt die Einrichtung des SVN-Zugriffs per HTTP(S), also via Apache.

Referenz(en)