• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]cgi-perl Premature end of script header nur im vhost

wenf

Hacker
so nun hab ich was zum grübeln

ich habe einen TEST-Server
Debian Woody RC2 2.4.18kernel
da läuft ein Apache 1.3.26


nun zum eigentlichen problem
da auf diesem Webserver später einmal (eigentlich bald) Perl - CGI scripte laufen sollen, habe ich das eingebunden

Nun zum Testen habe ich mal ein kleines scrip erstellt
Code:
#!/usr/bin/perl -w
use CGI qw/ :standard :html3/;
########### var defs ############

print "Content-type: text/html\n\n";
#print "<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>";
print "<html><head><title>Umgebungsvariablen</title></head><body>\n";
print "<h1>Umgebungsvariablen:</h1>";
print "<table border=1>";
print "<tr><th align=left bgcolor=#E0E0E0>Variablenname</th>";
print "<th align=left bgcolor=#E0E0E0>Wert</th></tr>";
foreach(keys(%ENV)) {
  print "<tr><td><b>$_</b></td><td><tt>$ENV{$_}</tt></td></tr>\n";
}
print "<tr><th align=left bgcolor=#E0E0E0 colspan=2>insgesamt: ",
      scalar keys(%ENV)," Umgebungsvariablen</th></tr>\n";
print "</table>\n";
print "</body></html>\n";

dieses script funktioniert wunderbar
siehe <EDIT URL entfernt weil server Ip-Adresse ändert>

das gleiche script habe ich unter einem Virtuellen host abgespeichert
dort funktioniert das script leider nicht mehr
siehe
<EDIT URL entfernt weil server Ip-Adresse ändert>
(der Umweg über https - weil der FQDN des Virtuellen hostes von eurer seite nicht aufgelöst werden kann / im lakalen WAN aber schon / über eigenen dns - server)
https - Proxy siehe anleitung: http://server.1und1.com/root_server/howto/6.html

das script erzeugt einen ERROR 500 (nur im virtuellen host)
und in der ERROR.log steht
Premature end of script header

Berechtigungen des scriptes stimmen +r+x auch unix-zeilenumbrüche sind da (dos2unix env.cgi)

die config von meinem virtuellen host
Code:
<VirtualHost www1.XXXXXXXX.at:80>
DocumentRoot "/home/lebi/www"
ServerName www.XXXXX.at
ServerAlias www1.XXXXX.at
ServerAdmin serveradmin@XXXXXX.at
ErrorLog /www-admin/lebi/logs/error.log
LogLevel debug
CustomLog /www-admin/lebi/logs/access.log "combined"
User lebi
Group lebi
ErrorDocument 401 /error-pages/401.php
ErrorDocument 403 /error-pages/403.php
ErrorDocument 404 /error-pages/404.php
ErrorDocument 500 /error-pages/500.php
ScriptAlias /cgi-bin/ "/home/lebi/www/cgi-bin/"
SuppressHTMLPreamble SuppressLastModified SuppressSize
Alias /Admin/ /www-admin/lebi/
</VirtualHost>

danke im vorraus
 
OP
wenf

wenf

Hacker
haha - fehler noch nicht behoben aber schon eingegrenzt

hat was mit suexec und docroot zu tun

haha mal googeln
 
OP
wenf

wenf

Hacker
danke fürs mitdenken habe problem gelöst

habe virtuelle domains nach SuExec-Verzeichnis verschoben
und dann hat suexec genau gesagt, was ihn noch gestört hat

(directory is writeable by others) usw...


manchmal sieht man den Text vor lauter Dokumentation nicht
icon_str.gif
whip.gif
 
Oben