Lokale Installation von Subversion mit WebDav
15. Januar 2010 Roland
Ich musste auf meinem Netbook ein Subversion Repository installieren, damit ich im Zug eine Migrationssoftware entwickeln und lokal testen konnte.
Das System sollte so reagieren, wie das später vorhandene System. Ich musste also über den Webserver und mit WebDav die Anbindung meiner Migrationssoftware simulieren.
Im Netz gibt es sehr viele gute Installationsanleitungen zu Subversion.
Bei der Installation musste ich jedoch an ein paar Dateien rumfummeln bei denen ich mehrere Seiten aufrufen musste.
Sowas ärgert mich und deshalb sind hier alle Schritte, die ich durchführen musste, aufgelistet.
Softwarepaket Installation
Wenn man über den Webserver auf Subversion zugreifen will, braucht man natürlich einen Webserver (apache2) und Subversion.
Also zuerst im /etc/make.conf die use-Flags apache2 und subversion eintragen.
Dann apache2 und subversion emergen.
Falls apache2 schon vorab installiert war, lohnt sich ein emerge –newuse –deep world. Damit ist sichergestellt, dass apache2 die notwendigen Module, wie beispielsweise mod_dav nachinstalliert.
Apache konfigurieren
Die Konfiguration von Apache2 erfordert das Anpassen von ein paar Dateien.
/etc/apache2/modules.d/47_mod_dav_svn.conf
Hier wird der Zugriff auf die SVN-Repositories eingetragen.
Ich will meine SVN-Repositories im Verzeichnis /var/svn/repos anlegen.
Nehmen wir mal an, dass dein SVN-Repository hugo heißen soll.
Dann kannst du die folgenden Einträge in 47_mod_dav_svn.conf eintragen:
-
<ifdefine SVN>
-
LoadModule dav_svn_module modules/mod_dav_svn.so
-
</ifdefine><ifdefine SVN_AUTHZ>
-
LoadModule authz_svn_module modules/mod_authz_svn.so
-
</ifdefine>
-
<location /svn/repos/hugo>
-
DAV svn
-
SVNPath /var/svn/repos/hugo
-
AuthType Basic
-
AuthName "Subversion repository hugo"
-
AuthUserFile /var/svn/conf/svnusers
-
<limitexcept GET PROPFIND OPTIONS REPORT>
-
Require valid-user
-
</limitexcept>
-
SVNIndexXSLT /svnindex.xsl
-
</location>
Du kannst hier recht gut sehen was alles konfiguriert werden muss.
Zuerst muss das mod_dav_svn und das mod_authisolde htdocs # cz_svn Modul geladen werden. Damit erreichst du, dass später über das DAV Protokoll mit dem Subversion System kommuniziert werden kann.
Mit SVNPath gibst du an, wo dein Repository schlussendlich liegt. (Hier heißt das Repository hugo)
Ich habe in /var/svn/conf/svnusers ein File generiert in dem ich alle berechtigten User eintrage. Dazu später mehr.
Mit SVNIndexXSLT kannst du das Repository über einen Webbrowser ansprechen und darin rumstöbern.
svnindex.xsl bereistellen
Wenn du mit dem Webbrowser später dein SVN-Repository aufrufen willst, muss diese Datei im localhost verfügbar sein.
Da im 47_mod_dav_svn.conf das svnindex.xsl direkt im Root-Verzeichnis des localhost deklariert wurde, müssen wir es dort hinkopieren.
Meine copy-Befehle lauteten dafür:
-
cp /usr/share/doc/subversion-1.6.6-r10/svnindex.xsl.bz2 /var/www/localhost/htdocs/
-
bunzip2 /var/www/localhost/svnindex.xsl.bz2
Falls du eine andere Subversion Version hast, musst du den Copy-Befehl natürlich entsprechend anpassen.
svnusers erstellen
Ich möchte nur User, die auch berechtigt sind, auf das SVN zugreifen lassen.
Deshalb generiere ich in /var/svn/conf/svnusers eine entsprechende Datei mit meinem User.
-
htpasswd2 -c /var/svn/conf/svnusers roland
Du kannst mit htpasswd2 natürlich noch weitere User hinzufügen. Wenn du z.B. alfred hinzufügen willst, dann schreibe
-
htpasswd2 /var/svn/conf/svnusers alfred
Subversion Server starten
Jetzt solltest du mit /etc/init.d/svnserve start den Subversion Server starten. Wenn du ihn bei jedem Neustart starten willst, lohnt sich noch ein rc-update add svnserve default.
Repository hugo anlegen
Wir müssen noch das Repository anlegen, damit wir auch was zum Zugreifen haben
-
svnadmin create /var/svn/repos/hugo
Apache neu starten
Immer wenn du an der 47_mod_dav_svn.conf rumfummelst, und beispielsweise neue Repositories einträgst, musst du den Apache neu starten.
Das kannst du mit pache2ctl graceful oder für die harten Jungs mit /etc/init.d/apache2 restart erledigen.
So das wars
Mehr sollte es eigentlich nicht sein.
Happy Subversioning!
Artikel mit ähnlichen Schlagwörtern
Der Beitrag wurde am Freitag, den 15. Januar 2010 um 07:21 Uhr veröffentlicht und wurde unter Software, gentoo abgelegt.
Dir gefiel der Artikel? Dann abonniere doch den RSS Feed![]()
Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.








