mod_python apache configuration issues

digidalmation dgargan at sbcglobal.net
Mon Oct 18 00:29:29 EDT 2004


Hello all.  I've been trying to get my linux server to run mod_python.
It's a Mandrake 10 linux box, and apache/mod_python are installed from rpms.
apache2-mod_python-2.0.48_3.1.3-1mdk
apache2-2.0.48-6mdk


The rpm installed the python module as:
/usr/lib/apache2-extramodules/mod_python.so

And added a config file for apache:
/etc/httpd/conf.d/16_mod_python.conf

The apache config files contained the following before my modifications:
<IfDefine HAVE_PYTHON>
   <IfModule !mod_python.c>
     LoadModule python_module    extramodules/mod_python.so
   </IfModule>
</IfDefine>
<IfModule mod_python.c>
</IfModule>

Now after reading the docs installed into /usr/share/doc for mod_python
and going through the directions at python.org, I've also changed the
config file to add a few lines to one of the directives:

<Directory /var/www/html>
     Options -Indexes FollowSymLinks MultiViews
     AllowOverride All
     AddHandler mod_python .py
     PythonHandler mptest
     PythonDebug On
</Directory>

Now when I put the url into a browser:
http://myserver.mydomain.com/mptest.py

I get a popup from the browser because it doesn't know how to handle
mptest.py, and it asks what you want to do with the file (open it with
an application, save it to disk, etc).  I can choose to open the file
with a text editor, and all it shows is the text "hello world".

That's the output of the mptest.py script....  apache isn't feeding the
browser the code from the mptest.py, only the output.  (Otherwise when I
open it in a text editor I'd see the entire mptest.py script.

Contents of the mptest.py script:
from mod_python import apache

def handler(req):
         req.write("Hello World!")
         return apache.OK

I'm not a python developer, but have been working with Linux and Apache
for a number of years.  I'm not sure where to go from here.  It appears
that the script gets compiled - there is a mptest.pyc file in the
directory now.  Why is it sending my browser the mptest.py file with the
  stdout of the script?

Thanks in advance.  Any help on this is appreciated.

Dave





More information about the Python-list mailing list