Re: CGI script is not executed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Solved. mod_cgi.so does not built by default on my system (openSUSE 12.1). When I built Apache 2.2, it was part of the core, not a dynamic module. So when running configure, add --enable-cgi and uncomment "LoadModule dir_module modules/mod_cgi.so" in httpd.conf

Alternately, use mod_cgid.so. Per http://httpd.apache.org/docs/current/mod/mod_cgi.html 

"When using a multi-threaded MPM under unix, the module mod_cgid should be used in place of this module. At the user level, the two modules are essentially identical"

So, uncomment "LoadModule dir_module modules/mod_cgid.so" in httpd.conf. Also uncomment "Scriptsock logs/cgisock" in httpd.conf (in the <IfModule cgid_module> directive).

On Thu, Jun 7, 2012 at 10:19 PM, Thad Humphries <thad.humphries@xxxxxxxxx> wrote:
Re thread #103692 

On May 19, 2012, at 3:27 AM, Igor Cicimov <icicimov@xxxxxxxxx> wrote:

The name should be test.cgi

On May 19, 2012 5:29 PM, "Allen Liu" <allenliu2000@xxxxxxxxx> wrote:
Hi experts,
I just set up my first httpd server 2.4.2. It is a simple setup, I took almost everything as default setting.
After it was started, I tried test-cgi located in cgi-bin directory. The issue was that the script didn't run. The browser only displayed the script contents. Can anyone help ?

I checked httpd.conf which has
       ScriptAlias /cgi-bin/  "/usr/local/apache2/cgi-bin/"

Here is the directory permission:
       drwxr-xr-x  2 root root  4096 May 18 16:55 cgi-bin
scrip in cgi-bin t:
       -rwxr-xr-x 1 root     games    1135 May 18 15:35 test-cgi
I know that httpd runs as user 'demon', but I think the cgi file has 755 permission, it should have no problem.

Any help is appreciated.

Allen Liu
allenliu2000@xxxxxxxxx
+1 510 936-0101





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


If you look in apache config file you will find a line like this:

AddHandler cgi-script .cgi .pl

which tells apache to handle the files with .cgi and .pl as cgi scripts. Without this apache will handle them as default text/html file. So the script alis is useless without proper handle, it just defines the default script directory.

Obviously if you want to have some PHP scripts to be handled as cgi by apache you need to add that new extension to the AddHandler line:

 AddHandler cgi-script .cgi .pl .php

So obviously your file name without extension doesn't match this criteria.

Igor 

...................

Igor,

I'm having the same problem as Allen.

I don't understand. Is this necessary for Apache 2.4.2? A designated extension was/is not a requirement in 1.2, 1.3, 2.0, or 2.2. Do I have to rename all my CGIs?  

And why does apache2/cgi-bin have two files without extensions--printenv and test-cgi? The former is a perl script, the latter a shell script. The instructions in these files say only to add the necessary execution sheebang--#!/usr/bin/perl or #!/usr/bin/sh--and set permissions to 755. That's all that has been required for in my previous 15+ years with Apache. However now all I'm getting is the script text. When I go back to Apache 2.22.2, it all works fine.

--
"Hell hath no limits, nor is circumscrib'd In one self-place; but where we are is hell, And where hell is, there must we ever be" --Christopher Marlowe, Doctor Faustus (v, 121-24)



--
"Hell hath no limits, nor is circumscrib'd In one self-place; but where we are is hell, And where hell is, there must we ever be" --Christopher Marlowe, Doctor Faustus (v, 121-24)

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux