Die Erstellung und Einbindung von CGI-Scripten ist keine triviale Aufgabe. Um Ihnen die Sache etwas zu erleichtern, haben wir im Folgenden einige Hinweise für Sie zusammengestellt:
In cgi-bin unterhalb Ihres Homeverzeichnisses legen Sie Ihre CGI-Scripte ab. Als kleines Beispiel haben wir Ihnen dort schon ein Script abgelegt, das Ihnen nur die richtigen Dateiberechtigungen demonstrieren soll: date.cgi. Testen Sie es ruhig aus, indem Sie im Browser
www.ihredomain.de/cgi-bin/date.cgi
eingeben. Sie sollten das aktuelle Datum (des Webservers) sehen, dann ist alles mit Ihrem CGI-Zugriff richtig eingerichtet. Verwenden Sie bitte einmal die entsprechende Funktion Ihres FTP-Clients, um sich die Berechtigungen dieser Datei anzuzeigen (bei WS_FTP ist das der Button "DirInfo"). Sie werden sehen, daß das Script date.cgi für den User und die Gruppe Ihres Benutzerlogins lesbar und ausführbar ist, aber nur für den User beschreibbar.
Sie können eigene Scripte per FTP (bitte im Textmodus!) in das CGI-Verzeichnis einstellen, vergessen Sie bitte aber nicht, die Rechte für die Scripte danach genauso zu setzen wie das bei unserem Beispiel der Fall ist (sie können anderen Usern aber den Zugriff verwehren, indem Sie das "read" und "execute" für andere wegnehmen (z.B. rwxr-x---). Das tun Sie bei WS_FTP 4.5, indem Sie auf der entsprechenden Datei die rechte Maustaste drücken und dann im Kontextmenü chmod (UNIX) auswählen. Der folgende Screenshot zeigt Ihnen, wie Sie die Rechte dann setzen müssen:

Wenn Sie eine andere Datei irgendwo in Ihrem Script aufrufen oder einbinden wollen und Sie können keinen URL-Pfad verwenden, sondern müssen einen Pfad im Dateisystem angeben, so lokalisieren Sie bitte das Root-Verzeichnis Ihres Webservers (/public_html) über die Umgebungsvariable DOCUMENT_ROOT, also z.B. mit $ENV{DOCUMENT_ROOT} in PERL.
Ändern Sie also beispielsweise folgenden Pfad:
Alt: /home/users/ihrname/public_html/seite.html
Neu: $ENV{DOCUMENT_ROOT}/fact.html
Verfügbare Scriptsprachen, wichtige Pfade
Sie können für Ihre CGI-Scripte mehrere Programmier- oder Scriptsprachen verwenden, deren Interpreter Sie unter den folgenden Pfaden finden:
... und weitere, fragen Sie uns einfach, wenn Ihre bevorzugte Sprache nicht in der Liste steht. Bedenken Sie bitte, daß der Server auf einem UNIX-System läuft.
Wenn Sie in C oder C++ gescriebene CGI-Scripte verwenden möchten, müssen Sie diese zuerst unter Linux (ELF, glibc2) kompilieren. Das können Sie mangels Shell-Zugriff nicht auf dem Server selbst tun, bei Bedarf sind wir Ihnen gerne behilflich. Versuchen Sie, wenn möglich schon eine kompilierte Version des Programmes zu bekommen.
Wenn Sie externe Programme aufrufen müssen, finden Sie sie an folgenden Stellen:
Fehlerursachen und -meldungen
Erfahrungsgemäß sind bei CGI-Scripten aus CGI-Bibliotheken und vor allem bei selbstgebauten Scripten immer noch ein paar Fehlerchen (falsche Pfade, Syntaxfehler) etc. auszumerzen, bis das Script läuft. Der WWW-Server zeigt dann beim Versuch, das Script auszuführen, in der Regel nur lapidar "Internal Server Error" oder etwas ähnliches an.
Damit Sie besser auf Fehlersuche gehen können, können Sie sich mit dem CGI-Script
www.ihredomain.de/cgi-bin/admin/logview
... die letzten 30 Zeilen des Fehlerprotokolls des Webservers ansehen (das Script ist mit Username und Paßwort geschützt, da das Protokoll außer Sie niemanden etwas angeht!). Möglicherweise finden Sie hier die Ursache für den Fehler.
Wenn nicht:
#!/bin/sh
echo Content-Type: text/html
echo
(...)
Im gegebenen Rahmen können wir Ihnen hier keine Anleitung für CGI-Programmierung bieten. Weiter unten auf dieser Seite finden Sie nützliche Links, wenn Sie weitere Informationen brauchen.
Zum Thema Sicherheit
Wir können Sie nicht daran hindern, absichtlich oder unabsichtlich mit unsicheren oder fehlerhaften CGI-Scripten im Extremfall die Sicherheit und auch die Stabilität des WWW-Servers zu gefährden. Ihre Scripte laufen zwar mit begrenzten Rechten, aber dennoch können sie z.B. Mails verschicken, tausende von Dateien anlegen und externe Programme starten.
Wir behalten uns daher das Recht vor, Ihre CGI-Scripte auf Sicherheitslücken oder sicherheitskritische Fehler hin zu prüfen und sie gegebenenfalls auch zu deaktivieren, sollten wir ein Problem entdecken. Wir würden Sie jedoch sofort kontaktieren, Ihnen mitteilen, warum wir etwas unternommen haben und Hilfestellung zur Lösung des Problems geben.
In diesem Zusammenhang bitten wir Sie inständig, niemals das Paßwort für Ihren FTP-Zugang an Dritte weiterzugeben. Wenn Sie nicht sicher sind, ob Ihr Paßwort noch geheim ist, benachrichtigen Sie uns bitte sofort, dann vereinbaren wir ein neues. In den Händen von Spezialisten ist ein FTP-Zugang und ein WWW-Server mit CGI-Rechten völlig ausreichend für eine massive Attacke gegen Sie, uns oder andere Server im Internet.
Weitere Informationen
Weitere Informationen rund um die CGI-Grogrammierung finden Sie unter anderem bei folgenden Adressen:
SELFHTML - CGI/Perl
Die bekannte HTML-Anleitung von Stefan Münz widmet ein ganzes Kapitel der CGI-Programmierung in PERL und hat viele weitere nützliche Hinweise und Links zu CGI-Bibliotheken parat.
REALM of CGI
Dieses deutschsprachige Angebot umfaßt Anleitungen, Scripte (hauptsächlich PERL) und andere nützliche Hinweise rund um HTML und Internetdesign.
Matt´s Script Archive
Die PERL-Scripte von Matt Wright sind mit Sicherheit die beliebtesten im ganzen Netz (englisch).
Apache
Nützliche Hinweise für CGI-Programmierer finden Sie auch im Dokumentations-Bereich dies Apache Webservers, der auch bei minuskel im Einsatz ist.
minuskel screen partner GmbH, Bouchéstr. 12, 12435 Berlin, Telefon: +49 (30) 809 49-0