Knowledgebase

Subversion unter Windows XAMPP

Bewertung:  / 3
SchwachSuper 

Bezugsquellen und Anleitungen

Benötigt wird:

Anleitungen zum Thema:

Installation von Subversion in eine existierende XAMPP-Installation

Hinweis: Die Einrichtung erfolgt hier ohne Verwendung von ssl (https). Wer ein produktives System betreiben will sollte unbedingt die Verschlüsselung mit einrichten.

Einrichten von Subversion und einem Repository-Verzeichnis

  1. XAMPP ist installiert, dann muss Apache- und MySQL-Service gestoppt werden.
  2. Subversion aus der Setup-Subversion-1.8.3.msi heraus in ein Programmverzeichnis installieren z.B. nach E:\Subversion\ und anschließend prüfen, ob ein Eintrag für das Verzeichnis als Umgebungsvariable eingetragen wurden. Dazu klick man mit der rechten Maustaste auf das Computer-Symbol auf dem Desktop > Eigenschaften > Erweiterte Systemeinstellungen > Reiter: Erweitert > Button: Umgebungsvariablen > in der Liste Systemvariablen auf den Eintrag mit dem Variablenname Path doppelklicken > im Feld Wert der Variablen prüfen ob der Pfad E:\Subversion\bin dort enthalten ist.
    Wichtig bei der Installation ist zu beachten, dass die Subversion-Version zur Apache-Version passt also z.B. 2.2 oder 2.4. Welche Apache-Version läuft bekommt man z.B. über diesen Aufruf heraus: http://localhost/xampp/phpinfo.php.
  3. Unter F:\Subversion-Data\ die beiden Ordner \svn\ (Ordner für die Repositories) und \svn_conf\ (Ordner für User / Passwort-Datei) anlegen.
  4. Nun in einem Command-Fenster in das Apache-Verzeichnis F:\xampp\apache\ navigieren und von dort aus über den passwd-Befehl im o.g. Verzeichnis \snv_conf\ einen SVN-User z.B. mysvn anlegen - hierbei wird ein Passwort abgefragt: htpasswd -c F:\Subversion-Data\svn_conf\pass.pwd mysvn. Mit diesem Passwort kann man sich später am localhost-SVN über den Webbrowser anmelden - also merken!
  5. Nachfolgendes bringt erst einen Erfolgt, wenn die Cmd-Console nach der Installation von Subversion und nach dem Eintrag o.g. Umgebungsvariable Pfad geöffnet wurde. Jetzt muss im Pfad F:\Subversion-Data\svn\ ein Repository-Verzeichnis angelegt werden mit z.B.: svnadmin create mD.SK_HE_Repository. In folge dessen erscheint dort das Unterverzeichnis /md.SK_HE_Repository/ mit den diversen Subversion-Unterverzeichnissen.

 

Aktivieren des SSL

  1. Zunächst in das Apache-Conf-Verzeichnis (F:/xampp/apache/conf/) wechseln. Prüfen ob die Datei openssl.exe dort vorhanden ist, ansonsten muss diese aus dem Verzeichnis F:/xampp/apache/bin/ dort hin kopiert werden.
  2. Nun wird folgender Befehl auf der Cmd-Zeile im conf-Verzeichnis eingegeben: openssl req -config openssl.cnf -new -out localhost.csr. Der Befehl fragt nur diverse Informationen zu Benutzerangaben ab die beantwortet werden müssen. Es entsteht die Datei localhost.csr.
  3. Dann wird folgender Befehl eingegeben um einen RSA-Schlüssel zu erzeugen: openssl rsa -in privkey.pem -out localhost.key. Es entsteht die Datei localhost.key.
    Die abgefragten Pass-Phrasen für beide eben genannte Befehle sollte man sich notieren/merken und entspr. identisch eingeben.
  4. Nun wird noch folgender Befehl eingegeben und ausgeführt: openssl x509 -in localhost.csr -out localhost.cert -req -signkey localhost.key -days 500. Hierdurch entsteht die Zertifikat-Datei localhost.cert.

Das wars zum Anlegend der SSL-Verschlüsselung für die SVN-localhost-Aufrufe.

 

Anpassen der Apache-Configuration httpd.conf

