problem adding custom module in cgi script

bobicanprogram icanbob at gmail.com
Sun Dec 14 13:28:01 CET 2008


On Dec 11, 8:03 pm, bobicanprogram <ican... at gmail.com> wrote:
> Problem:
>
> Apache server serving an HTML file to a Firefox Browser containing a
> form and
> a CGI python CGI script. HTML works fine, meat of the CGI script works
> fine
> except that when a home grown and ordinarily functional module that is
> to be
> imported is added, the interpreter cannot find it.
>
> Running cgi.test() reveals that PYTHONPATH is correctly set. Still
> nada.
> Adding the sys.* stuff still nada.
>
> Items: Firefox Browser, Apache server, Python 2.5.
>
> =======================================
>
> The CGI script:
> #! /usr/bin/python
>
> import cgi
> #cgi.test()
> import sys
>
> #sys.path.append("/myModulePath")
> #sys.path.insert(0, "/myModulePath")
> import myModule **************** Problem here ********************
>
> ===========================================
> httpd error_log excerpt:
> [Wed Dec 10 13:39:46 2008] [error] [client 192.168.1.1] Traceback
> (most recent
> call last):, referer:http://192.168.1.1/nee.html
> [Wed Dec 10 13:39:46 2008] [error] [client 192.168.1.1]
> File "/var/www/cgi-bin/noo.py", line 11, in <module>, referer:http://192.168.1.1/nee.html
> [Wed Dec 10 13:39:46 2008] [error] [client 192.168.1.1]     import
> myModule,
> referer:http://192.168.1.1/nee.html
> [Wed Dec 10 13:39:46 2008] [error] [client 192.168.1.1] ImportError:
> No module
> named myModule, referer:http://192.168.1.1/nee.html
>
> =============================================
> Relevant lines from http.conf:
> ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
> SetEnv PYTHONPATH /myModulePath
> PassEnv PYTHONPATH
>
> Thanks in advance for any pointers.
>
> bob


Solution found!

The apache web server is running on a Linux box equipped with SELinux
which
was preventing apache from opening the required modules according to
the
SELinux troubleshoot browser which is available from the main menu
under the
administration moniker. Apache's error_log describes the problem as
one of
not being able to locate the said modules for import. This is
misleading to
say the least. Adjusting SELinux to allow this is the solution to the
problem; this  can be done under 'main menu/administration/ SELinux
Management

bob



More information about the Python-list mailing list