Zope (ZServer) in parallel with Apache
Is it easy enough to run Zope (ZServer, as I understand) directly on port 80 (without FCGI or PCGI through Apache), with Apache also running directly on, say port 81, and redirect all Apache-related calls to //www.mysite.com:81/... from the Zope site? Is this as straightforward as it seems? Have others done this? -- Cheers! Chris Ryland Em Software, Inc. www.emsoftware.com
Is it easy enough to run Zope (ZServer, as I understand) directly on port 80 (without FCGI or PCGI through Apache), with Apache also running directly on, say port 81, and redirect all Apache-related calls to file://www.mysite.com:81/... from the Zope site?
Is this as straightforward as it seems? Have others done this?
This seems strange to me. Normally you'd use Apache with mod_proxy and configure a proxy pass rule to ZServer. Very easy to set up, and very flexible. On the Zope-end, you need to use SiteRoot to take care of the virtual server name. There is a How-To for this at http://www.zope.org/Members/anser/apache_zserver that is quite useful Joachim
The one bug I can see is that I can't make Zope the default ("/") path, can I? I have to pick a unique prefix like /zope in order to use this scheme. Or can I use clever rewriting rules to have *everything else* go to special places (like https:/store go to normal Apache (SSL) places, /mailman go to the usual mailman, and everything else go directly to Zope without a prefix? -- Cheers! Chris Ryland Em Software, Inc. www.emsoftware.com ----- Original Message ----- From: "Joachim Werner" <joe@iuveno-net.de> To: "Chris Ryland" <cpr@emsoftware.com>; <zope@zope.org> Sent: Saturday, May 26, 2001 1:17 PM Subject: Re: [Zope] Zope (ZServer) in parallel with Apache
Is it easy enough to run Zope (ZServer, as I understand) directly on port 80 (without FCGI or PCGI through Apache), with Apache also running directly on, say port 81, and redirect all Apache-related calls to file://www.mysite.com:81/... from the Zope site?
Is this as straightforward as it seems? Have others done this?
This seems strange to me. Normally you'd use Apache with mod_proxy and configure a proxy pass rule to ZServer. Very easy to set up, and very flexible. On the Zope-end, you need to use SiteRoot to take care of the virtual server name.
There is a How-To for this at http://www.zope.org/Members/anser/apache_zserver that is quite useful
Joachim
On Sat, May 26, 2001 at 01:56:07PM -0400, Chris Ryland wrote:
Or can I use clever rewriting rules to have *everything else* go to special places (like https:/store go to normal Apache (SSL) places, /mailman go to the usual mailman, and everything else go directly to Zope without a prefix?
I'm doing exactly this on my server. 3 sites currently served from Zope, with Apache and modproxy in front of it. VirtualHostMonster is running in the root of the Zope tree, too. The relevant portions of the httpd.conf: <VirtualHost www.cae.tntech.edu> ServerName www.cae.tntech.edu DocumentRoot /var/www Alias /spong/rrd /var/lib/spong/rrd/www/ Alias /spong /usr/share/spong/www/ <IfModule mod_rewrite.c> RewriteEngine On RewriteLog "/var/log/apache/rewrite_log" RewriteLogLevel 1 RewriteRule ^/local/ - [L] RewriteRule ^/(.*) http://ch208h.cae.tntech.edu:9673/VirtualHostBase/http/ww w.cae.tntech.edu:80/CAE/VirtualHostRoot/$1 [e=HTTP_CGI_AUTHORIZATION:%1,P] </IfModule> </VirtualHost> All content under /local is served by apache, from its normal document root. Everything else is served from Zope (i.e., http://www.cae.tntech.edu/ is a Zope page). I'm going to have to write this up in excruciating detail now. -- Mike Renfro / R&D Engineer, Center for Manufacturing Research, 931 372-3601 / Tennessee Technological University -- renfro@tntech.edu
The one bug I can see is that I can't make Zope the default ("/") path, can I? I have to pick a unique prefix like /zope in order to use this scheme.
Why? Just using proxy pass rules, you should be able to do what you want. E.g.: ProxyPass /whatever http://zopeserver:9999/ ProxyPassReverse /whatever http://zopeserver:9999/ ProxyPass / http://zopeserver:8080/ ProxyPassReverse / http://zopeserver:8080/ should pass every request for servername/whatever to the zopeserver, port 9999, the rest goes to the 8080 port. you can add many of thoes rules. As far as I remember, you just should always make sure that the "/" rule is at the end, as the rules are processes from the top down. Each of the folders you specifiy can go to a different server or server subdirectory, be it an Apache or a Zope. Of course they can even be on different machines.
Or can I use clever rewriting rules to have *everything else* go to special places (like https:/store go to normal Apache (SSL) places, /mailman go to the usual mailman, and everything else go directly to Zope without a prefix?
Yes, and as I already said this should be able without rewriting rules. SSL works fine with this, too. Just put the proxy pass rules into the section where you define the SSL server ...
participants (3)
-
Chris Ryland -
Joachim Werner -
Mike Renfro