Subversion Server unter MacOS 10.7 Lion / Lion Server

Ihr wollt auf eurer OS X 10.7 Lion Maschine einen SVN-Server installieren? Dann ist dieser Beitrag das richtige für euch.

– XCode aus dem AppStore installieren (dauert ein wenig)

MacPorts für OS 10.7 Lion herunterladen und installieren

– Terminal öffnen (Programme/Dienstprogramme) und folgendes eingeben:

sudo port -v selfupdate

Admin-Kennwort eingeben, und warten, bis MacPorts seine Repositories aktualisiert hat. Alles was jetzt kommt, im Terminal eingeben.

sudo port -v install subversion +mod_dav_svn

Warten, bis alles heruntergeladen und kompiliert ist. Nun den Ordner erstellen, in dem die Repositories legen sollen. Ich mache der Einfachkeit halber diesen nun mal im Root, passt daher die Pfade entsprechend an oder erzeugt einen Symlink nach /svn.

sudo mkdir /svn

Oder eben – wenn ihr mit einem Symlink arbeiten wollt

sudo ln -s /Pfad/zu/eurem/Subversion/Verzeichniss /svn

Nun legen wir testweise ein Repository an

cd /svn
sudo mkdir testrepo
sudo svnadmin create –fs-type fsfs testrepo

Mit dem letzten Befehl wird Repository-Struktur von SVN für das Verzeichniss „testrepo“ angelegt/initialisiert.

Nun ist wichtig, daß der Benutzer „www“, unter dem der Apache läuft, welcher die Zugriffe auf das SVN-Modul von außen weitergibt, Besitzer des svn-Stammverzeichnisses ist und somit Zugriff darauf hat. Also:

sudo chown -R www /svn

Nun müssen wir die Konfiguration des Apache-Server anpassen, damit dieser die SVN-Module lädt und das Verzeichniss korrekt verarbeitet. Dazu bitte wie folgt vorgehen:

cd /opt/local/apache2/conf

Nun mit dem bevorzugten Texteditor die Datei httpd.conf editiert (ich verwende hier vi, wer damit noch nicht gearbeitet hat, ersetzt evtl. den Befehl „vi“ durch „pico“, da dieser Editor etwas „verboser“ und einsteigerfreundlich daher kommt).

sudo vi httpd.conf

Nun suchen wir den Bereich, in dem die dynamischen Module geladen werden, erkennbar an dem Einleitungstext „dynamic modules“ bzw. einer lange kette an „LoadModule“ befehlen. An deren Ende setzt ihr folgende zwei Zeilen:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

Nun setzt ihr ans Ende der Datei noch die Konfiguration des Verzeichnisses:

<Location /svn/>
DAV svn
SVNParentPath /svn
SVNListParentPath on
</Location>

WICHTIG: Durch die Installation des Subversion-Pakets über MacPorts wurde ein Apache-Server installiert. MacOS X 10.7 Lion Server bringt ebenfalls einen (sehr modifizierten) Apache-Server für seine Wiki- und Web-Funktionen mit. Wenn dieser ebenfalls genutzt werden soll, ändert bitte in der httpd.conf ebenfalls die Zeile „listen 80“ im oberen Bereich der Datei auf etwas anderes als 80, da sonst die Wiki- und Web-Dienste von OS X Lion Server nicht mehr funktionieren. Wenn ihr dies getan habt, müsst ihr nach dem Neustart des „neuen“ Apache-Server (folgt gleich) auch den „Lion“-Apache-Server neu starten. Dazu einfach im Server-Tool den Dienst Web ab- und wieder anschalten. Beachtet, daß ihr – wenn ihr die Zeile „listen 80“ bspw. auf „listen 81“ ändert, ihr im folgenden auch die IP bzw. URL anpassen müsst. Aus „localhost“ wird „localhost:81“, aus „192.168.23.42“ wird „192.168.23.42:81“.

Nun speichern wir die Änderungen (vi :wq!, pico Strg-x, y, enter) und starten den Apache-Server neu, damit diese wirksam werden:

sudo /opt/local/apache2/bin/apachectl -k restart

Jetzt solltet ihr bereits über http://localhost/svn auf das Verzeichniss via Browser zugreifen können bzw. über einen SVN-Client ein/auschecken können, die URL des Repositories dazu lautet: http://ip.eures.servers/svn/testrepo

Testweise commiten wir in das Verzeichniss noch ein paar Daten:

cd ~
mkdir svn_tmpl
cd svn_tmpl
mkdir trunk branches
svn import . http://localhost/svn/testrepo -m „Testimport“

Das wars! Viel Spaß mit eurem neuen SVN-Server.

4 Kommentare
  1. Albert
    Albert sagte:

    Vielen Dank für dieses tolle Tutorial! Damit habe ich es hinbekommen. Bitte unbedingt mehr zum Thema SVN Server! 🙂
    Tolle Arbeit, die ihr hier leistet, ich bin begeistert.

    Antworten
  2. Sven Boike
    Sven Boike sagte:

    Dieses Tutorial hat mich in meinem Versuch, einen SVN-Server zu installieren wesentlich weitergebracht als alles mögliche andere.
    Ich habe einen Mac mini mit Lion Server und lasse auch den Webserver der Server.App darauf laufen.
    Ich habe den Apache hier mit Port 81 konfiguriert. das Heimatverzeichnis findet er über http://localhost:81 einwandfrei, aber wenn ich http://localhost:81/svn benutze, bekomme ich Fehler 404 – Not Found.
    Meine Apache und *nix-Kenntnisse halten sich in starken Grenzen, deswegen habe ich keine Idee woran es liegen könnte, da ich ansonsten dein Tutorial Schritt für Schritt befolgt habe. Vielleicht hast du ja eine Idee! Ich werde mich ein wenig durch die Doku von Apache wühlen und eine Lösung hier posten, falls ich eine finde.

    Vielen Dank für deine Anleitung soweit!
    Gruß, Sven

    Antworten

Trackbacks & Pingbacks

  1. […] Witschass hat ein wunderbares Tutorial geschrieben, um unter OSX 10.7 einen Subversionserver zu betreiben (via Macports). Danke […]

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar zu Albert Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert