Subversion Server / SVN Server installieren und einrichten

This post is also available in: Englisch

Werbung

Subversion Server / SVN ServerJeder Software Entwickler sollte mit einem Versionskontrollsystem arbeiten. In diesem Post möchte ich die Installation eines Subversion Server / SVN Server beschreiben.

Als Server benutze ich ein Ubuntu System in der Serverversion 11.10. Ich lege Wert darauf, dass der SVN Server eigenständig läuft und keine weiteren Aufgaben übernimmt.

Dabei benutze ich einen virtuellen Server, den ich mit VirtualBox umgesetzt habe. Eine Anleitung dazu befindet sich hier.

Installation des Subversion Server / SVN Server

Nach der Installation des Server Grundsystems benötige ich noch SVN und installiere es mit:

Als nächstes installiere ich ein erstes SVN Repository. Ein Repository ist der Ort an dem das SVN die Änderungsinformationen ablegt.

Der Speicherort ist frei wählbar. Der Einfachheit halber benutze ich das /home Verzeichnis. In dem /home Verzeichnis lege ich ein Verzeichnis für die Repositories an. In der Regel benutzt man für jedes Projekt ein eigenes Repository.

Mit

erstelle ich das Verzeichnis für die Repositories.

Als nächstes legen wir für unser Projekt mit dem Namen „projekt1“ ein Repository an.

Jetzt wechsel ich in das Repository Verzeichnis mit

Um ein neues Repository Verzeichnis anzulegen benutze ich svnadmin.

Danach ist das Repository Verzeichnis „projekt1“ in /home/repositories vorhanden und bereit für den ersten Commit.

Bevor ich dies jedoch mache, lege ich erst sehr einfach einen SVN Benutzer an, damit ich später mit diesem Benutzer das Projekt auschecken und Änderungen committen kann.

Repository konfigurieren und Benutzer anlegen

Das gerade erstellte Repository konfiguriere ich mit

anon-access = none verbieten den anonymen Zugriff auf das Repository.
auth-access = write erlaubt Schreibrechte von authentifizierten Benutzern.
password-db = passwd gibt das Authentifizierungsverfahren an.

Werbung

Als nächstes bearbeite ich die passwd Datei um einen neuen Benutzer anzulegen.

Dort gebe ich meinen Benutzernamen und das Passwort in Form von

ein. Zwei Beispiele sind bereits in dieser Datei vorhanden, aber auskommentiert.

Soweit, so gut. Aber ich möchte das Repository Verzeichnis noch weiter vorbereiten. Unter SVN hat man in der Regel drei Verschiedene Verzeichnisse: trunk, branches und tags. Was diese Begriffe bedeuten kann man hier unter Tag- und Branchkonzept erfahren.

Um die Grundstruktur zu erstellen, welchsel ich in das /tmp Verzeichnis, lege dort ein Dummy Verzeichnis an und dort drin dann die drei gerade beschriebenen Verzeichnisse.

Jetzt, da ich Grundstruktur erstellt habe, überführe ich diese in mein Repository mit

Jetzt öffnet sich ein Editor und ich gebe als Text „Grundstruktur“ ein und beende den Editor.

Damit ich überhaupt mit diesem SVN Server kommunizieren kann, starte ich den SVN Server Daemon

Spätestens jetzt benötige ich die IP des SVN Servers. Die bekomme ich, wenn ich auf dem SVN Server

eingeben.

Auf dem lokalen PC checke ich das gerade angelegte Projekt aus dem Repository aus.

In meinem Fall benutze ich ein neues Verzeichnis. Habe ich bereits ein bestehendes Projekt, kopiere ich später die bereits vorhandenen Dateien in das ausgecheckte Verzeichnis und füge die Dateien hinzu und mache dann einen Initial Commit.

In dem Verzeichnis erstelle ich jetzt ein Test Datei. Nachdem ich diese Datei erstellt habe überprüfe ich mit

den Status meiner lokalen Kopie. Das Fragezeichen (?) vor dem Dateinamen der Testdatei gibt an, dass die Datei nicht unter Versionkontrolle steht. Dies ändere ich mit

Für Datei setze ich den Namen meiner Testdatei ein.

Mit einem nochmaligen

sehe ich, dass jetzt ein A vor dem Dateinamen auftaucht. Also wurde die Datei dem Repository zwar hinzugefügt, aber noch nicht committed. Dies mache ich mit

Wieder öffnet sich ein Texteditor in dem ich jetzt die Commit Nachricht eingeben kann. Hier sollte man etwas über die zu commitenden Änderungen schreiben. Es sollten zwar keine Romane sein, aber genau diese Nachrichten helfen evtl. später bei einer Überprüfung der Änderungen, wenn es zu einem Fehler kommt.

Das war es auch schon. Evtl. könnte es bei einem Commit noch eine Fehlermeldung bezüglich fehlender Rechte geben. Dann müssen die Rechte des Repositories auf dem SVN Server geändert werden.

Für weitere Informationen kann ich das Buch Versionskontrolle mit Subversion* empfehlen.

Quelle Titelbild: Paul-Georg Meister  / pixelio.de

* = Affiliate Link

Hat dir der Beitrag gefallen? Dann würde ich mich sehr freuen, wenn du ihn weiterempfehlen würdest.Share on FacebookShare on Google+Tweet about this on Twitter

6 Gedanken zu „Subversion Server / SVN Server installieren und einrichten

  1. Das cd /home/reposities muss durch cd /home/repositories ersetzt werden 🙂

  2. Hey,

    leider bekomme ich keinen zugriff auf das repository! Bekomme folgende Meldung:
    svn: PROPFIND of ‚/home/repositories/projekt1‘: 405 Method Not Allowed (http://192.168.2.29)

    Hast du vielleicht ne Idee woran das liegen kann?

  3. Das „i“ bei …/confi/… ist zuviel:

    sudo vi /home/repositories/projekt1/confi/passwd

Schreibe einen Kommentar

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