Instalando TRAC/SVN/DAV com Apache
Instalei o subversion com trac e webdav aqui no servidor, foi duro mas no final deu tudo certo, o trac e o webdav estão instalados e suportando múltiplos projetos. O 1° que estou hospedando aqui é meu pequeno wiki feito com Camping, o textcamp.
Essas linhas deram certo dentro da diretiva VirtualHost / Location do httpd.conf
SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /var/svn/trac PythonOption TracUriRoot /projects SetEnv PYTHON_EGG_CACHE /tmp
Encontrei em muitos locais outros meios de configuração, mas esses ai deram certo aqui num Fedora. Coloquei todos os tracs em /var/svn/trac (ex:/var/svn/trac/textcamp) e todos os repositórios em /var/svn/repositories/ (ex:/var/svn/repositories/textcamp), Assim o webdav e o trac conseguem ver todos e mostrar no caso do trac até uma lista deles. Para o webdav reconhecer vários repositórios basta usar:
SVNParentPath /var/svn/repositories
ao invés de:
SVNPath /var/svn/repositories/textcamp
o mesmo com a configuração do trac:
PythonOption TracEnvParentDir /var/svn/trac
No meu servidor eu usei mod_python pois é mais rápido que o fastcgi.
No final ficou assim:
<VirtualHost *>
ServerName code.zusee.com
DocumentRoot /var/www/vhosts/code.zusee.com/docs
ErrorLog /var/log/httpd/error_svn_log
CustomLog /var/log/httpd/access_svn_log common
<Location /projects>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/svn/trac
PythonOption TracUriRoot /projects
SetEnv PYTHON_EGG_CACHE /tmp
</Location>
<LocationMatch "/projects/[[:alnum:]]+/login">
AuthType Basic
AuthName "trac"
AuthUserFile /var/passwdfile
Require valid-user
</LocationMatch>
<Location "/dav">
DAV svn
# SVNPath /var/svn/repositories
SVNParentPath /var/svn/repositories
AuthType Basic
AuthName "Zusee Subversion"
AuthUserFile /var/passwdfile
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
# SSLRequireSSL
</Location>
</VirtualHost>
Outra coisa, aqui eu usei um virtualhost explicitado mesmo pq tinha que configurar essas diretivas, mas no servidor instalei o mod_vhost_alias que faz com que se crie subdomínios apenas com pastas