Re: [Zope] zope.cgi file under NT installation?
I'm trying to get the ZServer (and Zope) to run behind IIS on NT 4.0. The How-To's, list messages, and readme's refer to modifying the zope.cgi file. Unfortunately, I've got an NT installation of Zope that I installed direct from precompiled binaries, and I can't find a zope.cgi file anywhere.
I've seen some examples of zope.cgi posted on the list, but these were all for linux installations. Does anybody have an example zope.cgi from an NT installation, and that is intended to run behind IIS, not Apache? Or, barring that, would anyone be willing to help make suggestions on modifying an existing zope.cgi file from a linux installation. Most of the paths are obvious to change, but I can't, for instance, find the pcgi.soc, pcgi.pid, or pcgi.log files. One example I have is this one:
I have Zope running using pcgi behind a Netscape Enterprise server on NT. The configuration may not be exactly what you want, but it may help somewhat. A lot of what I did to get this working was based on the IIS instructions, and it does actually work (honest). My zope installation on the server is in the directory H:\Zope. File Zope.pcgi: #!H:/cgi-bin/pcgi-wrapper.exe PCGI_NAME=Zope PCGI_MODULE_PATH=H:/Zope/lib/python/Zope PCGI_PUBLISHER=H:/Zope/pcgi/pcgi_publisher.py PCGI_EXE=H:/Zope/bin/python.exe PCGI_SOCKET_FILE=H:/Zope/var/pcgi.soc PCGI_PID_FILE=H:/Zope/var/z2.pid PCGI_ERROR_LOG=H:/Zope/var/pcgi.log PCGI_DISPLAY_ERRORS=1 INSTANCE_HOME=H:/Zope PCGI_PORT=9079 I don't use the file associations as suggested for the IIS configuration. Instead I created a file zope.bat: @h:\cgi-bin\pcgi-wrapper h:\cgi-bin\zope.pcgi I had to make a couple of small changes to pcgi-wrapper and recompile it (these may not be needed for IIS): File pcgi.h: Change: #ifdef WIN32 #include <windows.h> #include <io.h> #include <iostream.h> #include <winsock.h> #endif to: #ifdef WIN32 #include <windows.h> #include <io.h> #include <iostream.h> #include <winsock.h> #include <fcntl.h> #endif And in pcgi-wrapper.c add the following lines just after the #ifdef CLOSE_FDS...#endif #ifdef WIN32 _setmode(fileno(stdin), O_BINARY); _setmode(fileno(stdout), O_BINARY); #endif Without these changes to force stdio into binary mode, I was able to get it working on HTML documents but GIF files were corrupted. -- Duncan Booth duncan@dales.rmplc.co.uk int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3" "\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure? http://dales.rmplc.co.uk/Duncan
Duncan, Jim, and Chas, Thanks very much guys! With your help, I now have Zope humming along behind IIS. Works as advertised. Duncan, one thing, however. I'm getting the same problem you had with broken gifs. Would it be possible for you to send me a copy of your modified/recompiled pcgi-wrapper.exe as described in your message? Should this be a bug fix for DC? Thanks again for the help. Chris
-----Original Message----- From: Duncan Booth [mailto:duncan@rcp.co.uk] Sent: Thursday, September 30, 1999 7:36 AM To: cfassnacht@ssc.wisc.edu; zope@zope.org Subject: Re: [Zope] zope.cgi file under NT installation?
I'm trying to get the ZServer (and Zope) to run behind IIS on NT 4.0. The How-To's, list messages, and readme's refer to modifying the zope.cgi file. Unfortunately, I've got an NT installation of Zope that I installed direct from precompiled binaries, and I can't find a zope.cgi file anywhere.
I've seen some examples of zope.cgi posted on the list, but these were all for linux installations. Does anybody have an example zope.cgi from an NT installation, and that is intended to run behind IIS, not Apache? Or, barring that, would anyone be willing to help make suggestions on modifying an existing zope.cgi file from a linux installation. Most of the paths are obvious to change, but I can't, for instance, find the pcgi.soc, pcgi.pid, or pcgi.log files. One example I have is this one:
I have Zope running using pcgi behind a Netscape Enterprise server on NT. The configuration may not be exactly what you want, but it may help somewhat. A lot of what I did to get this working was based on the IIS instructions, and it does actually work (honest). My zope installation on the server is in the directory H:\Zope.
File Zope.pcgi: #!H:/cgi-bin/pcgi-wrapper.exe PCGI_NAME=Zope PCGI_MODULE_PATH=H:/Zope/lib/python/Zope PCGI_PUBLISHER=H:/Zope/pcgi/pcgi_publisher.py PCGI_EXE=H:/Zope/bin/python.exe PCGI_SOCKET_FILE=H:/Zope/var/pcgi.soc PCGI_PID_FILE=H:/Zope/var/z2.pid PCGI_ERROR_LOG=H:/Zope/var/pcgi.log PCGI_DISPLAY_ERRORS=1 INSTANCE_HOME=H:/Zope PCGI_PORT=9079
I don't use the file associations as suggested for the IIS configuration. Instead I created a file zope.bat: @h:\cgi-bin\pcgi-wrapper h:\cgi-bin\zope.pcgi
I had to make a couple of small changes to pcgi-wrapper and recompile it (these may not be needed for IIS): File pcgi.h: Change: #ifdef WIN32 #include <windows.h> #include <io.h> #include <iostream.h> #include <winsock.h> #endif
to: #ifdef WIN32 #include <windows.h> #include <io.h> #include <iostream.h> #include <winsock.h> #include <fcntl.h> #endif
And in pcgi-wrapper.c add the following lines just after the #ifdef CLOSE_FDS...#endif
#ifdef WIN32 _setmode(fileno(stdin), O_BINARY); _setmode(fileno(stdout), O_BINARY); #endif
Without these changes to force stdio into binary mode, I was able to get it working on HTML documents but GIF files were corrupted.
-- Duncan Booth duncan@dales.rmplc.co.uk int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3" "\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure? http://dales.rmplc.co.uk/Duncan
Duncan, Jim, and Chas,
Thanks very much guys! With your help, I now have Zope humming along behind IIS. Works as advertised.
Duncan, one thing, however. I'm getting the same problem you had with broken gifs. Would it be possible for you to send me a copy of your modified/recompiled pcgi-wrapper.exe as described in your message? Should this be a bug fix for DC?
Thanks again for the help.
Chris
I have emailed a copy of the modified pcgi-wrapper.exe to Chris Fassnacht. If anyone else on the Zope list wants a copy it may be downloaded from http://dales.rmplc.co.uk/Duncan/Downloads. I would submit this as a feature request, but the Zope collector doesn't seem to include PCGI as one of the products. I'll enter it under Zope though and see what happens. -- Duncan Booth duncan@dales.rmplc.co.uk int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3" "\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure? http://dales.rmplc.co.uk/Duncan
participants (2)
-
Chris Fassnacht -
Duncan Booth