Sehr Umfangreiche Webseite zum Programmieren in C Perl CGI, Skripting, Linux, SystemprogrammierungApache, httpd.conf, access.conf, DocumentRoot, ScriptAlias Den Webserver für CGI-Skripte konfigurieren | httpd.conf, DocumentRoot, ScriptAlias GGI Kurs Kapitel 3 - Teil II

Den Webserver für CGI-Skripte konfigurieren           zurück zum Inhaltsverzeichnis

Ort im Dateisystem

Bevor Sie den Apache-Webserver konfigurieren können, müssen Sie wissen, wo im Dateisystem, Apache genau installiert ist. Dies ist meistens von System zu System unterschiedlich. Unter Linux befindet sich der Webserver normalerweise in folgendem Verzeichnis ...

/usr/local/apache

... wobei andere Distributionen wieder folgende Verzeichnisse verwenden könnten ...

/home/httpd/
/usr/local/apache/
/var/www/

Bei Windows finden Sie Apache meist im Verzeichnis ...

c:\apache

Sollten Sie nicht fündig werden, müssen Sie Ihren Systemadministrator fragen, oder selbst danach suchen.

Dateien für die Konfiguration des Webservers

Bei jedem Start des Webservers, ließt Apache einige Konfigurationsdateien aus, worin Anweisung für diesen enthalten sind. Diese Dateien befinden sich im Pfad von Apache (siehe Ort im Dateisystem) im conf-Verzeichnis. Dabei handelt es sich um folgende 3 Dateien ...

httpd.conf
srm.conf
access.conf

Sollten Sie auf Ihrem System nur die Datei httpd.conf vorfinden, so haben Sie eine neuere Version des Apache-Webservers. Dabei befinden sich gleich alle Informationen in einer Datei.

Apache konfigurieren für CGI-Skripte

In der Regel müssen Sie nichts mehr an der Konfigurationsdatei httpd.conf ändern. Aber für den Fall der Fälle, wenn es doch mal hackt, wissen Sie wenigstens wo es lang geht. Natürlich empfiehlt es sich auch hier, sich ein Buch über den Apache Webserver zuzulegen, falls Sie mehr an den Details der Konfiguration des Apache interessiert sind.

DocumentRoot

Wo Sie die Dokumente im allgemeinen ablegen, gemeint ist damit das Wurzelverzeichnisses des Webservers, geben Sie mit der Direktiven DocumentRoot an ...

#Unter Windows
DocumentRoot "c:/apache/htdocs"
#Unter Linux
DocumentRoot "/usr/local/apache/htdocs"

Wenn Sie also in Ihrem Webbrowser folgendes eingeben ...

http://localhost

... wird im DocumentRoot angegebenen Verzeichnis nach einer index.html-Datei gesucht. Was in unserem Fall ja das Begrüßungs-Dokument des Apache Webservers ist. Haben Sie Beispielsweise ein Datei Namens test.html im folgenden Verzeichnis gespeichert ...

c:/apache/htdocs/webseiten

... oder ...

/usr/local/apache/htdocs/webseiten

... somit können Sie dieses Dokument mit folgendender URL über Ihren Webbrowser mit dem Webserver starten ...

http://localhost/webseiten/test.html

ScriptAlias

Mit ScriptAlias können Sie einen virtuellen Pfad im lokalen Verzeichnis einrichten, in dem Sie CGI-Skripte ausführen können. Diese Direktive in httpd.conf kann folgendermaßen aussehen ...

#Unter Windows
ScriptAlias /cgi-bin/ "c:/apache/cgi-bin/"
#Unter Linux
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

Wenn Sie nun ein CGI-Skript Namens myskript.cgi in diesem Verzeichnis erstellen und speichern, könne Sie es mit dem Webbrowser folgendermaßen aufrufen ...

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

Sie können den virtuellen Pfad aber auch ändern, oder ein eigenes Verzeichnis hinzufügen. Zum Beispiel ...

#Unter Windows
ScriptAlias /cgi-bin/ "c:/apache/cgi-bin/"
ScriptAlias /my-cgi/  "c:/apache/my-cgi/"
#Unter Linux
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
ScriptAlias /my-bin/ "/usr/local/apache/my-cgi/"

Aus Sicherheitsgründen empfiehlt es sich, das Verzeichnis, in dem Sie die CGI-Skripte ablegen, außerhalb des Wurzelverzeichnisses festzulegen. Also außerhalb des htdocs-Verzeichnis.

Ein Test-CGI-Skript

Jetzt wollen natürlich auch ein Test-Skript erstellen, um zu sehen ob bei Ihnen alles richtig läuft. Tippen Sie folgendes Skript in Ihrem Texteditor ein ...

#!/usr/bin/perl -w

print "Content-Type: text/html\n\n";

print "<html><head><title>TEST-CGI-SKRIPT</title></head>\n";
print "<body><h1>Gratulation!!! Ihr erstes CGI-Skript.</h1></body></html>";

Speichern Sie diese Skript im cgi-bin-Verzeichnis Ihres Servers ab, unter den Namen test.cgi oder test.pl. Die erste Zeile des Skriptes ist wichtig. In dieser befindet sich der Pfad des Perl-Interpreters, der dieses Skript interpretieren soll. Dieser kann unter Linux auch /usr/local/bin/perl lauten. Der Pfad ist übrigens auch für MS-Windows wichtig. Also passen Sie diese Zeile entsprechend an, wo sich eben Ihr Perl-Interpreter befindet (Beispielsweise #!C:\Perl\bin\perl.exe -w unter MS-Windows).

Geben Sie jetzt in einem Webbrowser Ihrer Wahl, folgende URL zum starten des Skriptes ein ...

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

Wenn alles glatt verlaufen ist, müssten Sie folgendes auf dem Bildschirm sehen ...

Gratulation!!! Ihr erstes CGI-Skript.

Troubleshotting

Sollten Sie das CGI-Skript partour nicht zu Laufen bekommen, folgt nun eine kurze Checkliste, welche möglichen Ursachen dies haben könnte ...