Dear Mailmen, I've been studying this all weekend and finally, *finally* understood enough to get it to work. I wanted to proxypass both sites into zope, however I needed access to CGI scripts and images to run mailman. I had to find the appropriate rewrite rule to allow this to work. The zope Zserver serves pages on port 8080. Apache has the ability to proxy this on port 80 either through "ProxyPass x y" which gives you very little control or through "RewriteRule x y [proxy]" which gives you tremendous control. In zope I have two SiteAcess objects. One at the root, says "http://morseall.org", "/" and the other inside /osm says "http://osm.cx", "/" This worked with the following configuration: Redhat Linux 6.2 apache-1.3.12-2.i386.rpm Zope-2.1.6-1.i386.rpm Zope-zserver-2.1.6-1.i386.rpm # added to /etc/httpd/conf/httpd.conf ScriptAlias /mailman/ "/home/mailman/cgi-bin/" Alias /pipermail/ "/home/mailman/archives/public/" <VirtualHost 24.218.234.247> ServerName osm.cx RewriteEngine On RewriteOptions 'inherit' RewriteRule ^/icons(.*) - [last] RewriteRule ^/mailman(.*) - [last] RewriteRule ^/pipermail(.*) - [last] RewriteRule ^/(.*)$ http://localhost:8080/osm/$1 [proxy] ProxyPassReverse / http://localhost:8080/osm/ ProxyPass /p_ http://localhost:8080/p_ ProxyPass /misc_ http://localhost:8080/misc_ </VirtualHost> <VirtualHost 24.218.234.247> ServerName morseall.org RewriteEngine On RewriteOptions 'inherit' RewriteRule ^/icons(.*) - [last] RewriteRule ^/mailman(.*) - [last] RewriteRule ^/pipermail(.*) - [last] RewriteRule ^/(.*)$ http://localhost:8080/$1 [proxy] ProxyPassReverse / http://localhost:8080/ </VirtualHost>
At the risk of posting something embarrassingly broken, here's what Works For Us: ;-) (My mailer propably will wrap some of these lines. Your paths will be different. Yadda Yadda.) RewriteEngine on RewriteRule ^/static/(.*) /home/httpd/html/$1 [l] #RewriteRule ^/images/(.*) /home/httpd/images/$1 [l] #RewriteRule ^/icons/(.*) /home/httpd/icons/$1 [l] RewriteRule ^/pipermail/(.*) /usr/local/mailman/archives/public/$1 [l] RewriteRule ^/cgi-bin/(.*) /home/httpd/cgi-bin/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l] RewriteRule ^/mailman/(.*) /usr/local/mailman/cgi-bin/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l] RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^/(.*) /home/httpd/cgi-bin/Zope/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l] I have no idea if this covers some corner case better or worse. =) I believe this comes from some example I found via zope.org but could be wrong. Best, jim -- Jim Hebert http://www.cosource.com/ jim@cosource.com The cooperative market for open source software "Well actually I was considering opening a market in flying pigs. Mostly because it would be more practical...." -- Alan Cox
participants (2)
-
Jim Hebert -
pehr anderson