RE: [Zope] - newbie PCGI problems (fwd)
On Mon, 7 Dec 1998, Jeff Bauer wrote:
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.
Cool. I added em, but it didn't seem to help much.
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.
Yea, I probably shoulda mentioned that... I did run the wo_pcgi.py script first with the ZopeHTTPServer, and it installed flawlessly, and I played around in there a bit...
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.
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.
Okay, changed that back... actually, to be totally safe, I scrubbed everything and reinstalled Zope, making the appropriate permissions changes, and adding the PYTHONPATH to the pcgi info file... I also rechecked the apache configuration files to make sure the mod_rewrite was included in the build, and to make sure that I could follow symbolic links,etc. Tried to fire up Zope and got the "Serious Application Error" screen. Checked the pcgi.log, and had the same permission trouble with the Data.bbb file, so I reset these permissions to be globally writable and tried again-- got the authentication screen. Still can't authenticate. Gives the "You are not authorized to access this resource. No Authorization header found" error. Reading your "Sacrificial Virgin" email: so on Solaris is it necessary to have the UNION_SEMUN macro in pcgi.h? (I'll try and avoid editing the Publish.unauthorized() method) Anything else need to be done, or should I just wait for the next release?
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.
Yea-- Can't seem to get around this... <cringe> Potential stupid question: Shouldn't there be a ZPublisher module somewhere? </cringe> Anyway, trying your advice below...
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>.
The simple script with just "Looks okay" works fine of coarse, but I can't seem to find a path to ZPublisher anywhere, no matter how many locations I add to sys.path. Trying to test pcgi more, I did the Example /pcgitest/getTime and I got the "Temporarily Unavailable" screen, with no additional error message. (And I did make sure the directives were set correctly) NOW, the ../cgi-bin/pcgifile.py?filename=.../Zope.cgi thing gives me PCGI info file: /export/home/pulintz/Zope-1.9b1-src/Zope.cgi PCGI wrapper: /export/home/pulintz/Zope-1.9b1-src/pcgi/pcgi-wrapper PCGI_SOCKET_FILE write permission error: /export/home/pulintz/Zope-1.9b1-src/var/pcgi.soc status: FAILURE but I've checked the permissions on everything, and /var is globally writable. I'll keep at it... I installed Bobo, and that works, which makes me feel a bit better. Maybe I'll content myself to play around with that until the dust settles a bit. Thanks for the help so far! -P
>> > import OFS.SimpleItem, Persistence, Acquisition, AccessControl.Role >> > ImportError: (<class exceptions.ImportError at ab540>, >> > 'No module named Persistence') I think you want from Globals import Persistent .... ... do stuff with Persistent ... instead of import Persistence .... ... do stuff with Persistence.Persistent ... Just figured this out myself. Skip Montanaro | Mojam: "Uniting the World of Music" http://www.mojam.com/ skip@calendar.com | Musi-Cal: http://concerts.calendar.com/ 518-372-5583
On Tue, 8 Dec 1998, Peter J Ulintz wrote:
Cool. I added em, but it didn't seem to help much. Which apache are you using? I personally had problems with the RH5.2 included apache RPM: -) mod_rewrite was loaded. (I verified that the module is mapped into the address space.) -) It still ignored my commands. :(
It's probably my stupidity, but it doesn't happen with the apache-ssl rpm I'm building myself :( Andreas -- Win95: n., A huge annoying boot virus that causes random spontaneous system crashes, usually just before saving a massive project. Easily cured by UNIX. See also MS-DOS, IBM-DOS, DR-DOS, Win 3.x, Win98.
participants (3)
-
Andreas Kostyrka -
Peter J Ulintz -
skip@calendar.com