Blair P. Houghton
blair at houghton.net
Thu Aug 31 22:01:48 EDT 2006
I happened to get frustrated enough to plug the right magic into the right search box (the one at http://modpython.org/, as Google wasn't helping) and found the answer to the reason that /my/ publisher setup wasn't finding my scripts. The answer is that the setup I was following from the 3.2.10 doc tree is incomplete, and doesn't say that the URI for a publisher-mediated script has to include the name of the method being invoked. I.e., this document is inadequate: http://www.modpython.org/live/mod_python-3.2.10/doc-html/tut-pub.html the three .conf lines are correct, but the description omits the correct URI formula. Just browsing to http://domain/path/script or http://domain/path/script.py gets a 404 error, while http://domain/path/script.py/handler works fine. Note that the '.py' suffix must be included also. This document has a different .conf, but does give the correct instructions for the URI: http://www.modpython.org/live/current/doc-html/hand-pub-intro.html Okay. For grins I just tried the second .conf setup, and now it works with or without the '.py' suffix, but the handler name is still required.* I have not tested any PATH environment-variable variations. I do know that I have one installation (the XAMPP bundle on Win XP) that does not need any explicit Python elements in the PATH at all. How that works I don't know. But this one (the DeveloperSide.net bundle, with mod_python added on afterward...I forget whose mod_python build it was, I'm pretty sure I got it from a modpython.org mirror). I believe that the document from the live/current tree should be moved to the document in the live/mod_python- 3.2.10 tree ASAP so that people won't be caught by this any more. I'd do it myself but I'm not even sure that this email will get through so I'm not quite up to speed on monkeying around the project files, nor even if they're modifiable by mod_python newbs. Another of the pleasures of open source. --Blair * - here are the significant lines from the working .conf: LoadModule python_module modules/mod_python.so <Directory /www/webroot> SetHandler mod_python PythonHandler mod_python.publisher </Directory> The path "modules/mod_python.so" is relative to the Apache install directory; in this case the full path is C:/www/Apache22/modules/mod_python.so". "/www/webroot" is the base of my served-file tree, so it could have been just "/" or the Directory lines could be omitted entirely and the behavior is the same on my system. The working URI is "http://localhost/script/handler".
|