Thibaut wrote:
On Jan 15, 2007, at 10:43 PM, Phil Meyer wrote:
Thibaut wrote:
Hi,
I try to run a perl script in my webserver. Therefore I put a script
in the /var/www/cgi-bin/ directory. I have put the 777 permission on
it. Here is the script :
#!/usr/bin/perl -w
print "Content-type: text/html\n\n";
print "<html><head><title>Hello World!! </title></head>\n";
print "<body><h1>Hello world</h1></body></html>\n";
The 'better way, from the CGI man page:
#!/usr/bin/perl -w
use CGI;
use strict;
my $q = new CGI;
print $q->header, # create the HTTP header
$q->start_html('hello world'), # start the HTML
$q->h1('hello world'), # level 1 header
$q->end_html; # end the HTML
Thank you for your answer. I change the code to the one you gave me.
When i do "perl hello.pl" it prints the right html without any error.
When i try to run it with apache, here is the error in the browser :
"Internal Server Error"
and in the log : "[Tue Jan 16 09:26:01 2007] [error] [client my ip
adress] Premature end of script headers: hello.pl"
Here is the vhost.conf configuration for this host :
ScriptAlias /cgi-bin/
/home/default/duck-art.com/user/htdocs/cgi-bin/
<Directory "/home/default/duck-art.com/user/htdocs/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
--fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Try quoting the directory in the ScriptAlias definition.
It really does look like the script is not executing.
Possibilities other than ScriptAlias definition:
permissions:
all directories up to and including the cgi-bin directory must be
readable by the web service user -- usually apache
The executable files in cgi-bin should be 755
Other configuration possibilities:
if:
AddHandler cgi-script .cgi
is used, it changes the behavior a bit. perl scripts then should end
with .cgi
if:
LoadModule cgi_module modules/mod_cgi.so
is NOT used, then it will change cgi behavior
There may be others.
Good luck!