<> ---- = Installation = Die Einrichtung von [[http://websvn.tigris.org|WebSvn]] ist recht trivial: {{{ apt-get install websvn }}} Bei der anschließenden Frage nach dem Parent-Directory der Repositories passt für unsere Konfiguration ''/data/repos''. Die anschließende Eingabe der Repositories ist irrelevant. = Anpassung des apache = Jetzt sind alle Repositories unter ''https://svn.systemausfall.org/websvn'' erreichbar. Leider ist es mit dieser Konfiguration noch nicht möglich, die Lese-Rechte zu konfigurieren, da die URLs der Repositories nicht hierarchisch sind. Um dies zu erreichen, sind folgende Schritte erforderlich: * das aktive ''/websvn/'' beispielsweise nach ''/websvn-base'' umbenennen {{{ mv /var/www/websvn /var/www/websvn-base }}} * die ''wsvn.php''-Datei verlinken: {{{ ln -s /usr/share/websvn/wsvn.php /var/www/websvn.php }}} * mit der folgenden apache-Konfigurationsdatei (beispielsweise ''/etc/apache2/conf.d/websvn.conf'') aktivierst du ''!MultiViews'' und setzt den korrekten ''!DirectoryIndex'': {{{ DirectoryIndex websvn.php index.php Options MultiViews FollowSymLinks Options FollowSymLinks AllowOverride None order allow,deny allow from all php_flag magic_quotes_gpc Off php_flag track_vars On DAV svn SVNParentPath /data/repos AuthzSVNAccessFile /data/etc/svn-access.conf AuthType Basic AuthName "subversion auf systemausfall.org" AuthLDAPUrl ldap://ldap.sao/o=neofaxe,dc=systemausfall,dc=org?cn?sub?(objectClass=webAccount) # stattdessen kannst du natuerlich auch AuthUserFile verwenden, falls du keinen LDAP-Server nutzt # diese Kombination von Satisfy und Require sorgt dafuer, dass anonymer Zugriff moeglich ist # nur wenn ein Nutzername beispielsweise fuer Schreibzugriff (siehe AuthzSVNAccessFile) erforderlich ist, # erfolgt eine Authentifikation Satisfy Any Require valid-user }}} Diese Konfiguration ist zusammengebasteltet - aber es funktioniert wenigstens :) Falls du Verbesserungsvorschläge hast, dann her damit! = WebSvn-Konfiguration = * in der ''/etc/websvn/config.inc'' folgende Zeile aktivieren: {{{ $config->useMultiViews(); }}} * eventuell dann noch folgende Zeilen: {{{ $config->allowDownload(); $config->useEnscript(); }}} * in der ''/etc/websvn/wsvn.php'' solltest du folgende Zeile anpassen, falls du dem ''!MultiViews''-Ansatz im vorigen Abschnitt gefolgt bist: {{{ $locwebsvnhttp = "/websvn-base"; }}} * in der ''/etc/websvn/svn_deb_conf.inc'' sollte nur folgende Zeile aktiv sein: {{{ $config->parentPath("/data/repos"); }}} = Einstellungen des Proxy-Servers [optional] = Unsere Server-Struktur verwendet einen Proxy zur Verteilung der Anfragen auf die dahinterliegenden Web-Server. Die entsprechenden Zeilen für die Konfiguration des [[http://www.apsis.ch/pound/|Pound-Proxy]] sind folgende: {{{ UrlGroup "^/svn.*" BackEnd svn.sao,80,1 EndGroup UrlGroup "^/websvn.*" BackEnd svn.sao,80,1 EndGroup }}} = Probleme beim Paket-Upgrade = Wenn nach einem Upgrade keine websvn-Oberfläche erscheint (ohne Fehlermeldung), dann kann dies folgendermaßen behoben werden: {{{ rm /var/www/websvn }}}