Peter J Ulintz writes:
My system is a Sun sparc server running Solaris7 and Python1.5.1. Installed Apache1.3.3 (first time for me) and ran the w_pcgi.py script, which seemed to work correctly.
Congratulations for making it this far along, especially if you've just started using Apache.
NEWBIE QUESTION I: Exactly where do you put the mod_rewrite config info? I tried putting it in the normal three .conf files and got errors. I DID compile the server with the mod_rewrite included.
The Rewrite directives for Apache normally go in httpd.conf. Actually the Rewrite directives should only affect authorization, so if you are denied access *after* the user name and password dialog appears, everything else with PCGI is probably working.
Decided to try out the system anyway, running the http://myservername:80/cgi-bin/Zope/manage command and got errors (Can't remember the exact one). I checked the pcgi.log file, and noticed that I was getting tracebacks indicating...
"File "/export/home/pulintz/Zope-1.9b1-src/lib/python/BoboPOS/SimpleDB.py", line 227, in open except: raise IOError, 'could not open ' + file_name ImportError: (<class exceptions.IOError at ab3d8>, 'could not open /export/home/pulintz/Zope-1.9b1-src/var/Data.bbb.trans')"
So I changed the permissions on the Data.* files /var directory (yes the var directory had full permissions), and got the following traceback error...
Ah, this points out a potential problem. If you start using Zope with ZopeHTTPServer under your account, then it's possible that the database is no longer accessible through your web server. This is something we should document better, because it represents a natural progression of tasks.
File "/export/home/pulintz/Zope-1.9b1-src/lib/python/ Products/sample/Product.py", line 24, in ? import OFS.SimpleItem, Persistence, Acquisition, AccessControl.Role ImportError: (<class exceptions.ImportError at ab540>, 'No module named Persistence')
Went into the Product.py file and changed "Persistence" to "BoboPOS.Persistence", and tried to bring up zope in the browser again. I got the authentication window! But I couldn't authenticate, getting the error message concerning the authentication headers.
Okay, you've got the LRP running. As mentioned above, if you see the authentication window, PCGI's job is essentially complete. The problem is likely to be your RewriteRule. Note that you may have to change the path from what's specified in the INSTALL file. A common error is for users to forget to specify the absolute pathname. Changing the code in Product.py is a no-no at this stage unless you're doing something benign (e.g. log file or MrCreosote) because you're simply hiding a problem that will be more difficult to track later. See below.
Around that time, the email from Jeff Bauer came thru indicating that removing the pcgi.* files from the /var directory might be good, so I did that, and that's all I remember doing at that point. But the next time I tried to bring up Zope, I got the "!Temporarily Unavailable" message, with the message "(103) unable to verify if process is running"
Uh-oh. Did you remember to kill the running LRP? My earlier advice to Mike P. applied to his condition (not being able to launch the process). As long as you killed the running process (if there was one) before removing the files it's okay. It actually doesn't really matter, but you don't want stale processes clogging up your system.
Drag... Guess I've gotta go and read those documents on Jeff's site about pcgi. Running the pcgifile.py from the /cgi-bin gives...
PCGI info file: /export/home/pulintz/Zope-1.9b1-src/Zope.cgi PCGI wrapper: /export/home/pulintz/Zope-1.9b1-src/pcgi/pcgi-wrapper error attempting: 'from cgi_module_publisher import publish_module' status: FAILURE
This provides us an important clue, although it's slightly misreported and you actually had it available in your earlier traceback. (Zope was released before pcgifile.py could be updated; to be remedied shortly.) The pcgi_publisher.py module is actually trying to import publish_module from ZPublisher. Since your problem (authentication aside) is essentially one of not being able to import the correct module, for the time being let's put PYTHONPATH in your Zope.cgi info file: PYTHONPATH=/usr/local/bin/python:. If the solution still isn't obvious, you can try to expedite things by creating a test cgi file, TestZope.cgi: #!/usr/local/bin/python print "Content-type: text/html" print print "Looks OK" Get TestZope.cgi working and then add some import statements, placed just before print "Looks OK", e.g.: from ZPublisher import publish_module As it breaks, you can add to your import path by iteratively doing the following, placing the sys.path.append just ahead of importing publish_module. import sys sys.path.append('/export/home/...') The step above shouldn't be necessary, but it helps to define a small test case so that you can narrow down the real problem. And it's better than sitting there staring at your screen <wink>.
any advice in the meantime would be appreciated (besides "You're not worthy-- go back to Perl")
Worthiness aside, nobody deserves to suffer that fate. Hang in there, Jeff Bauer Rubicon, Inc.