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-svnEin 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/svnAls 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/svnRepository 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.
- Ö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.
- 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.
- 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 einzugebenSchließ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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.