CGI-Skripte und Server-Side-Includes


CGI-Skripte

Hinweise

Die Skripte laufen ausschließlich mit Ihren Userrechten.
Sollten auf unseren Servern Probleme durch Ihre Skripte entstehen, behalten wir es uns vor die Skripte zu deaktivieren.

Vorgehen

Bestellen Sie per Fax an Tel.: 030 / 88 42 99 70 oder per Mail an info@shuttle.de
das kostenpflichtige Zusatzangebot Z4, "Nutzung von cgi-Skripten". (S.a. Preisliste)

Schreiben Sie Ihr cgi-Programm in einer Skript-Sprache (z.B. Bourne-Shell oder besser Perl).
Nicht zulässig sind C- und andere compilierte Programme.

Nutzer mit WWW-Adresse unter "shuttle.de" legen Ihr Skript in das Verzeichnis

/var/www/customers/XX9999/public_html/cgi-bin

Der Aufruf Ihres Skriptes aus einer HTML-Seite lautet:

<FORM ACTION="/~xx9999/cgi-bin/mein_skript" METHOD="POST">

ACHTUNG: Bitte beachten Sie das Tilde-Zeichen ~ !

(xx9999 steht hier und in allen folgenden Beispielen für Ihre persönliche WiNShuttle-Benutzerkennung.)

Einige Skripte verlangen, dass in der Konfiguration das CGI-Skript als komplette URL mit Rechneradresse angegeben wird. In so einem Fall geben Sie bitte an:

"http://www.<KFZ>.shuttle.de/~xx9999/cgi-bin/mein_skript"

Nutzer mit WWW-Adresse unter eigener Domain (z.B. www.DOMAIN.de) legen das Skript in das Verzeichnis

/var/www/pub/xx9999/DOMAIN.de/cgi-bin

Der Aufruf Ihres Skriptes aus einer HTML-Seite lautet:
<FORM ACTION="/cgi-bin/mein_skript" METHOD="POST">

Einige Skripte verlangen, dass in der Konfiguration das CGI-Skript als komplette URL mit Rechneradresse angegeben wird. In so einem Fall geben Sie bitte an:

"http://www.DOMAIN.de/cgi-bin/mein_skript"


Server-Side-Includes (SSI)

Wollen Sie Server-Side-Includes benutzen, erfolgt der Aufruf für Nutzer mit einer WWW-Adresse unter "shuttle.de" aus einer HTML-Seite durch

<!--#exec cgi="/~xx9999/cgi-bin/mein_skript" -->
sowie für Nutzer mit WWW-Adresse unter eigener Domain durch

<!--#exec cgi="/cgi-bin/mein_skript" -->

Bitte denken Sie daran, daß die Server-Side-Includes aufrufende HTML-Seite die Endung ".shtml" haben muß.


Fehlersuche

mögliches Problem

Lösung

Liegt das Skript an der richtigen Stelle? (s.o.)
Ist der Aufruf in der HTML-Datei korrekt? (s.o.)
Ist das Skript ausführbar? chmod 755 mein_skript
Ist das Skript für den Web-Server (user www-data) lesbar? bei eigener Domain: chmod 755 $HOME/www/DOMAIN.de/cgi-bin
bei shuttle.de-Adresse: chmod 755 $HOME $HOME/cgi-bin
Ist das Skript fehlerhaft? Bitte testen mit perl -c mein_skript
perl -c bring die Meldung "Perhaps you didn't strip Ctrl-m-characters after network transfer" Der Befehl unm mein_skript entfernt die DOS-Zeilenumbrüche
Ihr Skript-Verzeichnis cgi-bin ist world-writable aus Sicherheitsgründen müssen Sie chmod 755 cgi-bin ausführen
Beim Mail generieren wird sendmail nicht gefunden sendmail liegt nicht im Pfad, aber ganz standardmäßig unter /usr/lib/sendmail.


Vorgefertigte Skripte

Wichtiger Hinweis: Die Skripte aus Matts Skriptarchiv sollten aufgrund schwerwiegender Sicherheitsmängel, insbesondere bei FormMail, nicht mehr verwendet werden.

Geeignete Skripte finden Sie auf der Homepage des Projekts nms. Hier gibt es noch eine Kurzanleitung auf deutsch zu Formmail bzw. dem Nachfolger TFmail.pl.