Subversion Server · 3 min read · Jan 01, 2026

Der perfekte Subversion-Server - Debian Lenny [ISPConfig3]

Der perfekte Subversion-Server - Debian Lenny [ISPConfig3]

Subversion ist ein freies/open-source Versionskontrollsystem. Das bedeutet, Subversion verwaltet Dateien und Verzeichnisse sowie die im Laufe der Zeit vorgenommenen Änderungen. Dies ermöglicht es Ihnen, ältere Versionen Ihrer Daten wiederherzustellen oder die Historie zu untersuchen, wie sich Ihre Daten verändert haben. In dieser Hinsicht denken viele Menschen an ein Versionskontrollsystem als eine Art “Zeitmaschine”. Dieser Leitfaden hilft Ihnen, das Subversion-System einzurichten und es mit Ihrer bestehenden ISPConfig3-Installation zu integrieren, sodass Sie die Kontrolle über die Datennutzung, Quoten und andere Faktoren auf eine sehr vertraute Weise haben. Vielleicht kann eines Tages jemand diesen Prozess nutzen, um ein Plugin für ISPConfig3 zu erstellen, das all dies automatisch erledigt.

Anforderungen

Offensichtlich erfordert dieses How-to, dass Sie bereits ISPConfig3 eingerichtet und am Laufen haben. Die unten beschriebenen Schritte funktionieren möglicherweise auch mit ISPConfig2, wurden jedoch nicht getestet und werden nicht unterstützt. Wenn Sie dies noch nicht getan haben, folgen Sie Falkos Leitfaden zum perfekten Server - Debian Lenny [ISPConfig3], bevor Sie fortfahren.

Um zu ermöglichen, dass eine einzelne Website mehrere Repositories hat, werden wir alles unter einem ‘svn’-Ordner ablegen, und letztendlich wird der öffentliche Pfad zu Ihrem Repository etwa so aussehen: http://example.com/svn/myrepo. Aber bevor wir beginnen können, müssen Sie die Website für ‘example.com’ erstellen. Die Erstellung der Website und das Festlegen von Quotenoptionen liegen außerhalb des Rahmens dieses How-tos, sind jedoch recht einfach, wenn Sie dies noch nicht getan haben.

Subversion installieren

Die Installation von Subversion und den erforderlichen Apache-Modulen ist recht einfach (als Root ausführen oder sudo verwenden):

apt-get install subversion libapache2-svn

Ein Repo(sitorium) erstellen

Standardmäßig speichert ISPConfig die Websites in /var/clients/clientx/weby/, Sie müssen wissen, welche Client-ID (x) und Site-ID (y) der Website entspricht, auf der Sie das Repository einrichten möchten. Wenn Sie Anpassungen an den Standardpfaden vorgenommen haben, müssen Sie die folgenden Befehle an Ihre Verzeichnisstruktur anpassen. Beginnen Sie damit, das svn-Verzeichnis zu erstellen (dies müssen Sie nur einmal für jede Website tun):

mkdir /var/clients/clientx/weby/svn

Als nächstes müssen Sie das Repository erstellen und die Berechtigungen für alles korrigieren (wichtig für die Quotenüberprüfungen).

svnadmin create /var/clients/clientx/weby/svn/myrepo  
chown -R weby:clientx /var/clients/clientx/weby/svn  
chmod -R 770 /var/clients/clientx/weby/svn

Repository teilen und sichern

Wir werden Apache verwenden, um den Zugriff auf unser Repository zu teilen und zu sichern, und während die Schritte zum Teilen immer gleich sind, haben wir drei Optionen zur Sicherung des Repositories.

  1. Öffentliches Repository - Ein öffentliches Repository bedeutet, dass jeder Benutzer jederzeit ohne Einschränkungen Dateien herunterladen und durchsuchen (auschecken) sowie hochladen (commit) kann. Dies ist im Allgemeinen keine empfohlene Methode zur Bereitstellung eines Repositories, da dies zu Vandalismus Ihres Codes führen kann.
  2. Geteiltes Repository - Ein “geteiltes” Repository bedeutet, dass jeder den Code herunterladen und durchsuchen (auschecken) kann, aber nur autorisierte Benutzer Commits im Repository vornehmen können. Dies ist die gängigste Methode zur Sicherung eines Repositories, ähnlich wie Websites wie Sourceforge und Google Code Daten teilen.
  3. Privates Repository - Ein privates Repository bedeutet, dass jede Aktion gegen das Repository einen authentifizierten Benutzer erfordert und nützlich ist, wenn der Code nicht geteilt oder Open Source sein soll.

Angenommen, Sie wählen entweder ein geteiltes oder privates Repository, müssen Sie die Passwortdatei erstellen, die Benutzernamen und Passwörter von “autorisierte” Benutzern speichert (um zusätzliche Benutzer hinzuzufügen, lassen Sie die Option ‘-c’ im Befehl weg).

htpasswd -c /var/clients/clientx/weby/svn/myrepo.passwd [username1] <-- Sie werden aufgefordert, ein Passwort für username1 einzugeben

Schließlich müssen Sie die entsprechende Direktive hinzufügen, um Apache zu sagen, was zu tun ist, wenn ein Benutzer http://example.com/svn/myrepo anfordert. Je nach Sicherheitsmethode, die Sie verwenden möchten, kopieren Sie die entsprechende Direktive unten und fügen Sie sie in das Feld “Apache-Direktiven” auf der Registerkarte “Optionen” Ihrer Website in ISPConfig ein (vergessen Sie nicht, die Verzeichnisse mit den entsprechenden x- und y-Werten zu korrigieren).

Öffentliches Repo

      
        DAV svn  
        SVNPath /var/clients/clientx/weby/svn/myrepo  
    

Geteiltes Repo

      
        DAV svn  
        SVNPath /var/clients/clientx/weby/svn/myrepo  
        AuthType Basic  
        AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd  
          
            Require valid-user  
          
    

Privates Repo

      
        DAV svn  
        SVNPath /var/clients/clientx/weby/svn/myrepo  
        AuthType Basic  
        AuthName "Indemnity83 Scripts"  
        AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd  
        Require valid-user  
    

Es kann eine Minute dauern, bis die Website funktioniert, nachdem Sie die Änderungen vorgenommen haben, aber zu diesem Zeitpunkt sollten Sie ein funktionierendes und gesichertes Subversion-Repository haben. Wenn Sie mehr hinzufügen möchten, wiederholen Sie einfach alles ab “Ein Repo(sitorium) erstellen”.

Danke

Ich hoffe, Sie finden dieses How-to nützlich. Bitte zögern Sie nicht, Kommentare oder Korrekturen hinzuzufügen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.