HowTo: Subversion auf dem WHS installieren

In diesem HowTo wird erklärt, wie die Versionsverwaltungssoftware Subversion (kurz SVN) auf dem Windows Home Server eingerichtet und konfiguriert wird.

Subversion ist Open-Source und es gibt einige vorkonfigurierte Pakete speziell für die Windows-Plattform, in diesem HowTo verwenden wir das kostenlose VisualSVN Server um Subversion aufzusetzen.

Installation

Als erstes muss die Setupdatei von VisualSVN Server heruntergeladen und am Server in eine der Freigaben gespeichert werden.

Danach verbindet man sich per Remotedesktopverbindung auf den Desktop des Servers, öffnet über die Verknüpfung “Freigegebene Ordner auf Server” die Freigaben und kopiert die zuvor gespeicherte Setupdatei auf den Desktop.

Mit einem Doppelklick auf die Datei startet die Installation:

WHS PP1 German-2009-03-20-17-48-35

Nach dem Akzeptieren der Nutzungsvereinbarungen erscheint folgende Seite:

WHS PP1 German-2009-03-20-17-51-19

Hier werden die für die Installation notwendigen Daten eingegeben:

  • Repositories: Der Ort, an dem die Dateien der Versionsverwaltung gespeichert werden. Ich habe hier den Ordner von C:\ auf D:\ geändert, damit die Daten nicht auf der Systempartition landen.
  • Server-Port: Der Port, über den auf den Subversion Server von außen zugegriffen wird. Um vom Internet aus zuzugreifen, muss eine Portweiterleitung im Internet-Modem eingerichtet werden!
  • Authentication: Art der Authentifizierung. Ich habe die Windows-eigene Authentifizierung gewählt, da hier auf die Benutzerkonten zurückgegriffen wird, die man in der WHS-Konsole einrichtet.

Das wars auch schon mit den Einstellungen, jetzt startet die Installation:

WHS PP1 German-2009-03-20-17-51-46

VisualSVN Server ist nun fertig installiert, wenn man den Server-Manager startet, sieht man einen Statusbericht:

WHS PP1 German-2009-03-20-17-53-59

Repository einrichten

Nun muss noch ein Repository eingerichtet werden, in dem die Dateien der Versionsverwaltung gespeichert werden.

Dazu klickt man rechts auf Repositories –> Create New Repository:

WHS PP1 German-2009-03-20-18-24-55

Neben der Vergabe eines Namens kann man optional noch die typischen Verzeichnisse (trunk, branches, tags) erstellen lassen.

Um die Zugriffsrechte zu verändern, klickt man rechts auf das Repository und wählt Properties:

WHS PP1 German-2009-03-20-18-25-31

Hier kann man Benutzer hinzufügen oder entfernen und ihnen Zugriff auf das Repository gewähren.

Die vordefinierte Gruppe “Benutzer” beinhaltet alle Benutzer des Servers, man kann sie entfernen wenn nur bestimmte Benutzer Zugriff haben sollen.

VisualSVN Server ist nun fertig eingerichtet und kann verwendet werden. Im nächsten Schritt wird gezeigt, wie ein SSL-Zertifikat eingebunden wird.

SSL-Zertifikat einbinden

Da während der Installation ein selbst-signiertes SSL-Zertifikat für den Zugriff auf die Subversion-Repositories erstellt wurde, werden am Client Warnungen über die Gültigkeit des Zertifikats angezeigt.

Der WHS verfügt aber über die <Name>.homeserver.com Domäne bereits über ein (gültiges) SSL-Zertifikat, dieses kann man verwenden wenn man vom Internet aus auf den Subversion Server zugreift. Im lokalen LAN wird leider weiterhin eine Warnung angezeigt, da das Zertifikat hier nicht gilt.

Über Rechtsklick im Server-Manager auf “VisualSVN Server” –> Properties –> Certificate kann man sich das aktuell installierte (selbst-signierte) Zertifikat anzeigen lassen:

WHS PP1 German-2009-03-20-18-16-07

Mit “Change Certificate” könnte man zwar das Zertifikat ändern, der Assistent unterstützt aber das vom WHS-Zertifikat verwendete Format nicht.

Um das mitgelieferte homeserver.com-Zertifikat einzubinden, muss es zuerst aus dem Zertifikatsspeicher extrahiert werden. Das geht so:

