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<http://httpd.apache.org/docs/current/mod/mod_cgid.html>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.humphr...@gmail.com>wrote:

> Re thread #103692
>
> On May 19, 2012, at 3:27 AM, Igor Cicimov <icici...@gmail.com> wrote:
>
> The name should be test.cgi
> On May 19, 2012 5:29 PM, "Allen Liu" <allenliu2...@gmail.com> 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
>> allenliu2...@gmail.com
>> +1 510 936-0101
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>> For additional commands, e-mail: users-h...@httpd.apache.org
>>
>>
> 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)

Reply via email to