|
Wie lautet der lokale Pfad für sendmail und perl ?
Für sendmail benützen Sie folgenden Pfad : /usr/sbin/sendmail -t
Perl befindet sich unter : /usr/bin/perl
Mein CGI-Skript funktionniert ohne Probleme, es werden jedoch keine Mails verschickt.
Aus Sicherheitsgründen werden die CGI-Skripts in einer CHROOT-Umgebung ausgeführt (losgelöst vom System). Die Mails werden über mini_sendmail (Light-Version des sendmail) verschickt, welches im CHROOT funktionniert.
Die Applikation mini_sendmail unterstützt nur die Option -t, d.h. die Optionen -bm -f -oem -oi funktionnieren nicht und erzeugen einen Fehler. Sie müssen Ihre Skripts entsprechend anpassen um den Mail-Versand möglich zu machen.
Warum ergibt die globale Variable $ENV{' REMOTE_HOST '} keinen Resultat?
Wir benutzen einen Loadbalancing System. Die Last der Anfragen wird auf unseren Web-Server balanciert. Deshalb müsst Ihr diese folgende Variable gebrauchen, um die IP Adresse des Servers zu erhalten:
my $remote_host = gethostbyaddr((inet_aton($ENV{'HTTP_X_CLUSTER_CLIENT_IP'}), AF_INET));
Achtung: Vergesst nicht die folgende Linie am Anfang Ihres Scripts zu stellen:
use Socket;
Warum erhalte ich immer die gleichen Daten mit der globalen Variable $ENV{'REMOTE_ADDR '}?
Wir benutzen einen Loadbalancing System. Die Last der Anfragen wird auf unseren Web-Server balanciert. Deshalb müsst Ihr diese folgende Variable gebrauchen, um die IP Adresse des Servers zu erhalten:
my $remote_ip = $ENV{'HTTP_X_CLUSTER_CLIENT_IP'};
Achtung: Vergesst nicht die folgende Linie am Anfang Ihres Scripts zu stellen:
use Socket;
Wie kann ich meine CGI Scripts konfigurieren?
Sie werden hier unten eine Liste von Variabeln und Pfade finden, die Sie in Ihre Scripts benutzen können.
$ENV{'SCRIPT_NAME'};
Zu ersetzen mit : $ENV{'SCRIPT_URI'};
$ENV{'SERVER_NAME'};
Zu ersetzen mit : "";
"http://$domain$script";
Zu ersetzen mit : "$domain$script";
Relativer Pfad für eine Datei ins Hauptverzeichnis zu schreiben durch einen cgi/bin Script:
'/web/IhrVerzeichnis';
Meine cgi/perl Scripts funktionieren nicht mehr.
Ihre cgi/perl Scripts funktionieren nicht mehr oder Sie erhalten eine Fehlermeldung "Can't chdir() to /mnt/sites/meineSeite.com/web/index.htm/../cgi-bin: Not a directory".
Ihr müsst folgendermassen Vorgehen:
1) Sichern Sie Ihre cgi/perl Scripts.
2) Löschen Sie das Verzeichnis cgi-bin per FTP.
3) Deaktivieren Sie die CGI in der Konsole.
4) Reaktivieren Sie die CGI in der Konsole. Das System wird Ihnen automatisch ein cgi-bin Verzeichnis kreieren.
5) Publizieren Sie Ihre Scripts cgi/perl im ASCII-Modus und vergewissern Sie sich, dass die Rechte chmod auf 755 sind.
6) Ihr Problem sollte gelöst sein.
|