[Zope] Still trying no success

Robert W. Canary rwcanary@ohiocounty.net
Fri, 11 Jun 1999 22:07:45 -0500


Paul Everitt wrote:

> "Robert W. Canary" wrote:
> >
> > Well... still no succes with trying to get Zope to work.
> >
> > It seems to me that in order to get Zope to work I have to completely
> > scrap my Apache and turn it into a Zope web server.   I guess I am
> > failing to see the concept here.   Does Zope take over everything?  I
>
> No, "Zope" doesn't take over everything.  In fact, the thing that you
> are getting frustrated about -- the Apache rewrite rule -- has nothing
> to do with Zope.  It is Apache software and has been in Apache for about
> the last two years.
>
> The fact that it is hard to use and debug is definately a problem for
> software like Zope that wants to integrate with Apache.  This is why the
> Zope community works *very* hard to help people integrate Apache and
> Zope, even though technically you're asking Apache questions.
>
> In the end, though, the answer is no -- the rewrite rule should not take
> over the rest of Apache.  I've used it many times with some URLs being
> served off disk and others being served out of various Zope
> installations.

That good to here.

> > know this seems to be a strange question, but it seems from the rewrite
> > rules that I have seen,  that the only way to get Zope to work is if one
> > configures the rewrite rule to examine and rewrite all cgi's so it will
>
> What evidence leads to that conclusion?  Perhaps many of the examples
> are running Zope in the top of the URL tree, but the "Zap" distribution
> of Apache provided at zope.org serves up the "/" URL as a static page.

RewriteRule ^/(.*) /home/cgi-bin/Zope.cgi/$1

>
>
> Did you try Zap?  Even if you are going to throw it out and use your
> own, it is still a useful existance proof that Zope integration works as
> advertised.

I ran Zap.  I examined it.  I studied it.

>
>
> Finally, as proof, here are some lines from our internal development
> machine which is running Apache.  Requests to "/" go to the Document
> Root on the filesystem.  Requests to ~paul go to my public_html
> directory on the filesystem.  Finally, one of the many rewrite rules
> send "/dav/" to a Zope installation:
>
> DocumentRoot /usr/local/apache/htdocs
> UserDir public_html
> RewriteCond %{HTTP:Authorization}  ^(.*)
> RewriteRule ^/dav(.*) /usr/local/apache/dev/dav$1
> [e=HTTP_CGI_AUTHORIZATION:%1,
> t=application/x-httpd-cgi,l]
>
> This is Apache 1.3.4.

I have seen a site where it did work.   That alone is proof that it will
work.  I don't doubt it.

>
>
> > go through Zope.  However, If I have a cgi-bin and I want to run a cgi
> > from that directory then it is going to get filtered by the rewrite
> > rule.   The rewrite rule has a condition of ^/cgi-bin/Zope/(.*) and
> > rewrites it to /home/httpd/cgi-bin/Zope/$1  according to the rewrite log
> > (pasted below) I belive it is doing the rewrite correctly.
> >
> > (2) init rewrite engine with requested uri /cgi-bin/Zope/Zope.cgi/manage
> >
> > (3) applying pattern '^/cgi-bin/Zope/(.*)' to uri
> > '/cgi-bin/Zope/Zope.cgi/manage'
> > (4) RewriteCond: input='' pattern='^(.*)' => matched
> > (2) rewrite /cgi-bin/Zope/Zope.cgi/manage ->
> > /home/httpd/cgi-bin/Zope/Zope.cgi/manage
> > (5) setting env variable 'HTTP_CGI_AUTHORIZATION' to ''

Does this line look strang to you?

>
> > (2) remember /home/httpd/cgi-bin/Zope/Zope.cgi/manage to have MIME-type
> > 'application/x-httpd-cgi'
> > (2) local path result: /home/httpd/cgi-bin/Zope/Zope.cgi/manage
> > (1) go-ahead with /home/httpd/cgi-bin/Zope/Zope.cgi/manage [OK]
> > (1) force filename /home/httpd/cgi-bin/Zope/Zope.cgi to have MIME-type
> > 'application/x-httpd-cgi'
> >
> > I have created a var directory under the httpd directory and included
> > everything that was under the /var/local/Zope directory, and given
> > everything there owner:nobody group:nobody rwxrwxrwx.    Yes. I altered
> > the Zope.cgi to reflect these directory changes as well.
> >
> > Now the question is what does Apache do with the Zope.cgi?
> >
> > My access.conf includes a "<Directory /home/httpd/cgi-bin/Zope> Options
> > ExecCGI </Directory>", and my srm.conf includes the line "ScriptAlias
> > /cgi-bin/Zope/ /home/httpd/cgi-bin/Zope/"
>
> Note that the "Zap" distribution puts everything in an httpd.conf file,
> which I think is the new Apache way of doing things.

That should not make difference.  Once all the conf files are read then
Apache is configured.  It does not matter if it comes from one file or three.

>
>
> > When I go to my browser and type http://localhost/cgi-bin/Zope/Zope.cgi
> > I get this error:
> >
> > !  Temporarily Unavailable
> >    The rescource you have requested is temporarily unavailable - please
> > try again later.
> >    (102) failure during connect
> >
> > Can someone tell me what this means,  what cuases it?
>
> First, it means that the Zope.cgi file _was_ executed by Apache.  This
> file is a shell script which runs the binary PCGI wrapper executable.
> This executable checks to see if Zope is running.  If it isn't, it tries
> to start it.

Hmm, then what causes the 102 error?  What is it that is "unavailable"?

>
>
> See if a pcgi.log file is created in your var directory, as well as a
> .soc file.

No. No pcgi.log was created.

>
>
> --Paul

--
robert canary
system services
OhioCounty.Net
rwcanary@ohiocounty.net
(270)298-9331 Office
(270)298-7449 Fax