bekomme cgi nicht zum laufen
bekomme cgi nicht zum laufen
ich habe mir einen server von 1und1 geholt. nach umzug meiner domains muß ich leider feststellen, daß folgendes skript nicht mehr läuft.
#!/usr/bin/perl
#
# mailsend.pl
# version 961110
# copyright 1996 by bo larsson
# all rights reserved
#
# bugs or feedback to bliss@seagull.net
# for information on how to use, visit http://www.seagull.net/bliss/
$mailer = "/usr/sbin/sendmail -t";
$valist = "";
# Get the input and strip off all unwanted characters
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
$temp = $buffer;
$temp =~ s/+/ /g;
$temp =~ s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;
# Store the matching name and value pairs
foreach (split(/&/,$temp))
{
($NAM, $VAL) = split(/=/, $_);
$DATA{$NAM} = $VAL;
$valist .= "$NAM:$VALn";
}
# Grab necessary variables
$sendto = $DATA{'sendto'};
$response = $DATA{'response'};
$anfragegrund = $DATA{'anfragegrund'};
$Vorname = $DATA{'Vorname'};
$Nachname = $DATA{'Nachname'};
$Strasse = $DATA{'Strasse'};
$PLZ = $DATA{'PLZ'};
$Fahrzeughersteller = $DATA{'Fahrzeughersteller'};
$Fahrzeugtyp = $DATA{'fahrzeugtyp'};
$Modell = $DATA{'modell'};
$Motor = $DATA{'motor'};
$Hubraum = $DATA{'Hubraum'};
$Serienleistung = $DATA{'Serienleistung'};
$Erstzulassung = $DATA{'Erstzulassung'};
$Telefon = $DATA{'Telefon'};
$Fax = $DATA{'Fax'};
$email = $DATA{'email'};
$Offene_Fragen = $DATA{'Offene_Fragen'};
# Send mail to $recipient
open (MAIL, "|$mailer") || die "Can't open $mailprog!n";
print MAIL "Subject: $anfragegrundn";
print MAIL "From: $email ($Nachname)n";
print MAIL "To: $sendton";
print MAIL "n";
print MAIL "$valist";
print MAIL "n";
print MAIL "Remote IP address: $ENV{'REMOTE_ADDR'}n";
close (MAIL);
# Print the response
print "Content-type:text/htmlnn";
print "<HTML><BODY><TITLE>Thank you</TITLE>";
print "<FONT SIZE=+2>$response</FONT>";
print "</BODY></HTML>";
Der Webserver gibt folgende Fehlermeldung aus:
Fehlermeldung:
Premature end of script headers: mailsend.pl
Da ich in der Linux-Welt neuling bin, wäre ich euch dankbar wenn ihr mir helfen könntet
#!/usr/bin/perl
#
# mailsend.pl
# version 961110
# copyright 1996 by bo larsson
# all rights reserved
#
# bugs or feedback to bliss@seagull.net
# for information on how to use, visit http://www.seagull.net/bliss/
$mailer = "/usr/sbin/sendmail -t";
$valist = "";
# Get the input and strip off all unwanted characters
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
$temp = $buffer;
$temp =~ s/+/ /g;
$temp =~ s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;
# Store the matching name and value pairs
foreach (split(/&/,$temp))
{
($NAM, $VAL) = split(/=/, $_);
$DATA{$NAM} = $VAL;
$valist .= "$NAM:$VALn";
}
# Grab necessary variables
$sendto = $DATA{'sendto'};
$response = $DATA{'response'};
$anfragegrund = $DATA{'anfragegrund'};
$Vorname = $DATA{'Vorname'};
$Nachname = $DATA{'Nachname'};
$Strasse = $DATA{'Strasse'};
$PLZ = $DATA{'PLZ'};
$Fahrzeughersteller = $DATA{'Fahrzeughersteller'};
$Fahrzeugtyp = $DATA{'fahrzeugtyp'};
$Modell = $DATA{'modell'};
$Motor = $DATA{'motor'};
$Hubraum = $DATA{'Hubraum'};
$Serienleistung = $DATA{'Serienleistung'};
$Erstzulassung = $DATA{'Erstzulassung'};
$Telefon = $DATA{'Telefon'};
$Fax = $DATA{'Fax'};
$email = $DATA{'email'};
$Offene_Fragen = $DATA{'Offene_Fragen'};
# Send mail to $recipient
open (MAIL, "|$mailer") || die "Can't open $mailprog!n";
print MAIL "Subject: $anfragegrundn";
print MAIL "From: $email ($Nachname)n";
print MAIL "To: $sendton";
print MAIL "n";
print MAIL "$valist";
print MAIL "n";
print MAIL "Remote IP address: $ENV{'REMOTE_ADDR'}n";
close (MAIL);
# Print the response
print "Content-type:text/htmlnn";
print "<HTML><BODY><TITLE>Thank you</TITLE>";
print "<FONT SIZE=+2>$response</FONT>";
print "</BODY></HTML>";
Der Webserver gibt folgende Fehlermeldung aus:
Fehlermeldung:
Premature end of script headers: mailsend.pl
Da ich in der Linux-Welt neuling bin, wäre ich euch dankbar wenn ihr mir helfen könntet
Re: bekomme cgi nicht zum laufen
Wie immer: Logs und Config. Oder ne gute Glaskugel.
Re: bekomme cgi nicht zum laufen
... oder gleich die ganzen Beiträge zu suexec -V lesen. :roll:
Re: bekomme cgi nicht zum laufen
Hallo,
Script nochmal frisch aufrufen (damit in den Logfiles frische Einträge ganz unten entstehen) und eben diese Logeinträge in's Forum posten.
Außerdem suexec -V bzw. suexec2 -V aufrufen und die Ergebnisse ansehen. Passen sie nicht zu Deinem System, lies die entsprechenden Beiträge wie man das behebt.
Gruß, Wolfgang
Script nochmal frisch aufrufen (damit in den Logfiles frische Einträge ganz unten entstehen) und eben diese Logeinträge in's Forum posten.
Außerdem suexec -V bzw. suexec2 -V aufrufen und die Ergebnisse ansehen. Passen sie nicht zu Deinem System, lies die entsprechenden Beiträge wie man das behebt.
Gruß, Wolfgang
Re: bekomme cgi nicht zum laufen
Ok, hab ich gemacht und wie sehe ich nun ob das zu meinem System passt?
-D AP_DOC_ROOT="/home/htdocs"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"
-D AP_DOC_ROOT="/home/htdocs"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"
Re: bekomme cgi nicht zum laufen
Bitte das Ende von /var/log/apache2/suexec.log nach dem Scriptaufruf posten.
Re: bekomme cgi nicht zum laufen
Indem du einfach schaust ob die Werte zu deinem System passen. Wenn du das nicht kannst, dann schick SOFORT das Kündigungsfax weg und hol dir einen Managed-Server oder am besten nur Webspace.
Re: bekomme cgi nicht zum laufen
[2004-07-25 16:05:13]: uid: (640/web3) gid: (102/102) cmd: mailsend.pl
[2004-07-25 16:05:13]: file is writable by others: (/home/htdocs/web3/html/cgi-bin/mailsend.pl)
[2004-07-25 16:05:13]: file is writable by others: (/home/htdocs/web3/html/cgi-bin/mailsend.pl)
Re: bekomme cgi nicht zum laufen
@duergner:
Ich vermute du konntest alles schon von Geburt an oder?
Ich vermute du konntest alles schon von Geburt an oder?
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: bekomme cgi nicht zum laufen
Was um alles in der Welt ist an file is writable by others denn bitteschön soooo unverständlich? Das bekommt sogar die mieseste Ã?bersetungssoftware noch hin.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: bekomme cgi nicht zum laufen
Nein aber ich lernen nicht an einem System das mit 100MBit an das Internet angebunden ist.hax wrote:Ich vermute du konntest alles schon von Geburt an oder?
Und in Bezug auf dein Problem hat dir ja CC eigentlich schon den entsprechenden Hinweis gegeben. Wenn du den nicht verstehst, naja dann gute Nacht.
Re: bekomme cgi nicht zum laufen
Bei Scripten und Verzeichnissen maximal die Rechte "755" setzen. Du hast sehr wahrscheinlich "777" gesetzt, was für suexec zu unsicher ist. Falls du die Zahlen nicht verstehst solltest du dich mal mit Unix Dateirechten beschäftigen (google, man chmod).hax wrote:[2004-07-25 16:05:13]: uid: (640/web3) gid: (102/102) cmd: mailsend.pl
[2004-07-25 16:05:13]: file is writable by others: (/home/htdocs/web3/html/cgi-bin/mailsend.pl)
Re: bekomme cgi nicht zum laufen
Hallo,
freut mich daß es funktioniert - und jetzt ist es höchste Zeit, das Script wieder zu löschen.
Sonst wirst Du irgendwann in den nächsten Wochen erfahren, daß es noch viel besser funzt als Du denkst.
Falls die Zieladresse immer die gleiche ist, codiere sie fest in's Script, sonst nix wie runter damit.
Gruß, Wolfgang
freut mich daß es funktioniert - und jetzt ist es höchste Zeit, das Script wieder zu löschen.
Code: Select all
foreach (split(/&/,$temp))
{
($NAM, $VAL) = split(/=/, $_);
$DATA{$NAM} = $VAL;
$valist .= "$NAM:$VALn";
}
...
$sendto = $DATA{'sendto'};
...
print MAIL "To: $sendton";
Falls die Zieladresse immer die gleiche ist, codiere sie fest in's Script, sonst nix wie runter damit.
Gruß, Wolfgang