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.
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.