Home / WebServer / Apache / HowTo: Subverison (SVN) Installation mit HTTP unter Debian Wheezy + Ubuntu

HowTo: Subverison (SVN) Installation mit HTTP unter Debian Wheezy + Ubuntu

Step-by-Step Anleitung zur Installation eines Subversion (SVN) Servers mit Apache Integration +  WebZugriff via WebDAV

Apache SVN ist eines der bekanntesten Open-Source Versionierungssysteme für Dateien und Ordner. Die Versionierung erfolgt dabei im Gegensatz zu GIT in einem zentralen Repository, welches in dieser Anleitung Schritt für Schritt installiert und erstellt wird.

Mittlerweile empfehle ich eigentlich GIT als Versionierungssystem, weil die Vorteile einer dezentralen Logik überwiegen, aber ein Kunde von uns möchte gerne SVN einsetzen und so legen wir einen neuen Server an. 😉

Abhängigkeiten und erforderliche Programme installieren

Folgende Voraussetzung sollte für den Betrieb von SVN installiert sein:

*) Apache Webserver (apt-get install apache2)

In folgendem Tutorial genauer beschrieben: LAMP Installation unter Debian Wheezy

Subversion installieren und Repository anlegen

Im ersten Schritt wird das subversion Programm via apt-get installiert:

apt-get update
apt-get install subversion

Nach der Installation wird ein Ordner erstellt, wo die Repositories abgelegt werden (/var/svn)

mkdir /var/svn

Nun kann auch schon das erste Repository im Ordner /var/svn/ angelegt werden. Ich verwende hierfür den Namen „meinprojekt“. Er kann natürlich nach belieben angepasst werden bzw. können mehrere Repos angelegt werden:

svnadmin create /var/svn/meinprojekt

SVN mit dem Apache verbinden

Subversion ist nun als eine lokale Variante auf unserem Server installiert. Damit nun auch von extern auf das Service zugegriffen werden kann benötigen wir WebDAV auf dem Apache Webserver mit dem SVN Modul „libapache2-svn“.

apt-get install libapache2-svn

Nach der Installation des Modul, wird dieses nun entsprechend konfiguriert. Dazu bearbeiten wir die Datei /etc/apache2/mods-available/dav_svn.conf mit dem Lieblingseditor und passen sie für unsere Bedürfnisse an.

vi /etc/apache2/mods-available/dav_svn.conf

Inhalt:

<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>

Der URL String /svn wird nun auf unserer Repositories im Verzeichnis /var/svn gemappt.

Subversion WebDAV Benutzer anlegen

Als Authentifizierung dient die Datei /etc/apache2/dav_svn.passwd, welche als User Datenbank verwendet wird. Die Datei wird folgendermaßen erstellt. Dabei wird der Benutzer „meinuser“ angelegt. Dieser kann natürlich wieder frei gewählt werden:

htpasswd -c /etc/apache2/dav_svn.passwd meinuser
Den htpasswd Befehl mit -c (create) nur beim Erstellen der Datei verwenden. Um einen Weiteren Benutzer hinzuzufügen den Befehl ohne -c verwenden.

Weitere Benutzer hinzufügen:

htpasswd /etc/apache2/dav_svn.passwd deinuser

Berechtigungen für das SVN Verzeichnis richtig setzen:

chown www-data:www-data /var/svn -R

Apache Webserver neu starten:

/etc/init.d/apache2 restart

Zugriff auf das SVN Repository

Zugriff via Browser (Webinterface)

http://meinedomain/svn/meinprojekt

SVN Webinterface Installation

Zugriff via Subversion Client (Versions für Mac)

MAC SVN Client Versions

Subversion (SVN) Zugriff via Subdomain:

Damit das SVN Repository nicht nur via „hostname/svn“ erreichbar ist sondern auch direkt via Subdomain (svn.domain.com) aufgerufen werden kann ist eine Anpassung der Apache Konfiguration nötig. Der Eintrag von /etc/apache2/mods-available/dav_svn.conf wird direkt in die vhost Config des Webservers übernommen:

zB: /etc/apache2/sites-available/default

Inhalt:

<VirtualHost *:80>
ServerName svn.sysadminslife.com
DocumentRoot /var/svn
<Location />
 DAV svn
 SVNParentPath /var/svn
 AuthType Basic
 AuthName "Subversion Repository"
 AuthUserFile /etc/apache2/dav_svn.passwd
 Require valid-user
</Location>

Apache neu starten

/etc/init.d/apache2 restart

Der Aufruf funktioniert nun direkt auf die Subdomain:

http://svn.sysadminslife.com/meinprojekt
HowTo: Subverison (SVN) Installation mit HTTP unter Debian Wheezy + Ubuntu
4.05 (80.91%) 22 Bewertungen

Über Patrick

Auch cool

Nginx Logo

Nginx / Apache Error: (13)Permission denied: FastCGI: failed to connect failed php5-fpm.sock

Nach einem php5-fpm Update auf einem Debian System spuckte der Nginx wie auch Apache Server …

5 Kommentare

  1. Wie kann man heutzutage noch subversion nutzen? Warum nicht Git oder zumindest Bazaar (letzteres wegen der einfachen Bedienbarkeit)?

  2. Hi,

    ich hab noch einen fehler entdeckt. Du musst beim Mappen des Verzeichnis auf mappen , nicht auf . Dann geht es auf Anhieb (ubuntu Server mit der aktuellen apache2 Version )

Schreibe einen Kommentar

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