Subversion in a Nutshell: der schnelle Weg zum eigenen Repository…
Nachdem ich lange lange rumgebastelt und einen Berg unterschiedlichen Hinweisen und Erklärungen zu Subversion gelesen habe, hab ich mich entschlossen, ein kurzes Howto zusammenzuschreiben, wie ich das Ganze aufgesetzt habe, wobei ich bewußt darauf verzichte alles aus den Sourcen zu bauen…
Installation der benötigten Pakete:
Als Basis dient mir ein Debian Testing System mit den folgenden Paketen:
- apache2-common
- libapache2-svn
- subversion
Alle weiteren notwendigen Abhängigkeiten werden durch apt-get mitinstalliert.
Konfiguration:
Ich habe mich entschieden, für Subversion einen eigenen User anzulegen, in dessen Home Verzeichnis alle Repositories ihren Platz finden. Unter dieser Userkennung wird auch später der Apache laufen. Dazu legen wir einen User und eine Gruppe svn an:
groupadd svn
useradd –create-home –gid svn svn
Unser späteres Repository soll testrepository heissen und in /home/svn/svn liegen. Damit der Apache damit auch umgehen kann, ist eine Anpassung der Konfigurationsdatei erforderlich, in unserer Beispielinstallation unter: /etc/apache2/apache2.conf.Wir ändern apache-user und -group (normalerweise www-data) auf svn. Folgende Einträge sind erforderlich um das spätere Repository unter der URL: http://server.domain/svn/ bekannt zu geben:
DAV svn # Webdav aktivieren
SVNParentPath /home/svn/svn # wo liegen die repositories im Filesystem
SVNListParentPath on
AuthType Basic # wir wollen Authorisierung mittels htaccess
AuthName “Subversion Repository” # Name des Authorisierungsdialogs
AuthUserFile /home/svn/svn-auth-file # wo sind zugelassene User hinterlegt
Require valid-user # keine anonyme Anmeldung möglich
Nachdem wir diese Einträge gemacht haben, legen wir noch das Auth-file unter /home/svn/ an:
touch /home/svn/svn-auth-file
und legen einen Testuser für den Zugriff an:
htpasswd /home/svn/svn-auth-file testuser
Nun ein Neustart des Apache, damit alles Änderungen wirksam werden:
/etc/init.d/apache2 restart
Was uns noch fehlt ist ein Repository, welches wir als User svn in unserem ~/svn/ anlegen:
su - svn
cd svn/
svnadmin create testrepository
So, damit sind die Grundlagen gemacht: Ob alles funktioniert lässt sich folgendermassen testen:
Zugriff auf das Repository mit Subversion Mitteln:
- svnadmin verify repository
- svn info file://home/svn/svn/
- svn info http://server.domain/svn/
Mit dem Browser:
- http://server.domain/svn/



