Home arrow Zope arrow Page 4 - Using Zope With Apache

The Writing On The Wall - Zope

So you've got your Apache server serving up static HTMLcontent, and you've got some cool new Zope applications as well. Now, incase you were wondering, it is possible for the twain to meet - and thisarticle tells you how, with a step-by-step guide to the process ofserving up your Zope content through Apache.

  1. Using Zope With Apache
  2. A Few Good Reasons
  3. When Persistence Pays Off
  4. The Writing On The Wall
  5. The Fast And The Furious
  6. Performing By Proxy
  7. Zip Zap Zoom
By: icarus, (c) Melonfire
Rating: starstarstarstarstar / 30
May 14, 2002

print this article


Now, while this is fairly simple, there's one very important caveat withthis method. You won't be able to access the Zope management interfacevia PCGI, because Apache has trouble passing authentication headers overthe CGI "bridge" that's been constructed between Zope and itself.

Luckily, there does exist a solution for this (although it comes with acaveat of its own, discussed on the next page). This solution involvesusing Apache's URL rewriting engine to artificially pass theauthorization credentials to Zope over CGI.

In order to do this, first make sure that your Apache build includessupport for URL rewriting (you can do this by looking for"mod_rewrite.c" in the output of "httpd -l"). If it does, great - skipthe configure-build-install process below and jump straight intoconfiguring the server. If not, you'll need to recompile Apache withsupport for URL rewriting.

First, untar the Apache distribution to a directory on your system.

$ cd /tmp/sources $ tar -xzvf apache_1.3.20.tar.gz
Next, configure Apache to activate the URL rewriting module.

$ cd /tmp/sources/apache_1.3.20 $ ./configure --enable-module=rewrite
Compile and install the package.

$ make $ make install
All done? Now add the following lines to Apache's "httpd.conf"configuration file.

RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^/Zope(.*) /usr/local/apache/cgi-bin/Zope.cgi/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]
This tells the server to use its URL rewriting engine to automaticallypass all URLs containing /Zope to the "Zope.cgi" script. Simultaneously,it sets the environment variable HTTP_CGI_AUTHORIZATION to reflect thecurrent authentication status, thereby (hopefully) solving theauthentication problem.

Restart the server, and try accessing the URL again. This time, Apacheshould successfully pass your authentication credentials to Zope, andyou should be able to access the Zope management interface.

If it didn't work, you're not toast yet - flip to the next page for analternative solution.

>>> More Zope Articles          >>> More By icarus, (c) Melonfire

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Creating Zope Products
- Plone Content Types With Archetypes
- Flat User Management in Zope
- Creating Basic Zope Applications
- Getting started with Zope for Linux and Sola...
- ZPT Basics (part 4)
- ZPT Basics (part 3)
- ZPT Basics (part 2)
- ZPT Basics (part 1)
- Exception Handling In DTML
- DTML Basics (part 4)
- DTML Basics (part 3)
- DTML Basics (part 2)
- DTML Basics (part 1)
- Using Zope With Apache

Developer Shed Affiliates


Dev Shed Tutorial Topics: