httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thad Humphries <>
Subject [users@httpd] CGI script is not executed
Date Fri, 08 Jun 2012 02:19:08 GMT
Re thread #103692

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

The name should be test.cgi
On May 19, 2012 5:29 PM, "Allen Liu" <> 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
> +1 510 936-0101
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:
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.




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)

View raw message