Apache mod_proxy mongrel_cluster and subversion http


#1

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.

Thanks!

<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 http://127.0.0.1:8000
BalancerMember http://127.0.0.1:8001

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]

Deflate

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