Suche
  • Programmierung, Wordpress, Serveradministration
  • Alles aus einer Hand, von freundlichen IT Experten aus Berlin
Suche Menü

Subversion einrichten unter Debian

Die Installationsanleitung für Subversion bezieht sich auf einen Debian „Lenny“ Server.

Inhalt:

  1. Installation
  2. Einrichtung eines Projekts
  3. Subversion Server starten
  4. Zugriff testen
  5. Mehrere Subversion Repositories verwalten

Installation

Subversion ist schnell installiert.

sudo apt-get install subversion

Einrichtung eines Projekts

Die Einrichtungsmethode ist darauf ausgelegt, mehrere eigenständige Projekte verwalten zu können, daher nutzen wir Unterverzeichnisse.

Wir erstellen also zunächst den Pfad und richten diesen im Anschluß als SVN Repository per svnadmin ein:

mkdir -p /var/local/svn/projekt1/
svnadmin create --fs-type fsfs /var/local/svn/projekt1/

Nun können wir auch schon die notwendigen Konfigurationsdateien anpassen …

sudo vim /var/local/svn/projekt1/conf/svnserve.conf

… und dort folgendes eintragen:

[general]
anon-access = read
auth-access = write
password-db = passwd
realm = Bigace CMS Repository

Im nächsten Schritt definieren wir einen SVN Zugang, damit wir auch schreibend zugreifen können…

sudo vim /var/local/svn/projekt1/conf/passwd

…und nennen diesen Account admin mit dem Passwort testpasswort.

[users]
admin = testpassword

Subversion Server starten

Um den Subversion im späteren Verlauf sauber starten und stoppen zu können, legen wir ein Init.d Skript an…

sudo vim /etc/init.d/subversion

…wo folgender Code hineinkopiert werden kann:

#!/bin/bash

case "$1" in
        start)
                svnserve -d -r /var/local/svn
                ;;
        stop)
                killall svnserve
                ;;
        restart)
                $0 stop
                sleep 3
                $0 start
                ;;
esac

Nicht vergessen, das Skript ausführbar zu machen:

sudo chmod +x /etc/init.d/subversion

Damit Subversion nach einem Server Neustart automatisch mitgestartet wird, fügen wir es zum Abschluß noch zu den nötigen Runleveln hinzu:

sudo update-rc.d subversion defaults

Über die Befehle:

sudo /etc/init.d/subversion start
sudo /etc/init.d/subversion stop
sudo /etc/init.d/subversion restart

kann man den Subversion Server dann starten, stoppen und neustarten.

Zugriff testen

Um nun den Zugriff auf das Repository auszuprobieren starten wir zunächst den Subversion Server (u.U. läuft dieser bereits) und verwenden im Client die folgende URL:

svn://ihreIp/projekt1

Für schreibenden Zugriff verwenden Sie den zuvor angelegten admin Benutzer!

Mehrere Subversion Repositories verwalten

Wenn man in Zukunft weitere Repositories hinzufügen will, wiederholt man einfach den Abschnitt Einrichtung eines Projekts.

Im Standardverhalten muß man bei unterschiedlichen Repositories immer die Konfigurationsdateien neu anpassen. Möchte man aber nicht jedesmal die Konfigurationsschritte wiederholen, kann man einfach zwei Konfigurationsdateien anlegen, die dann für alle Repositories gelten:

sudo touch /var/local/svn/passwd
sudo touch /var/local/svn/svnserve.conf

In diese kopiert man einfach den Code der bereits oben genannt wurde und passt nur noch den start Aufruf im Init.d Skript an:

svnserve --config-file /var/local/svn/svnserve.conf -d -r /var/local/svn

Das war es auch schon, Subversion ist fertig konfiguriert und einsatzbereit!

Autor: Kevin

Hallo lieber Leser! Ich stehe hinter Keleo, bin Softwareentwickler und freier IT Berater und blogge hin und wieder über Themen die mir im Berufsleben begegnen. Sollte Dir der Artikel geholfen haben, dann hinterlasse mir doch ein Kommentar. Wenn Du mehr über mich erfahren willst, folge dem Link in .

10 Kommentare Schreibe einen Kommentar

  1. Eine tolle Anleitung. Nun ist es so, dass mir das ständige Eingeben des Passworts etwas auf den Geist geht. Dies war auch schon bei SSH so, da habe ich ein Keyfile genutzt.

    Meine Frage hier wäre, wie das umzusetzen ist für subversion?

    Besten Dank

    Antworten

  2. Hi Bob, danke fürs Feedback!
    Ich muß gestehen, das ich das Passwort im Client (bei mir Eclipse) gespeichert habe und somit dem Problem nie begegne 😉
    Schau mal unter http://svnbook.red-bean.com/ – da gibts wirklich ausführliche Informationen zu SVN, vielleicht wird Deine Frage ja dort beantwortet.

    Antworten

  3. Sehr schöne Anleitung! Vielen Dank dafür. Würde es einen „Facebook Like“ oder „Google +1“ Button geben, würde ich draufdrücken. 🙂

    Antworten

  4. Vielen Dank für diese Anleitung!

    Könnt Ihr mir weiterhelfen, wie ich ein Webfrontend für meine Repositories einrichten kann?
    Ich synchronsiere meine Repositories mit
    „svn://:/“

    Ich habe am iPad einen kleinen SVN-Client, der über http zugreift.
    Habt Ihr erfahrung, wie ich diesen Zugriff einrichte?

    Viele Grüße,
    Sascha.

    Antworten

  5. hi

    Vielen Dank für die Anleitung. Leider habe ich ein Problem beim Zugrifftesten.
    ==========snip==========
    Firefox weiß nicht, wie diese Adresse geöffnet werden soll, da das Protokoll (svn) mit keinem Programm verknüpft ist.
    ==========snap==========

    Ich habe auf meinem PC auch svn sowie websvn installiert. Ich benutze archlinux und mein Server läuft unter Debian.

    Gruß
    Thomas

    Antworten

  6. Sehr gute Gliederung und einfach zu folgen.
    Das Problem mit der ständigen Nchfrage und eingeben der Passwörter habe ich auch durch das speichern im Leint gelöst.
    Bis ich das aber herausgefunden hatte, hat es lange gedauert…

    Antworten

  7. Hi!

    Soweit ganz nette Anleitung. Ich würde empfehlen inzwischen auf das debian skeleton (/etc/init.d/skeleton) umzuschwenken.
    Hierbei gilt es zu beachten, dass der Parameter –pid-file genutzt werden muss, damit ein „stop“ funktioniert.
    Ich habe die Zeilen PIDFILE= und DAEMON_ARGS dazu getauscht, außerdem den Pfad bei DAEMON von sbin auf bin angepasst:

    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    DESC=“Subversion“
    NAME=svnserve
    DAEMON=/usr/bin/$NAME
    PIDFILE=/var/run/$NAME.pid
    DAEMON_ARGS=“-d -r /srv/svn/ –pid-file „$PIDFILE
    SCRIPTNAME=/etc/init.d/$NAME

    😉

    Gruß

    Antworten

    • Hi CG!

      Danke für Deinen Hinweis 🙂
      Der Artikel ist doch etwas in die Jahre gekommen und ich benutze mittlerweile selbst ausschließlich Git, aber vielleicht hilft es ja dem ein oder anderen.

      Grüße
      Kevin

      Antworten

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.