Hi, I struggled, and got mod_python running on Apache/Win2k. Follow
these instructions verbatim and you shouldn't have any trouble. These
instructions are based on
"http://www.modpython.org/live/current/doc-html/inst-testing.html".
I've added specific information such as Windows filepaths and
filenames so there's no ambiguity on what you should do. I encourage
you to copy and paste to avoid typing errors.
Cheers,
Rolfe
INSTALLING MOD_PYTHON
1. Make a default installations of the latest/best version of Apache.
2. Make a default installation of the latest/best version of
mod_python.
3. Open C:\Program Files\Apache Group\Apache2\conf\httpd.conf in
Notepad.
4. In httpd.conf, just below the line "#LoadModule ssl_module
modules/mod_ssl.so", copy and paste the following section:
#Start of section pasted in by YOURNAMEGOESHERE
LoadModule python_module modules/mod_python.so
<Directory "C:\Program Files\Apache Group\Apache2\htdocs/test/">
AddHandler python-program .py
PythonHandler mptest
PythonDebug On
</Directory>
<Directory "C:\Program Files\Apache Group\Apache2\cgi-bin/">
AddHandler python-program .py
PythonHandler mptest
PythonDebug On
</Directory>
#End of section pasted in by YOURNAMEGOESHERE
(NOTE: Don't mess around with the other configuration settings in
httpd.conf, - leave good enough alone. Don't worry about the
forward/backward slashes either - it doesn't matter.)
5. Save and close httpd.conf and wait a few seconds.
6. Restart Apache by clicking the Apache monitor icon in your systray
and selecting Apache2=>Restart.
PROCEDURE COMPLETED
##### TESTING MOD_PYTHON #######
1. Create a directory called "test" in htdocs so you end up with
"C:\Program Files\Apache Group\Apache2\htdocs\test"
2. Create a text file called mptest.py in "C:\Program Files\Apache
Group\Apache2\htdocs\test"
3. Paste the following text into mptest.py:
from mod_python import apache
def handler(req):
req.write("Hello World!")
return apache.OK
4. Save and close mptest.py.
5. In your file browser, copy and paste mptest from "C:\Program
Files\Apache Group\Apache2\htdocs\test" to "C:\Program Files\Apache
Group\Apache2\cgi-bin".
6. Assuming your sitting at the same machine that's running Apache,
enter the URL "http://localhost/test/mptest.py" in your web browser.
The browser displays "Hello World!" and nothing else. This confirms
that Apache can run cgi scripts in the /test/ directory.
7. Repeat step 6 using the URL "http://localhost/cgi-bin/mptest.py"
instead. The browser displays "Hello World!" and nothing else. This
confirms that Apache can run cgi scripts in the /cgi-bin/ directory.
PROCEDURE COMPLETED - mod_python works!
######## NOTES ######### Remove either of the following sections (from
<Directory to </Directory>) in order to disable cgi scripts in a
particular directory. I understand it is very poor security to run cgi
scripts under htdocs, so I'd try getting rid of that one first.
<Directory "C:\Program Files\Apache Group\Apache2\htdocs/test/">
AddHandler python-program .py
PythonHandler mptest
PythonDebug On
</Directory>
<Directory "C:\Program Files\Apache Group\Apache2\cgi-bin/">
AddHandler python-program .py
PythonHandler mptest
PythonDebug On
</Directory>
######### ACKNOWLEDGEMENTS ########## Thank you, Steve Holden, for
your guidance. I'm very much looking forward to your book, Python Web
Programming.
Thank you Peter Maas for your response on comp.lang.python