Apache 2 - SVN
SVN
SVN Installation
- Subversion installieren:
apt-get update
apt-get install subversion
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
SVN Repository erstellen
svnadmin create /var/svn-repos/repo123
Dateirechte für Apache2 für Repository vergeben
chown -R www-data:www-data /var/svn-repos/repo123
Apache 2 Vorbereitungen
Apache SVN Modul installieren
apt-get install libapache2-svn
Apache Module aktivieren
a2enmod dav
a2enmod dav_svn
a2enmod authz_svn
Benutzerverzeichnis anlegen
- nun legen wir für den Webzugriff unsere User an
Benutzerverzeichnis erstmalig anlegen mit der Option -c
Achtung! Bestehende Nutzer werden dabei überschrieben! Das ist zum Anlegen des Verzeichnisses, nicht eines neuen Users!
htpasswd -c /etc/apache2/dav_svn.passwd user1
- danach müsst ihr ein Passwort festlegen
Weitere Benutzer in das Benutzerverzeichnis anlegen
htpasswd /etc/apache2/dav_svn.passwd 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.