Dieser Artikel behandelt die Installation von Subversion mit dem Apache-Modul, damit von anderen Systemen in einem öffentlichen Netzwerk leicht 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.
Um Subversion zu installieren, öffnen Sie 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 Ort mit ausreichend Platz wählen sollten.
sudo svnadmin erstellen /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, zum Beispiel: http://www.server.com/svn
Die DAV-Zeile muss unkommentiert werden, um das dav-Modul zu aktivieren
# Entkommentieren Sie dies, um das Repository zu aktivieren.
DAV svn
Die Zeile SVNPath sollte auf dieselbe Stelle gesetzt 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, also betrachten Sie sie nicht als extrem sicher. Die Passwortdatei befindet sich dort, wo die AuthUserFile-Einstellung sie festlegt… wahrscheinlich am besten, sie auf der Standardeinstellung zu belassen.
# Entkommentieren Sie die folgenden 3 Zeilen, um die Basisauthentifizierung zu aktivieren
AuthType Basic
AuthName „Subversion-Repository“
AuthUserFile /etc/apache2/dav_svn.passwd
Um einen Benutzer im Repository zu erstellen, verwenden Sie den folgenden Befehl:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd
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 Benutzerfreak hinzufügen
Starten Sie Apache neu, indem Sie den folgenden Befehl ausführen:
sudo /etc/init.d/apache2 restart
Wenn Sie jetzt in Ihrem Browser zu http://www.server.com/svn gehen, sollten Sie sehen, dass das Repository für anonymen Lesezugriff aktiviert ist, aber der Commit-Zugriff erfordert einen Benutzernamen.
Wenn Sie alle Benutzer zwingen möchten, sich auch bei Lesezugriff zu authentifizieren, fügen Sie die folgende Zeile direkt unter der Zeile AuthUserFile von oben hinzu. Starten Sie Apache neu, nachdem Sie diese Zeile geändert haben.
Gültiger Benutzer erforderlich
Wenn Sie nun Ihren Browser aktualisieren, werden Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert:
Sie haben jetzt einen funktionierenden Subversion-Server!