Subversion unter Windows

Folgendes HowTo beschreibt die Einrichtung der Versionsverwaltung Subversion zusammen mit dem Apache Webserver unter Windows 2003 Server. Subversion ist eines der gebräuchlichsten, wenn nicht gar DAS, freie Softwareversionierungstool schlechthin. Sein gewohnter Lebensraum ist ein Linux Betriebssystem.

Folgendes HowTo beschreibt die Einrichtung der Versionsverwaltung Subversion zusammen mit dem Apache Webserver unter Windows 2003 Server

Subversion ist eines der gebräuchlichsten, wenn nicht gar DAS, freie Softwareversionierungstool schlechthin.

Um Einsteigern in Subversion unter Windows einen schnelleren Überblick zu verschaffen, wollen wir hier ein kleines HowTo bereitstellen, dessen Ziel es ist, schnell ein lauffähiges Subversion unter Windows zu erhalten.

Eingesetzt werden in diesem Beispiel:

Win32SVN Version 1.6.16
Apache Webserver Version 2.2.17
Windows Server 2003 R2

Zunächst einmal laden wir uns das Win32SVN Paket bei

sourceforge.net/projects/win32svn/

runter. Dieses wird entpackt und über das Installations MSI Paket in den Standardpfad

C:\Programme\Subversion

installiert. Fortan stehen dem Benutzer die SVN Kommandozeilenbefehle im Unterverzeichnis \bin zur Verfügung.

Nun wird noch der Ordner D:\Subversion\Repositories manuell angelegt.

Der Befehl

svnadmin create D:\Subversion\Repositories\Projekt1

in der Kommandozeile ausgeführt, weist das SVN an, ein neues Projekt am angegebenen Pfad anzulegen. Es werden automatisch einige Dateien und Verzeichnisse in diesen Ordner angelegt.

Um einen Zugriff auf das SVN zu ermöglichen, greifen wir in diesem Fall über den SVN Client über HTTP und den Apache Server zu.

Installieren wir also im nächsten Schritt den Apache Webserver.

Zunächst laden wir hierfür das entsprechende Installationspaket unter

httpd.apache.org/download.cgi runter.

Wie üblich wird über das Installations MSI Paket die Installation gestartet.

Während der Installation werden neben dem Installationspfad (in unserem Beispiel belassen wir diesen auf dem Standardpfad) auch folgende die Parameter Domain Name, Servername sowie die E-Mailadresse des Administrators abgefragt.

Es wird während der Installation auch automatisch ein Dienst für den Webserver eingerichtet. Darum brauch man sich also nicht zusätzlich kümmern.

Nachdem der Apache Webserver installiert wurde, gilt es zunächst, die Subversion Module in den Webserver verfügbar zu machen bzw. einzubinden.

Kopieren Sie hierzu die beiden Subversion Module

 

mod_dav_svn.so
mod_authz_svn.so


für den Apache Webserver von

 

C:\Programme\Subversion\bin nach
C:\Programme\Apache Software Foundation\Apache2.2\modules


Nun gilt es die Konfiguration des Webservers anzupassen. Editieren Sie hierfür die Standardkonfigurationsdatei

 

C:\Programme\Apache Software Foundation\Apache2.2\conf\httpd.conf

mit einem geeigneten Editor wie z.B. Notepad.
Binden Sie folgende Zeilen ein, indem Sie die Raute (#) an Position 1 entfernen:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

Tragen Sie zusätzlich folgende Zeilen manuell ein, um die Subversion Module ebenfalls zu aktivieren:

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


Im nächsten Konfigurationsabstritt wird das Subversion Verzeichnis über den Webserver freigegeben:

 

DAV svn

SVNParentPath D:\subversion\repositories

AuthzSVNAccessFile D:\subversion\repositories\access_control.txt

Satisfy Any

Require valid-user

AuthType Basic

AuthName “Zugang zum Subversion Repository”

AuthUserFile D:\subversion\repositories\htpasswd.txt

 

Speichern Sie nun die Datei ab. Im nächsten Schritt wird die Zugiffssteuerung für die einzelnen Projekte aktiviert. Legen Sie hierzu die Datei


D:\subversion\repositories\access_control.txt

mit eine Editor an und tragen folgenden Inhalt ein:

[Projekt1]
maier = rw
mueller = r

In diesem Beispiel wird das Projekt 1 für den Benutzer Maier mit Lese/Schreibberechtigungen zur Verfügung gestellt und dem Benutzer Müller lediglich mit Leseberechtigungen.

Nun gilt es abschließend, die Benutzer Maier und Müller mit einem Passwort anzulegen. Der einfachste Weg ist über eine htpasswd Datei, die eine eigene Authentifizierung in einer separaten Passwortdatei vornimmt.

Verwenden Sie hierzu das Kommandozeilentool htpasswd aus der Komandozeile.
Diese finden Sie unter C:\Programme\Apache Software Foundation\Apache2.2\bin

Der komplette Aufruf lautet:


htpasswd -c D:\subversion\repositories\htpasswd.txt maier
htpasswd D:\subversion\repositories\htpasswd.txt mueller

Vergeben Sie beim Aufruf für jeden Benutzer ein eigenes Passwort.

Starten Sie nun den Apache Server neu.

Dies können Sie über die Dienstesteuerung erledigen (Start -> Ausführen -> services.msc) oder über das Apache Icon in der Taskleiste erledigen.

Die Konfiguration ist nun abgeschlossen. Sie können fortan mit einem SVN Client wie z.B. AnkhSVN per HTTP auf das Subversionprojekt Projekt1 mit den oben definierten Benutzern zugreifen und Dateien ein- und auschecken.

Dieses HowTo stellt nur eine Grundkonfiguration dar. Es ist beliebig erweiterbar um z.B. eine zentrale LDAP Authentifizierung oder eine SSL Verschlüsselung.

Wenn Sie Fragen zu Subversion, dem Apache Webserver, oder einer speziellen Anforderung haben, so zögern Sie nicht, uns zu kontaktieren.Gerne stehen wir Ihnen tatkräftig oder mit unserem Wissen zur Verfügung.