Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:apache:subversion

Dies ist eine alte Version des Dokuments!


Apache: Subversion (dav_svn)

← 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.

Anpassen der Webserverkonfiguraion

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>

Anlegen eines Repositories

In einem Verzeichnis, das nicht das Document Root-Verzeichnis des Webservers ist, kann dann angelegt werden (z.B. /srv/svn/repo1). Mittels

/srv/svn/# 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.

Benutzer hinzufügen und Berechtigung erteilen

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>

Das Passwordfile für SVN liegt bei uns unter /etc/apache2/dav_svn.passwd

Repositories Verwalten

Repositories dumpen (incl. aller Revisionen)

svnadmin dump /srv/svn/repo/ > ~/repo.dump

Repository Dump einspielen

svnadmin load /srv/svn/neuesRepo/ < ~/repo.dump 

Ein Dump kann auch in ein anderes Repository eingespielt werden:

svnadmin load /srv/svn/neuesRepo/ --parent-dir /unterverzeichnis/ < ~/repo.dump 

Somit können Repositories auch zusammengefasst werden 1)

Zugriff auf Repositories mit WebDAV und Autoversioning

Sicherung und Wiederherstellung von Repositories

Sicherung und Wiederherstellung via dump

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]

Wiederherstellung einer Hartkopie

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)

Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.

software/apache/subversion.1383645906.txt.gz · Zuletzt geändert: 2013/11/05 11:05 von khopf