Dieser Artikel behandelt die Installation von Subversion mit dem Apache-Modul, damit von anderen Systemen in einem öffentlichen Netzwerk problemlos darauf zugegriffen werden kann. Wenn Sie einen sichereren svn-Server wünschen, können Sie svnserve + ssh verwenden, das in diesem Artikel nicht behandelt wird.
Öffnen Sie zum Installieren von Subversion ein Terminal und führen Sie den folgenden Befehl aus:
sudo apt-get install subversion libapache2-svn
Wir werden das Subversion-Repository in / svn erstellen, obwohl Sie einen Speicherort mit ausreichend Speicherplatz auswählen sollten.
sudo svnadmin create / svn
Als Nächstes müssen wir die Konfigurationsdatei für das Subversion-Webdav-Modul bearbeiten. Sie können einen anderen Editor verwenden, wenn Sie möchten.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Das Location-Element in der Konfigurationsdatei bestimmt das Stammverzeichnis, von dem aus auf Subversion zugegriffen werden kann, z. B.: Http://www.server.com/svn
<Location / svn>
Die DAV-Leitung muss nicht kommentiert werden, um das Dav-Modul zu aktivieren
# Kommentieren Sie dies aus, um das Repository zu aktivieren.
DAV svn
Die SVNPath-Zeile sollte an derselben Stelle festgelegt werden, an der Sie das Repository mit dem Befehl svnadmin erstellt haben.
# Setzen Sie dies auf den Pfad zu Ihrem Repository
SVNPath / svn
Im nächsten Abschnitt können Sie die Authentifizierung aktivieren. Dies ist nur eine grundlegende Authentifizierung. Betrachten Sie sie daher nicht als äußerst sicher. Die Kennwortdatei befindet sich dort, wo die AuthUserFile-Einstellung sie auf… setzt. Am besten lassen Sie sie auf der Standardeinstellung.
# Kommentieren Sie die folgenden 3 Zeilen aus, um die Standardauthentifizierung zu aktivieren
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Verwenden Sie den folgenden Befehl, um einen Benutzer im Repository zu erstellen:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd <Benutzername>
Beachten Sie, dass Sie die Option -c nur beim ERSTEN Mal verwenden sollten, wenn Sie einen Benutzer erstellen. Danach möchten Sie nur noch die Option -m verwenden, die die MD5-Verschlüsselung des Kennworts angibt, die Datei jedoch nicht neu erstellt.
Beispiel:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek
Neues Kennwort:
Geben Sie das neue Passwort erneut ein:
Passwort für User Geek hinzufügen
Starten Sie Apache neu, indem Sie den folgenden Befehl ausführen:
sudo /etc/init.d/apache2 Neustart
Wenn Sie nun in Ihrem Browser zu http://www.server.com/svn wechseln, sollten Sie feststellen, dass das Repository für anonymen Lesezugriff aktiviert ist, für den Festschreibungszugriff jedoch ein Benutzername erforderlich ist.
Wenn Sie alle Benutzer zwingen möchten, sich auch für den Lesezugriff zu authentifizieren, fügen Sie die folgende Zeile direkt unter der AuthUserFile-Zeile von oben hinzu. Starten Sie Apache neu, nachdem Sie diese Zeile geändert haben.
Benötigen Sie einen gültigen Benutzer
Wenn Sie jetzt Ihren Browser aktualisieren, werden Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert:
Sie haben jetzt einen funktionierenden Subversion-Server!