Im Folgenden gehe ich von einer openSUSE 10.2-Installation mit Apache-Server aus (wobei die Prinzipien auf jeder anderen Linux-Distribution gleich oder zumindest ähnlich sind).
Subversion gibt es als Standalone-Programm und als Apache-Aufsatz. Letztere Variante wird wohl häufiger genutzt und bietet zudem auch einige Features mehr (z.B. Webbrowsing der Repositories), weshalb ich im folgenden auch nur letztere Variante beschreiben werde. Als Editor wird hier nano verwendet. Natürlich kann auch jeder andere Texteditor (z.B. vi) genutzt werden.
Installation
Zunächst müssen die Subversion-Pakete über Yast installiert werden. Das geht recht einfach, da diese auch eindeutig als solche identifizierbar sind:
subversion, subversion-server, subversion-python, viewvc
Jetzt kann das Hauptverzeichnis des Repositories über folgenden Kommandozeilenbefehl angelegt werden:
- Code: Alles auswählen
mkdir /repos
Über
- Code: Alles auswählen
svnadmin create /repos/<Repository-Name>
Nun fehlen noch die zugriffsberechtigten Nutzer. Der erste Nutzer wird angelegt über
- Code: Alles auswählen
htpasswd2 -cm /repos/<Repository-Name>/passwdfile <Name>
Weitere Nutzer können dann angelegt werden über
- Code: Alles auswählen
htpasswd2 -m /repos/<Repository-Name>/passwdfile <Name>
Vor dem Anlegen der Nutzer müssen noch die gewünschten Passwörter eingegeben werden. Nach wiederholter Eingabe werden die Daten dann unter /repos/passwdfile gespeichert.
Anschließend muss Apache noch die Freigabe von 3 Modulen erhalten. Dazu folgenden Code in die Kommandozeile eingeben:
- Code: Alles auswählen
nano /etc/sysconfig/apache2
Hier müssen nun zwischen die Anführungszeichen der Zeile APACHE_MODULES=”…” die notwendigen Module ergänzt werden. Diese sind dav, dav_svn und authz_svn, die hier Leerzeichen-separiert eingetragen werden. Anschließend kann die Datei mit STRG+O (anschließend ENTER) gespeichert werden. STRG+X beendet den Editor.
Jetzt muss noch die Konfigurationsdatei des Apache-Servers über
- Code: Alles auswählen
nano /etc/apache2/httpd.conf
ergänzt werden:
- Code: Alles auswählen
<Location /repos>
DAV svn
SVNParentPath /repos
AuthType Basic
AuthName “Repositories”
AuthUserFile /repos/<Repository-Name>/passwdfile
Require valid-user
</Location>
Nachdem Apache über
- Code: Alles auswählen
rcapache2 restart
neu gestartet wurde, kann man das Repository über
- Code: Alles auswählen
http://www.deine.domain/repos/<Repository-Name>
Ich rate bei der Nutzung von Subversion von einer SSL-geschützten Verdindung gebrauch zu machen, da andernfalls die Daten im Klartext über das Netz übertragen werden (Sicherheitsrisiko *rotelampeblink*).
Wie das geht, steht unter Installation einer SSL-Verbindung

