InhaltsverzeichnisSUBVERSIONfreies Versionskontrollsystem. Subversion auf einem Debian mit Domänenauthentifizierung mit HTTP-Zugriff installieren
zuerst muss der Rechner mit fester IP konfiguriert werden. apt-get install subversion apache2 libapache2-svn libapache2-mod-auth-pam libapache2-mod-auth-sys-group
Es muss ein Datenverzeichnis für Subversion bestimmt werden (z.B. /daten/svn): mkdir -p /daten/svn
Dem Apachebenutzer muss der Zugriff auf dieses Verzeichnis erlaubt werden. chown www-data:www-data /daten/svn
Jetzt wird ein Repository erstellt: cd /daten/svn ; svnadmin create meinCode meinCode
Jetzt werden noch Berechtigungen auf ein paar Unterverzeichnisse erstellt: chown -R www-data:www-data meinCode/{db,locks,conf} Jetzt wird der Inhalt der Datei /etc/apache2/mods-enabled/dav_svn.conf gelöscht und dann wie folgt konfiguriert:
Jetzt wird die Datei /etc/apache2/dav_svn.authz erstellt.
Jetzt muss der Apachedienst neu gestartet werden: /etc/init.d/apache2 restart Jetzt füllen wir das Repo erstmals mit unseren Daten: svn import /wo/meine/daten/liegen/meinCode http://localhost/svn/meinCode -m "mein erster Datenimport für MeinCode"
Danach sollte der Zugriff über die Webseite http://meinServer/svn/meinCode nach Anmeldung mit dem Domänenaccount möglich sein. SVN-Log-Dateien anzeigen: svn log http://localhost/svn/reponame SVN-Liste anzeigen: svn list http://localhost/svn/reponame eine ASCI-Datei aus dem SVN-Repo anzeigen: svn cat http://localhost/svn/reponame/dateiname
Ein Repo hinter einem Proxyserver auschecken: http-proxy-host = proxysrv http-proxy-port = 8080 http-proxy-username = domaenenuser http-proxy-password = dasDomänenpasswort anschließend versuchen Sie, das repo erneut auszuchecken: svn checkout http://meinServer/svn/reponame reponame oder svn co http://meinServer/svn/reponame reponame --username doedel --password geheim eine Datei zufügen: cd reponame touch dateiname echo "irgendwelcher Inhalt"> dateiname svn add dateiname svn commit eine Dateien editieren und zurück speichern: cd reponame mcedit dateiname svn commit ein Repo kopieren: su svn # touch meinrepo/db/fsfs.conf svnadmin hotcopy meinrepo meinrepo2 Ein Repo auf einen anderen Server verschieben
zuerst muss das Zielrepo auf dem Zielserver normal erstellt und konfiguriert (wie oben dargestellt) werden. cd /daten/svn/ svnadmin dump myrepo >myrepo.bckp gzip myrepo.bckp scp myrepo.bckp.gz root@zielserver:/daten/svn/ rm myrepo.bckp.gz
Jetzt wird auf dem ZielServer der Dump in das neue Repo zurückgespielt und die Rechte angepasst. gunzip myrepo.bckp.gz svnadmin load zielrepo < myrepo.bckp chown -R www-data:www-data zielrepo chmod -R o-rwx zielrepo rm myrepo.bckp
Danach sollte das Repo auf dem neuen Server erreichbar sein. Erlaube einer Gruppe Repos mit dem svnadmin als Benutzer ''www-data'' zu verwalten:apt-get install sudo echo "%meineGruppe ALL = (www-data)NOPASSWD: /usr/bin/svnadmin" >>/etc/sudoers
Danach kann ein Mitglied von sudo -u www-data svnadmin dump myrepo >/backup/myrepo.bckp
|