Apache mod_proxy mongrel_cluster and subversion http

Hello everyone,

I have a site setup where I need to have svn access and my rails app accessible on the same IP. Right now I can only seem to have one or the other.

This is a production environment… I’m running Ubuntu 7.04 server with apache2 and mod_proxy serving rails requests to 2 mongrel servers via mongrel_cluster and it works great to serve the app when I use this httpd.conf file (I modified domain specific info to be generic) Also the basic authentication is just because this is 80% developed app running on a test production server. I didn’t want everyone and anyone in the company I’m developing this for to have access just by hitting the url. At least with basic auth it would take some effort to see the site without a username and password which no one involved in this project would care to do. So for all intent and purpose…ignore the basic auth! I know it sucks!

However if the below httpd.conf file is in place then all the sudden my subversion repository is no longer accessable via dav_svn at http://subdomain.domain.com/svn/appname/trunk

Is there a way to have both dav_svn http subversion access to my repository and also serve the rails application? Please see httpd.conf file below.


<VirtualHost *:80> ServerName subdomain.domain.com

DocumentRoot /var/www/appname/current/public

<Directory “/var/www/appname/current/public”> AuthType Basic AuthName “Authentication Required to access site”

AuthUserFile "/home/administrator/.htpasswd"
Require valid-user

Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

<Proxy balancer://mongrel_cluster> BalancerMember BalancerMember

RewriteEngine On

Uncomment for rewrite debugging

#RewriteLog logs/myapp_rewrite_log #RewriteLogLevel 9

Check for maintenance file and redirect all requests

RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f

RewriteCond %{SCRIPT_FILENAME} !maintenance.html RewriteRule ^.*$ /system/maintenance.html [L]

Rewrite index to check for static

RewriteRule ^/$ /index.html [QSA]

Rewrite to check for Rails cached page

RewriteRule ^([^.]+)$ $1.html [QSA]

Redirect all non-static requests to cluster

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]


AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml$ BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Uncomment for deflate debugging

#DeflateFilterNote Input input_info #DeflateFilterNote Output output_info #DeflateFilterNote Ratio ratio_info #LogFormat ‘“%r” %{output_info}n/%{input_info}n (%{ratio_info}n%%)’ deflate

#CustomLog logs/myapp_deflate_log deflate

ErrorLog logs/appname_errors_log CustomLog logs/appname_log combined