VPS/vServer - virtual private server > vServer - HowTo's

[HOW TO] Apache Subversion (SVN) installieren

(1/1)

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

--- Code: ---apt-get install libapache2-svn subversion subversion-tools
--- Ende Code ---

Als nächstes wird SVN der Apache-Konfiguration hinzugefügt:

--- Code: ---a2enmod dav_svn
--- Ende Code ---

Jetzt fehlt noch ein passendes Verzeichnis für die Projekte:

--- Code: ---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/
--- Ende Code ---

Um den Zugriff zu regeln werden jetzt passende User angelegt:

--- Code: ---su www-data
htpasswd -c -m /home/svn/.dav_svn.passwd user1
htpasswd -m /home/svn/.dav_svn.passwd user2
--- Ende Code ---

Nun können die Projekte angelegt werden (immer noch als www-data):

--- Code: ---cd /home/svn
svnadmin create projekt1
--- Ende Code ---

Es fehlen noch die Apache-Konfiguration und die Rechteverwaltung. Beginnen wir mit Apache. In die SSL-Konfiguration muss folgendes eingetragen werden:

--- Code: --- <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>
--- Ende Code ---

Rechteverwaltung (.dav_svn.access):

--- Code: ---#
# 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


--- Ende Code ---

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!

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln