[Zope] mod_pcgi2 for whole site
John Morton
jwm@plain.co.nz
Mon, 6 Mar 2000 10:26:24 +1300 (NZDT)
--rdYGAqMDnk
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Jordan B. Baker writes:
> Weirdness...
>
> I've almost got mod_pcgi2 setup to serve my entire site fronted by Apache
> but I've run into one final snag.
>
> When I access the home page of the site I notice that the BASE HREF
> returned by Zope is saying its http://XXX/index.html/
Ran into this one myself - the solution is to remove the DocumentRoot
directive, then just use the SetHandler and similar tags in the body
of the config file, though you can put them in a location container if
you like.
> Anyone have a valid configuration for this situation that I can take a
> look at?
Here's a couple of files I'm using. They should give you some idea of
the modules you need to have loaded, too:
--rdYGAqMDnk
Content-Type: text/plain
Content-Disposition: inline;
filename="nova.kaos.org.nz-httpd-conf"
Content-Transfer-Encoding: 7bit
# Apache HTTPD Configuration file automatically generated
# by hand :-)
Include /etc/httpd/conf-include/zope-site-modules
BindAddress nova.kaos.org.nz
ServerName nova.kaos.org.nz
ServerRoot /etc/httpd
PidFile /var/log/httpd/nova.kaos.org.nz/httpd-pid
ServerType standalone
Port 80
User kaoswww
Group kaoswww
ServerAdmin jwm@plain.co.nz
TransferLog /var/log/httpd/nova.kaos.org.nz/httpd-log
ErrorLog /var/log/httpd/nova.kaos.org.nz/httpd-errors
LogLevel notice
HostNameLookups off
# Setup for a stand alone zope site
Timeout 400
MinSpareServers 2
MaxSpareServers 4
StartServers 2
MaxClients 256
MaxRequestsPerChild 1000
LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
ResourceConfig /dev/null
AccessConfig /dev/null
TypesConfig /etc/httpd/conf/mime.types
# mod_pcgi2 settings for Jeff Rush's Zope 2.1.2 RPMs
PCGI_NAME Zope
PCGI_SOFTWARE_HOME /var/zope/
PCGI_MODULE_PATH /usr/share/zope/lib/python/Zope
# Zope is run as user zope while this server is kaoswww, so
# we can't really spawn new publishers.
PCGI_PUBLISHER /var/zope/pcgi_nullpublisher.py
PCGI_EXE /usr/bin/python
PCGI_SOCKET_FILE /var/run/pcgi.soc
PCGI_PID_FILE /var/run/zserver.pid
# I doubt anything will actually be written here now that
# the RPM versions use syslog
PCGI_ERROR_LOG /etc/httpd/log/nova.kaos.org.nz/kaos-pcgi.log
PCGI_DISPLAY_ERRORS 0
### Important! Don't set a DocumentRoot so that mod_pcgi will
### be used to handle any URL request from the root directory up!
SetHandler pcgi-handler
PCGI_ROOT /
PCGI_SetEnv SiteRootPATH /
# You can define special locations with special properties. I
# expect that Alias will work, too, if you want to server up
# documents or images direct from the file system.
<Location /debug>
SetHandler pcgi-handler
PCGI_ROOT /
PCGI_SetEnv SiteRootPATH /
PCGI_DISPLAY_ERRORS 1
</Location>
--rdYGAqMDnk
Content-Type: text/plain
Content-Disposition: inline;
filename="zope-site-modules"
Content-Transfer-Encoding: 7bit
# This is a minmal set of modules to Apache/mod_pcgi2 going.
# By default, my apache has mod_log_config complied in. You'll probably
# want it, seeing as that's one of the main things apache does more
# conveniently that Medusa.
# You must have these modules to access the management screens -
# headers sets the authorization header and env sets the
# HTTP_CGI_AUTHORIZATION variable that Zope needs.
LoadModule headers_module modules/mod_headers.so
LoadModule env_module modules/mod_env.so
# You'll want these if you want to serve a few static documents or
# images outside of Zope.
LoadModule mime_module modules/mod_mime.so
LoadModule alias_module modules/mod_alias.so
# I used mod_access to control who got access to the site
# while I was building it. It's optional
LoadModule access_module modules/mod_access.so
# mod_pcgi2 is necessary to access Zope without all that tedious
# mucking about with CGI scripts and mod_rewrite rules.
LoadModule pcgi2_module modules/libpcgi2.so
# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
ClearModuleList
AddModule mod_pcgi2.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_so.c
AddModule mod_env.c
AddModule mod_headers.c
--rdYGAqMDnk
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
John.
--rdYGAqMDnk--