Start –> Ausführen –> ”certmgr.msc” eingeben.

Es startet nun der Zertifikatsmanager, hier öffnet man Eigene Zertifikate –> Zertifikate:

WHS PP1 German-2009-03-20-18-06-32

Update 06.07.: Bei einigen Usern ist in dieser Ansicht nicht das *.homeserver.com Zertifikat zu sehen. Diese müssen so vorgehen: Start -> Ausführen -> „mmc“ eingeben. Dann auf Datei -> Snap-In hinzufügen/entfernen. Unten auf Hinzufügen… klicken, in der Liste ganz unten „Zertifikate“ auswählen und auf Hinzufügen klicken. Dann Computerkonto auswählen und auf Weiter und Fertig stellen klicken. Das Fenster mit der Liste schließen und auf OK drücken. Danach sollte es so aussehen, wie im Screenshot oben zu sehen.

Nun klickt man rechts auf das Zertifikat und wählt Alle Aufgaben –> Exportieren aus.

Der Export-Assistent startet, auf Weiter klicken und auswählen, dass der private Schlüssel mitexportiert werden soll:

WHS PP1 German-2009-03-20-18-06-46

Nach einem Klick auf Weiter erscheint diese Seite, hier alles lassen wie es ist:

WHS PP1 German-2009-03-20-18-06-51

Auf der nächsten Seite wird man nach einem Kennwort gefragt, mit dem die Datei verschlüsselt werden soll, dieses bitte merken:

WHS PP1 German-2009-03-20-18-07-00

Als nächstes muss man angeben, wo die Zertifikatsdatei gespeichert werden soll, ich habe der Einfachheit halber C:\Cert.pfx genommen:

WHS PP1 German-2009-03-20-18-07-31

Nachdem der Exportvorgang abgeschlossen ist, kann man alle Fenster schließen, eine neue Eingabeaufforderung starten und nach “C:\Programme\VisualSVN Server\bin” wechseln.

Dort gibt man folgenden Befehl ein, um das Zertifikat in das richtige Format zu konvertieren:

openssl.exe pkcs12 -in C:\Cert.pfx -out C:\Cert.pem -nodes

WHS PP1 German-2009-03-20-18-10-59

Wenn alles geklappt hat, sollte eine neue Datei Cert.pem auf C:\ liegen:

WHS PP1 German-2009-03-20-18-11-13

Diese Datei kopiert man nun nach “C:\Programme\VisualSVN Server\conf” (Hinweis: in neueren Version heißt das Verzeichnis „certs“). Dort benennt man zuerst die vorhandene server.pem um (z.B. in server-selfgen.pem) und danach die Cert.pem in server.pem um:

WHS PP1 German-2009-03-20-18-13-48

Hinweis: Die Dateien Cert.pfx und Cert.pem auf C:\ sollten nun unbedingt gelöscht werden, damit das Zertifikat nicht in falsche Hände gerät!

Damit VisualSVN Server das neue Zertifikat lädt, muss man den Dienst neu starten. Das geht am einfachsten über die Eingabeaufforderung:

net stop VisualSVNServer

net start VisualSVNServer

WHS PP1 German-2009-03-20-18-14-55

 

Wenn man nun im Server-Manager unter Certificate nachsieht, wird das Zertifikat von <Name>.homeserver.com angezeigt:

WHS PP1 German-2009-03-20-18-15-26

Von jetzt an sollten die Warnungen am Client verschwunden sein, da es sich nun um ein gültiges Zertifikat handelt.

 

Zugriff vom Client

Um von einem Client-Rechner aus auf die Subversion-Repositories zugreifen zu können, muss ein Subversion-Client installiert werden.

Für die Windows-Plattform ist TortoiseSVN wohl der bekannteste, er integriert sich in das Kontextmenü und bietet so einen schnellen Zugriff auf die wichtigsten Funktionen.

Unter Linux ist hingegen meistens schon ein SVN-Client in die Distribution integriert, der in der Shell z.B. mit svn checkout … aufgerufen wird.

Es gibt auch Plugins, die sich direkt in eine Entwicklungsumgebung integrieren, dazu zählen etwa Subclipse oder Subversive für Eclipse und VisualSVN (kostenpflichtig) oder AnkhSVN (kostenlos) für Visual Studio.