Tomasz Wlodek
tomw at bnl.gov
Fri Feb 24 16:32:28 EST 2006
Hello experts, I am not sure whether this issue belongs to Apache proper or mod python or both. here is the problem: I use mod_python authentication handler to authenticate users who come to some directory. This part of the code works fine. After the user is authenticated mod_python returns apache.OK and then Apache is supposed to execute cgi script which is located in this directory. For the time being the cgi script is a simple "Hello world" in python. Now comes the problem: users are authenticated, then Apache takes the cgi script but instead of executing it it displays its content as text file. The funny thing is that the same cgi script when I move it to another cgi directory (where I do not use mod_python for authentication) works fine. It executes as cgi script. Apparently when I protect a directory by mod_python authentication handler then Apache does not want to execute underlying cgi scripts from this directory! Here comes the configuration file for this directory: Alias /GridHyperNews "/var/www/cgi-bin/GridHyperNews" <Directory /var/www/cgi-bin/GridHyperNews> AllowOverride None #I want the directory to contain cgi scripts Options +ExecCGI SetHandler cgi-script # users who come to this directory must be authenticated by # myhandler2 PythonAuthenHandler myhandler2 PythonDebug on PythonPath "sys.path + ['/root/mod_python_handlers']" require valid-user </Directory> The myhandler2.py code is very simple from mod_python import apache from mod_python import util import _mp_mod_ssl import os,string def authenhandler(req): req.add_common_vars() req.user="unknown_user" return apache.OK Now, no matter what I do scripts under the directory /var/www/cgi-bin/GridHyperNews are not treated by Apache as cgi but as text files. Tomasz Wlodek | tel 631-344-7448 Brookhaven Laboratory, Building 510M | fax 631-344-7616 Upton NY 11973-5000 |
|