← Zurück zum Artikel Apache Webserver
Mittels # apt-get subversion libapache2-svn apache2-mpm-prefork
kann man sich den Apache SVN-Server holen. Um über den Apache Webserver Zugriff auf das Repository zu erlangen, muss man noch das entsprechende Apache-Modul aktivieren: # a2enmod dav_ svn
. Weitere Informationen unter subversion.
Die Datei /etc/apache2/mods-enabled/dav_svn.conf
steuert die Konfiguration und muss bei mehreren Repositories wie folgt angepasst werden:
<Location /svn> DAV svn # Aktiviert den Zugriff SVNPath /var/local/svn # Pfad zu den Repos AuthType Basic # Authentifizierung AuthName "Subversion repository" AuthUserFile /etc/apache2/dav_svn.passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
In einem Verzeichnis, das nicht das Document Root-Verzeichnis des Webservers ist, kann dann angelegt werden (z.B. /srv/svn/repo1). Mittels
svnadmin create [nameDesRepositories]
Wird dann ein Repository erzeugt. Um das Verzeichnis auch aus dem Internet erreichbar zu machen, muss man den Dateibesitz zu www-data:www–data
ändern und dem Webserver ggf. Schreibrechte geben.
Informationen unter: http://wiki.ubuntuusers.de/Subversion#Zentrale-Zugriffsbeschraenkung-mehrerer-Projekte
Allg.: Für alle Repositories mit direktem Bezug zum Studium wurde der Übersicht wegen ein Meta-Repository „wibaStud“ erstellt. Diesem untergeordnet liegen alle SVN-Ordner, die als eigenständige Repositories betrachtet werden.
Für einen SVN-Zugang muss kein Benutzer auf der Ubuntu-Maschine angelegt werden, sondern nur in der Datei unter
/etc/apache2/dav_svn.authz
Dort werden anfangs Gruppen definiert, die als Berechtigte einem Repository zugeordnet werden können. Es ist zudem möglich, einzelne Benutzern bestimmte Rechte zu geben.
Schließlich muss das Password eines Nutzers angelegt/geändert werden mit
htpasswd -b dav_svn.passwd <NUTZER>
Befehl | Beschreibung | Benutzung |
---|---|---|
create | Erstellt ein Repository | |
dump | Exportiert ein Repository incl. aller Revisionen | |
load | Importiert einen Dump als Repository | mittels –parent-dir kann ein Dump auch in ein anderes Repository integriert werden1) |
Die Sicherung von SVN-Repositories geschiehst am Besten mit:
svnadmin dump [REPOSITORY] | gzip -9 > [DUMPFILE].tgz
Die Rücksicherung wird dann folgendermaßen aufgerufen2):
gunzip -c [DUMPFILE].tgz | svnadmin load [REPOSITORY]
Liegt lediglich eine einfache Kopie der Verzeichnisstruktur vor, kann es ggf. zu Problemen kommen, da Datei-Sperren vorhanden sind oder die Datenbank inkonsistent ist. Hier bietet es sich an, folgende Pflegeläufe durchzuführen:
svnadmin recover [REPOSITORY]/ # zum Wiederherstellen der Datenbank svnadmin verify [REPOSITORY]/ # konsistenzprüfung der einzelnen Revisionen