Skip to main content

Apache 2 - SVN

SVN Installation

- Subversion installieren:

# apt-get update
# apt-get install subversion
# apt-get install libapache2-svn
# a2enmod dav
# a2enmod dav_svn
# a2enmod authz_svn

Speicherort für Repositories anlegen

- Ordner erstellen wo alle Repositories gespeichert werden sollen

# mkdir /var/svn-repos/

- Rechte für Apache2 vergeben

chown www-data.www-data /var/svn-repos

Apache 2 Vorbereitungen

Benutzerverzeichnis anlegen

- nun legen wir für den Webzugriff unsere User an

Benutzerverzeichnis erstmalig anlegen mit der Option -c

htpasswd -c user1

- danach müsst ihr ein Passwort festlegen

Weitere Benutzer in das Benutzerverzeichnis anlegen

htpasswd user2

- danach müsst ihr ebenfalls ein Passwort festlegen

Mit diesen Benutzern könnt ihr jetzt arbeiten und Zugriffe steuern.

Accessfile anlegen

- diese Datei beinhaltet die Regelungen welche User oder gruppe auf welche Repos oder Verzeichnisse zugreifen darf

- diese Datei unter /etc/apache2 speichern

- Beispiel: dav_svn.accessfile

# Definitions of groups with users from operating system
[groups]
admins = user1,user2
testusers = user2

# Definitions of repositories

[user1:/]
user1 = rw
user2 = r

[user2:/]
user1 = r
user2 = rw

[test:/]
@testusers = rw

Apache2 Konfiguration

Nun müsst ihr eine sog. VHOST Konfiguration anlegen und euren Ordner angeben, den wir am Anfang angelegt haben. In unserem Beispiel also /var/svn-repos.

Hier eine Beispiel Konfiguration:

<Location /svn>
        DAV svn
        SVNParentPath /var/svn-repos
        SVNListParentPath On

        AuthType Basic
        AuthName "SVN Authorization Realm"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
        AuthzSVNAccessFile /etc/apache2/dav_svn.accessfile
</Location>

Fertig!

Danach nochmal den Apache2 neustarten /etc/init.d/apache2 restart und ihr könnt euer SVN bequem für eure Teams einrichten ohne auf eurem Linuxsystem Unmengen an Usern anlegen zu müssen.