Im folgenden ist beschrieben, wie man einen SVN-Server mit HTTP-Zugang einrichtet und anschliessend ein vorhandenes Repository auf diesen neuen Server umzieht. Die Anleitung bezieht sich auf einen Ubuntu Server, es sollte sich jedoch auf Debian Systemen alles analog verhalten.
Zuerst wird die benoetigte Software installiert:
apt-get install subversion libapache2-svn |
Danach werden die erforderlichen Ordnerstrukturen angelegt:
mkdir /srv/svn mkdir /srv/svn/repository chown www-data:www-data /srv/svn/repository chmod 770 /srv/svn/repository |
Als naechstes wird die Datei /etc/apache2/mods-available/dav_svn.conf entsprechend konfiguriert. Hier werden verschiedene Dinge eingestellt, unter anderem fuer die Zugangsbeschraenkungen und ACLs:
<Location /svn> DAV svn SVNParentPath /srv/svn/repository AuthType Basic AuthName "Subversion Repository" AuthUserFile /srv/svn/dav_svn.passwd AuthzSVNAccessFile /srv/svn/dav_svn.authz Require valid-user </Location> |
Nun wird in der /srv/svn/dav_svn.passwd ein neuer Benutzeraccount angelegt, der Zugriff auf das Repository bekommen soll:
htpasswd -c /srv/svn/dav_svn.passwd USERNAME |
Und in der /srv/svn/dav_svn.authz die entsprechenden ACL-Rechte gesetzt:
[example:/] USERNAME = rw |
Zum Schluss wird das Repository migriert. Dafuer muss auf dem alten Server ein entsprechender Repository-Dump erzeugt, und auf den neuen Server kopiert werden:
svnadmin dump /path/to/repository/foobar > foobar.dump scp foobar.dump user@example.net: |
Auf dem neuen Server wird nun ein neues Repository angelegt und mit dem vorher erstellten und kopierten Dump befuellt. Damit es die richtigen Rechte hat, wird es als Benutzer www-data gemacht
cd /srv/svn/repository su www-data svnadmin create foobar svnadmin load foobar < foobar.dump |
Das wars! Ab nun kann man auf das Repository auf den neuen Server schwenken und damit arbeiten. In diesem Beispielfall koennte es das folgende sein:
http://example.net/svn/foobar |