ein Kapitel zurück                                           ein Kapitel weiter

Eines gleich zu Beginn vorweg. Dies stellt das wichtigste Kapitel für den Anfänger da, sollte er mit den weiteren Kapitel keinen Probleme bekommen wollen.

In vielen Tutorials zu CGI scheint der Begriff Webserver eine Selbstverständlichkeit für Jedermann zu sein. Meist wird dabei nur auf die Downloadadresse und die Dokumentation dazu verwiesen. Hier wollen wir ein bißchen mehr Licht reinbringen.

Was ist ein Webserver überhaupt?
Ein Webserver ist nichts anderes als ein Programm/Anwendung (meist in C geschrieben) ohne Visueller Oberfläche auf dem Server. Dies Programm können sie nicht sehen. Das Programm nimmt über Ports (meistens Port 80) einen Auftrage entgegen und führt diesen aus. Meist das Anzeigen einer HTML-Seite. Ein Webserver wir häufig auch als HTTP-Dämon bezeichnet und man findet ihn meist unter dem Namen httpd.

Und wenn ich schon dabei bin. Folgende Protokolle werden über folgende Ports übertragen.......

Protokoll Port
FTP (Datenverbindung) 20
FTP (Steuerverbindung) 21
Telnet 23
SMTP 25
DNS 53
HTTP 80
HTTPS (SSL-verschlüsselt) 443
POP3 110
NNTP 119
LDAP (Standard) 389
LDAP (SSL-verschlüsselt) 636
news (Artikelformat)  
mime (Spezifikationen)  


Wollen sie Beispielsweise ein Verbindung mit einem Webserver aufnehmen der für den Port 85 konfiguriert wurde, können sie dies mit der URL....

http://www.pronix.de:85  

....machen. Identisch dagegeben sind die nächsten beiden URL's.....

http://www.pronix.de
http://www.pronix.de:80  

Beide Eingaben nehem mit dem Webserver über Port 80 Kontakt auf.

Einen Webserver können sie sowohl auf Ihrer eigenen Festplatte installieren und somit Ihre CGI-Skripts darauf testen. Oder sie verwenden den Webserver eines Internet Service Provider (ISP). Dabei zahlen sie meistens auch Miete für den Webspace.

Im Normalfall werden sie Ihre CGI-Skripte Lokal auf dem von Ihnen installierten Webserver testen und anschließend auf Ihrem Server, auf dem sich Ihre Webseite befindet hochladen. Größere Webseiten und Firmen dürften wohl meist einen eigenen Server mit Verbindung ans Internet laufen haben. Dieser Kurs richtet sich aber mehr an Otto-Normalverbraucher.

Wo bekomme ich einen Webserver her?
Es gibt mehrere Webserver zum herunterladen im Internet. Einige sind kostenlos und andere Kommerziel. Der bekannteste dürfte wohl der Apache Webserver sein. Diesen werden wir in diesem CGI-Kurs auch verwenden. Der Apache Webserver ist kostenlos und auf vielen Plattformen erhältlich.

Linux-User dürften den Apache Webserver auf Ihrer Distribution finden, oder aber wie Windows-User unter http://www.apache.org herunterladen. Anschließend installieren sie den Webserver (Readme lesen).

Nun benötigen Sie einen Perl-Interpreter. Bei Linux/Unix ist dieser Standardmäßig auf Ihrem System installiert (normalerweise). Ansonsten finden sie den Interpreter unter http://www.perl.com oder für Windows-User unter http://www.activestate.com
Nun können sie den Perl Interpreter installieren (Auch hier lohnt sich ein Blick auf die Readme-Datei).

Nun können sie den Webserver starten und Ihn in einem Browser Ihrer Wahl testen. Geben sie als URL ein..........

http://localhost/  

...oder...

http://127.0.0.1/  

...und es müsste der Begrüßungsbildschirm von Apache erscheinen mit der Antwort das der Server läuft auf Ihrem System. Hier das ganze nochmals im Schnelldurchlauf.......

  1. Webserver Apache herunterladen und installieren (www.apache.org)
  2. Perl-Interpreter herunterladen und installieren (www.perl.com (Linux) www.activestate.com (Win))
  3. Starten und Testen des Webservers im Browser mit der URL http://localhost oder http://127.0.0.1

Als letzten Schritt wollen wir eine Test-CGI-Skript ausführen, ohne groß darauf einzugehen. Als erstes begeben wir uns auf die Suche nach dem cgi-bin Verzeichnis des Webservers. Dieser ist leider von System und sogar Distrubionen abhängig. Bei SUSE 7.1 Linux wäre das Beispielsweise........

/usr/local/httpd/cgi-bin  

Weiter möglichen Verzeichnisse könnten sein......

/home/httpd/cgi-bin
/usr/local/apache/cgi-bin
/var/www/cgi-bin  

Unter Windows dürfte sie das Verzeichnis gleich unter....

C:\Apache\cgi-bin  

...finden. Nun wollen wir ein CGI-Skript schreiben, mit dem wir unseren Perl-Interpreter testen...



#!/usr/bin/perl

use CGI;
$query = new CGI;
print $query->header;

print "<html><head><title>TEST-CGI-SKRIPT</title></head>\n";
print "<body>Wenn sie diesen Text sehen, können sie richtig loslegen.</body></html>";  

Speichern sie diese Skript nun im cgi-bin Verzeichnis Ihres Servers ab unter den Namen test.cgi oder test.pl
Die erste Zeile diese Skriptes ist emens wichtig unter dem Apache Webserver. In diesem befindet sich der Pfad des Interpreter der dieses Skript interpretieren soll. Dieser kann unter Linux auch /usr/local/bin/perl lauten. Unter Linux können sie den Pfad mittels 'which perl' ermitteln. Dieser Pfad ist übrigens auch für Windows wichtig! Also passen sie diese Zeile so an, wo sich Ihr Perl-Interpreter befindet (Beispielsweise #!C:\Perl\bin\perl.exe unter Win).

Nun können wir unser Skript mit folgender URL in einem Browser Ihrer Wahl anfordern....

http://localhost/cgi-bin/test.cgi  

Nun sollten sie den Text sehen........

Wenn sie diesen Text sehen, können sie richtig loslegen.  

Troubleshooting
Es geht nicht, woran könnte es liegen.........

  • Haben sie die Zugriffrechte auf Ihr Skript richtig gesetzt? Wenn sie keine Rechte auf die Datei haben sollten sie dies nachholen mittels.......

     chmod 0755 /pfad_zum_skript/test.cgi  

  • Haben sie das Skript richtig abgetippt. Befinden sich vielleicht einige Fehler darin?
  • Führen sie das Skript in der Kommandozeile aus und achten auf eventuelle Fehlerausgaben.
  • Stimmt der Pfad in der ersten Zeile zum Perl-Interpreter?
  • Ist das Modul CGI.pm in dem Bibliotheksverzeichnis des Perl-Interpreters?
  • Haben sie die richtige URL im Browser eingegeben?
  • Testen sie nochmals ob der Webserver richtig läuft (http://localhost/)

Es ist wichtig das sie diese erste CGI-Skript zur Ausführung bringen, da sie sonst den weiteren Verlauf des Kurses nicht in der Praxis anwenden können!

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf