>
----
= 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 }}}