On Aug 23, 2007, at 9:56 AM, Joshua Slive wrote:
On 8/23/07, Israel Brewster <[EMAIL PROTECTED]> wrote:
First off, I apologize for asking a question that I know you get a
lot, but I have just spent the last hour and a half beating my head
against the wall and searching the internet trying to find a solution
with no luck.

Short version: I have an existing OpenBSD 4.0 box on which Apache
(version 1.3.29) is working properly, including execution of CGI
scripts. I am trying to move to a new machine with OpenBSD 4.1, so I
started with a fresh OpenBSD 4.1 install, which comes with the same
version of Apache as 4.0, and copied the httpd.conf file over from my
old machine. After starting the web server, however, I found that it
could not run any CGI scripts- always just giving me the following
error:

[Thu Aug 23 08:45:40 2007] [error] [client 127.0.0.1] Premature end
of script headers: /cgi-bin/test-cgi

[...snip...]
But anyway, this problem is fairly standard and is addressed here:
http://httpd.apache.org/docs/1.3/howto/cgi.html#butitsstillnotworking

As I mentioned in the first line, I was aware of that fact, and had been searching the internet for a solution and trying different things for the last hour and a half before asking for help :-)


The error means that apache is perfectly happy to launch your CGI
script, but the CGI is failing in some way.

The first thing to try is running the CGI from the command line:
cd /path/to/cgi-bin
./test-cgi

Joshua.


[...snip...]
The test-cgi, as well as
the printenv both run fine from a terminal window.

Yep, as I also mentioned, tried that. Worked fine. I did manage to fix the problem though-turns out that the problem was with Apache being chrooted. The first line of the test script was looking for / bin/sh, which, when chrooted, Apache could not find. I thought I had checked this against my functioning box, but apparently I was looking at the wrong box or something. At any rate, un-chrooting Apache fixed the issue. Thanks for the help attempt!

-----------------------------------------------
Israel Brewster
Computer Support Technician
Frontier Flying Service Inc.
5245 Airport Industrial Rd
Fairbanks, AK 99709
(907) 450-7250 x293
-----------------------------------------------

I tried reverting
to the factory default httpd.conf, with no luck. The permissions on
the contents of the cgi-bin folder are as follows:

ls -l /var/www/cgi-bin/
total 212
----------  1 root  bin     99072 Mar 10 16:41 bgplg
drwxr-xr-x  2 root  daemon    512 Aug 23 07:59 nagios
-rwxrwxrwx  1 root  bin       268 Mar 10 16:32 printenv
-rwxrwxrwx  1 root  bin       757 Mar 10 16:32 test-cgi

the cgi-bin folder itself has 755 permissions. The relevant section
from the httpd.conf file is as follows:

     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

     #
     # "@@ServerRoot@@/cgi-bin" should be changed to whatever your
ScriptAliased
     # CGI directory exists, if you have that configured.
     #
     <Directory "/var/www/cgi-bin">
         AllowOverride None
         Options none
         Order allow,deny
         Allow from all
     </Directory>

I have tried adding an "AddHandler cgi-script .cgi" directive to that
block, as one webpage I found suggested, as well as changing the
"Option none" to "Options ExecCGI". I did, of course, restart the
server between each configuration change. I have also tried with
various different CGI scripts, most of which come from a fresh
install. Nothing seems to make any difference- I still get the
"premature end of script headers" error. If this was linux, i'd say
check the SELinux settings, but it isn't. What am I missing here?

-----------------------------------------------
Israel Brewster
Computer Support Technician
Frontier Flying Service Inc.
5245 Airport Industrial Rd
Fairbanks, AK 99709
(907) 450-7250 x293
-----------------------------------------------



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to