Nun muss dem Apache noch beibebracht werden auf den neuen Port für SSL zu lauschen und korrket darauf zu reagieren. Dies ist allerdings nicht zwingend notwendig.
Dazu wird die F:/xampp/apache/conf/httpd.conf bearbeitet:

  1. Nach der Zeile mit Listen 80 suchen und direkt darunter Listen 443 einfügen.
  2. Sollte diese Zeile nicht schon aktiv sein LoadModule ssl_module modules/mod_ssl.so dann das # entfernen und dadurch aktiv machen.
  3. Nun den Block suchen der mit <IfModule ssl_module> beginnt und mit </IfModule> endet. Dieser wird komplett auskommentiert und ersetzt durch folgenden, der pfad-technisch entspr. angepasst werden muss:
    SSLMutex default
    SSLRandomSeed startup builtin
    SSLSessionCache none
    <VirtualHost *:443>
      SSLEngine On
      SSLCertificateFile "F:/xampp/apache/conf/localhost.cert"
      SSLCertificateKeyFile "F:/xampp/apache/conf/localhost.key"
      DocumentRoot "F:/xampp/htdocs"
    </VirtualHost>
  4. Abschließend muss noch diese Zeile auskommentiert werden: Include "conf/extra/httpd-ssl.conf".

 

Nun Binden wir Subversion in Apache ein

  1. Sicherheitshalber wird von der XAMPP-Apache http.conf eine Sicherheitskopie angelegt. Also ins Verzeichnis F:\xampp\apache\conf\ wechseln und von der httpd.conf eine Kopie z.B. httpd_svn-fallback.conf erstellen.
  2. Die httpd.conf im Editor öffnen und von folgenden zwei Zeilen das Kommentar-Zeichen # entfernen:
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule dav_module modules/mod_dav.so
    und im Abschnitt LoadModule diese beiden Zeilen hinzufügen:
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
  3. Ganz ans Ende der httpd.conf müssen die Pfadzuweisungen dem Apache bekannt gemacht werden, weshalb folgender Eintrag erfolgen muss - beachten, wenn ohne SSL gearbeitet wird, muss der Eintrag SSLRequireSSL weggelassen werden:
    # Subversion Repo konfigurieren
    <Location /svn>
      DAV svn
      SVNListParentPath on
      SVNParentPath "F:/Subversion-Data/svn"
      SSLRequireSSL
      AuthType Basic
      AuthName "mysvn"
      AuthUserFile "F:/Subversion-Data/svn_conf/pass.pwd"
      Require valid-user
    </Location>
  4. Folgende Dateien müssen noch aus dem Subversion-Verzeichnis zum Apache-Verzeichnis kopiert werden:
    von E:\Subversion\bin
    die intl3_svn.dll und libdb48.dll nach F:\xampp\apache\bin\
    die mod_authz_svn.so und mod_dav_svn.so nach F:\xampp\apache\modules\ 
  5. Nun muss nur noch der Apache gestartet oder neu gestartet werden. Über die URL kann das SVN-Repository aufgerufen werden:

Alternativen zur XAMPP-Apache-Nutzung

Der Vorteil der XAMPP-Apache-Nutzung ist, dass alles unter einem eh schon lokal genutzten Webhost läuft. Unter dem Apache der xampp-Installation läuft dann sowohl der localhost-Webserver als auch das SVN, man spart sich also eine Instanz des Apache und man verhindert auch dass es evtl. Portkonflikte gibt. Apache greift sich selbstverständlich zunächst den Port 9´80 und 443. Wenn nun ein weiterer Local-Host für das SVN aufgesetzt wird, muss dieser über einen anderne Port laufen oder es gibt Konflikte. Manche der Alternativ-Installationen berücksichtigen dass z.T. und prüfen die Verfügbarkeit des Port 80 und wählen ggf. einen anderen z.B. 18080. Aber es bleibt doch immer eine Störquelle.

Die nachfolgende genannten Alternativen haben einen großen Vorteil: Sie sind quasi Out-Of-The-Box-Lösungen. Sie werden installiert und kümmern sich komplett um die Einrichtung von Subversion als Server.

  • SubversionEdge von CollabNet: Ist eine sehr gute Lösung die bei einer Testinstallation auf Anhieb funktionierte. Vorteilhaft ist auch, dass diese als 64Bit-Version angeboten wird.
    Webadresse f. Downloads: http://www.collab.net/downloads/subversion
    Installations-File z.B. (Stand Okt.2013): CollabNetSubversionEdge-4.0.2_setup-x86_64.exe
  • WANdiscoSubversion:
  • VisualSVN:

 

TortoiseSVN installieren über den Installer. Der Erfolg ist daran erkennbar, dass im Contex-Menü entspr. Menüeinträge auftauchen wenn man eine Datei anklickt (SVN Checkout und TortoiseSVN).

  • Keine Kommentare gefunden

Einen Kommentar verfassen

Als Gast kommentieren

0
Deine Kommentare erfordern die Moderation durch den Administrator
Nutzungsbedingungen.
Suche - Kategorien
Suche - Inhalt
plg_search_attachments
VM - Search, Virtuemart Product

Ihr Warenkorb

 x 
Ihr Warenkorb ist noch leer.