Forum EUserv

VPS/vServer - virtual private server => vServer - HowTo's => Thema gestartet von: Transporter am 08.Mai 2011, 00:42:18

Titel: [HOW TO] Apache Subversion (SVN) installieren
Beitrag von: Transporter am 08.Mai 2011, 00:42:18
Ich weiß SVN gehört nicht zu den neuesten Systemen, funktioniert aber einwandfrei. Im folgenden möchte ich kurz erläutern wie man einen SVN-Server unter Debian aufsetzen kann.

Voraussetzung: Apache2 + SSL

Zuerst müssen die passenden Pakete installiert werden:
apt-get install libapache2-svn subversion subversion-tools
Als nächstes wird SVN der Apache-Konfiguration hinzugefügt:
a2enmod dav_svn
Jetzt fehlt noch ein passendes Verzeichnis für die Projekte:
mkdir /home/svn
touch /home/svn/.dav_svn.passwd
touch /home/svn/.dav_svn.access
chown -R www-data /home/svn/
chgrp -R www-data /home/svn/

Um den Zugriff zu regeln werden jetzt passende User angelegt:
su www-data
htpasswd -c -m /home/svn/.dav_svn.passwd user1
htpasswd -m /home/svn/.dav_svn.passwd user2

Nun können die Projekte angelegt werden (immer noch als www-data):
cd /home/svn
svnadmin create projekt1

Es fehlen noch die Apache-Konfiguration und die Rechteverwaltung. Beginnen wir mit Apache. In die SSL-Konfiguration muss folgendes eingetragen werden:
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "SVN Repository"
AuthzSVNAccessFile /home/svn/.dav_svn.access
AuthUserFile /home/svn/.dav_svn.passwd
Require valid-user
Options FollowSymLinks
</Location>

Rechteverwaltung (.dav_svn.access):
#
# Gruppeneinstellungen
#
[groups]
team1 = user1, user2, user3
team2 = user2, user3, user4

#
# team1 hat Lese- und Schreibrechte in projekt1
# inklusive aller Unterverzeichnisse
# Alle anderen haben nur Leserechte
#
[projekt1:/]
@team1 = rw
* = r

#
# In projekt2 haben nur user5 und user6 Schreib- und Leserechte
# Alle anderen haben nur Leserechte
#
[projekt2:/]
user5 = rw
user6 = rw
* = r

#
# user2 darf in das Unterverzeichnis unterverz schreiben
#
[projekt2:/unterverz]
user5 = rw
user6 = rw
user2 = rw
* = r


Bei den Userrechten kann man sowohl mit Gruppen als auch mit einzelnen Usern arbeiten.

Zum Schluss den Apache noch neustarten und fertig ist der SVN!