cgicorner.ch ¦ CGI-Hilfe ¦ Tutorial ¦ Kapitel 1: Webserver unter Windows    
   http://www.cgicorner.ch

Main Download CGI Hilfe Knowledge Base Links Gaestebuch Witze-Bereich Sitemap Impressum

Tutorial - Kapitel 1: Webserver unter Windows

Einleitung

Keine Angst! Dieses Tutorial ist sicherlich nicht Windows-orientiert, sondern richtet sich an die Programmierung unter UNIX. Ich schreibe meine Scripts jedoch nicht ausschliesslich Zuhause, wo ich noch einen kleinen UNIX-Testserver oder zumindest eine Internetverbindung habe, sondern auch mal auf meinem Laptop, unterwegs im Zug oder irgendwo sonst etwas abseits. Da ich dort keinen Zugriff auf einen UNIX-Server habe und auch nicht unbedingt einen Dualboot mit Linux einrichten möchte, habe ich mich unter Windows so eingerichtet, dass ich völlig unabhängig von anderen PCs oder einer Internetverbindung meine Perl-Scripts schreiben kann.

Sicherlich gibt es auch sonst noch den einen oder anderen Grund, warum es nützlich sein könnte, unter Windows einen funktionierenden Webserver mit Perl/CGI-Unterstützung zu haben. Deshalb richtet sich mein erstes Kapitel dieses Tutorials um die Installation eines Webservers unter Windows.

Unter Windows existieren meiner Meinung nach drei nennenswerte Möglichkeiten (obwohl diese Liste mit Sicherheit nicht vollständig ist):

  • 1. Apache
    DER Webserver unter Linux ist auch in einer Windows-Version vorhanden. Dank den ApacheFriends-Projekt (http://www.apachefriends.orgExtern) ist die Installation für jedermann problemlos möglich. Das ApacheFriends-Projekt stellt einen Apache Webserver mit OpenSSL, Perl, PHP, MySQL, phpMyAdmin und vieles mehr für Windows, Linux und Mac OS/X zur Verfügung.
  • 2. Xitami
    Ich habe mich 1998 Jahren für den Xitami-Webserver entschieden, weil er mir damals bei der "Evaluation" am besten gefallen hat. Xitami ist kostenlos, schnell konfiguriert, und genügt meinen Ansprüchen vollumfänglich. Deshalb werde ich in diesem ersten Kapitel auch die Installation des Xitami-Webservers erklären. Obwohl ich immer noch Xitami nutze, dürfte sich der Apache-Webserver für Neuinstallationen besser eignen.
  • 3. Internet Information Server (IIS)
    Wer bereits eine Server-Version von Windows im Einsatz hat, bekommt kostenlos den Microsoft Internet Information Server (IIS) mitgeliefert. Dieser unterstützt von Haus auf kein Perl/CGI, ist aber mit wenigen Handgriffen auch "Perl-fähig". Eine Anleitung für Windows 2000 und 2003 Server ist als Artikel in der Knowledgebase vorhanden. Das Prinzip dürfte auch für den IIS anderer Windows-Versionen funktionieren.

Voraussetzungen für dieses Kapitel

Installation von ActivePerl

Es wird empfohlen, das MSI-Paket von ActivePerl herunterzuladen, welches mit dem Windows Installer (ab Windows 2000 integriert, für ältere gibt's auf der Seite einen Link zum Download des MSI-Installers).

ActivePerl kann mit den Standardeinstellungen in ein beliebiges Verzeichnis installiert werden. Die Installation HTML-Dokumentation dauert ziemlich lange. Haben Sie also etwas Geduld...

ActivePerl ist für den Apache-Webserver von ApacheFriends nicht zwingend erforderlich, erleichtert aber die Fehlerdiagnose. Zudem werden wir ActivePerl zwingend benötigen, wenn wir MySQL-Datenbanken anbinden wollen. Wer den Apache-Webserver von ApacheFriends einsetzt und noch auf ActivePerl verzichten möchte, benötigt unbedingt einen Eintrag in der PATH-Variable mit dem korrekten Pfad zur perl.exe. Mit der Installation von ActivePerl wird dies automatisch erledigt.

Möglichkeit 1: Apache-Webserver

Wichtig! Wichtig: Der Installationspfad des Apache-Friends wird in mehreren Konfigurationsdateien gespeichert. Ein nachträgliches verschieben des Installationsordners ist nur mit einer kompletten Neuinstallation möglich (oder durchkämmen aller Config-Files)

Nach dem Download des Basispaketes von "XAMPP für Windows" (ich empfehle die Installer-Version) kann XAMPP in ein beliebiges Verzeichnis mit den Standard-Optionen installiert werden. Durch die extreme Komprimierung mit 7-ZIP benötigt die Installation ziemlich lange. Haben Sie also etwas Geduld...

Danach steht Ihnen mit dem "XAMPP Control Panel" ein Tool zur Verfügung, wo Sie die einzelnen Dienste starten können. Vorerst reicht der Apache-Webserver aus.

Der Apache-Server wäre nun schon vollständig einsatzbereit. Der Apache hat aber - aus Sicherheitsgründen - eine Einschränkung, dass CGI-Scripts nur im Ordner cgi-bin liegen dürfen, in diesem Ordner jedoch keine HTML-Seiten oder Grafiken liegen dürfen. Der Einfachkeit halber heben wir diese Einschränkung auf: dazu muss die Datei apache\conf\httpd.conf im XAMPP-Ordner angepasst werden:

Die Zeile
ScriptAlias /cgi-bin/ "C:/Programme/xampp/cgi-bin/"
löschen wir, oder kommentieren Sie mit einem vorangestellten # aus. Danach suchen wir die Zeile
AddOutputFilter INCLUDES .shtml
(Achtung: die Zeile gibt es zweimal, korrekt ist die Zeile innerhalb von <Directory "C:/Programme/xampp/htdocs"> auf ca. Zeile 220. Dort fügen wir zwei neue Zeilen ein:
AddHandler cgi-script .cgi
AddHandler cgi-script .pl

Nachdem wir das gemacht haben, können wir das Verzeichnis cgi-bin im XAMPP-Verzeichnis in das Verzeichnis htdocs im gleichen Verzeichnis verschieben und den Apache-Server neu starten.

Möglichkeit 2: Xitami-Webserver

Wichtig! Wichtig: Xitami ist ein guter Webserver für die Entwicklung. Produktiv würde ich diesen Server jedoch nicht einsetzen, da Xitami sich manchmal aufhängt. Zudem wurde das Produkt seit 2002 Jahren nicht mehr weiterentwickelt, so dass wohl einige Sicherheitslöcher vorhanden sein dürften... Für den produktiven Einsatz würde ich den Apache-Webserver unter Linux bevorzugen (oder wenn es unbedingt Windows sein muss Apache für Windows oder allenfalls IIS).

Die Installation des Xitami Webservers ist unkompliziert: auf der Download-Seite sollte das "Windows 9x/ME/XP/2000/2003 install package" heruntergeladen werden (xiopen_2_5.zip). Nachdem man das ZIP-Archiv in einen beliebigen Ordner entpackt hat, kann man den Webserver mit einem Doppelklick auf die xigui32.exe starten.

Der manuelle Start eignet sich hervorragend für Entwicklungsumgebungen. Wer Xitami beim Start von Windows automatisch gestartet haben möchte, kann entweder einen Autostart-Eintrag auf diese EXE-Datei erstellen oder Xitami als Service installieren. Zweiteres erfolgt mit xisrv32.exe -i (Deinstallation übrigens mit xisrv32.exe -u).

Xitami Administrationskonsole

Erwähnt sei an dieser Stelle auch noch die Xitami-Administrationskonsole. Damit diese überhaupt zugänglich ist, muss in der Datei xitami.aut ein Benutzer für "/admin" definiert werden: dazu muss "Admin=-" durch "Admin=Passwort" ersetzt werden, wobei "Passwort" das gewünschte Adminpasswort ist. Danach kann der Adminbereich mit http://localhost/admin aufgerufen werden. Im Adminbereich können diverse Einstellungen wie Timeout, Verzeichnisse, benutzerdefinierte Fehlerseiten, Virtual-Hosts etc. vorgenommen werden. Nur zum Entwickeln werden Sie diese Administrationskonsole jedoch kaum brauchen.

Testen der Installation

Wenn die Installation des Apache- oder Xitami-Webservers fertig ist, sollte eigentlich CGI-Scripts (Apache: htdocs/cgi-bin/ im XAMPP-Verzeichnis, Xitami: cgi-bin Ordner im Xitami-Programmverzeichnis) bereits funktionieren. Um dies zu testen, erstellt man im cgi-bin-Verzeichnis eine Datei test.cgi mit folgendem Inhalt:

#!perl.exe
print "Content-type: text/html\n\n";
print "<html><body><h1>Script $ENV{SCRIPT_NAME} funktioniert!</h1></body></html>";

Mehr zu diesem Code erfahren Sie in Kapitel 2.

Danach sollten Sie das Script im Browser mit der URL http://localhost/cgi-bin/test.cgi betrachten können (der Webserver muss dafür natürlich gestartet sein). Die Ausgabe auf dem Browser sollte dann eine H1-Überschrit mit dem Text "Script /cgi-bin/test.cgi funktioniert!" sein.

Ist dies der Fall? Wenn ja: Gratulation! Ihr Webserver läuft. War doch ganz einfach, oder?

Nein? Können Sie die Seite http://localhost betrachten? Wenn nicht: kontrollieren Sie, ob der Webserver gestartet ist, versuchen Sie einmal die IP "127.0.0.1" anstelle von "localhost". Ja? Kontrollieren Sie die Perl-Installation. Möglicherweise erscheint auf dem Browser eine Fehlermeldung, die Ihnen weiterhilft.

Übrigens: Wenn Ihr Computer in einem Netzwerk ist, können Sie natürlich auch von einem anderen Browser auf diesen Webserver zugreifen. Ersetzen Sie einfach "localhost" durch die IP-Adresse des PCs, auf dem Xitami läuft.

Wichtig! Wichtig: Der Apache-Webserver benötigt stets den korrekten Pfad zu Perl in der ersten Zeile (also #!perl.exe). Bei Xitami unter Windows ist dieser Pfad völlig irrelevant (muss aber vorhanden sein). In den Beispielen der folgenden Kapitel verwende ich immer #!/usr/bin/perl, welches unter UNIX/Linux dem Standard entspricht und in 99% der Fällen stimmt. Auch meine Scripts im Downloadbereich haben diese Pfadangabe defaultmässig angegeben. Wenn Sie also die Beispiele oder Scripts von meiner Homepage mit dem Apache unter Windows testen wollen, müssen Sie jeweils diese erste Zeile anpassen. Mit Apache unter Linux oder Xitami kann diese Zeile unverändert belassen werden.

Text-Editoren

Wie Sie soeben bemerkt haben, schreiben wir die Perl-Programme in einem normalen Texteditor. Dabei tut es der Notepad theoretisch auch. Es gibt aber Text-Editoren mit Syntax-Highlighting (Befehle werden hervorgehoben), welche die Arbeit erleichtern.

Ich bevorzuge die Editoren TextPad (Shareware, http://www.textpad.comExtern) oder PSPad (Freeware, http://www.pspad.com/de/index.htmlExtern).

Mehr Informationen zu diesen Editoren finden Sie in meiner Knowledge-Base im Artikel "Texteditoren für Windows".

Zusammenfassung

In diesem Kapitel haben wir unter Windows Perl sowie den Webserver Apache oder Xitami installiert und getestet. Zudem haben wir bemerkt, dass wir unsere Scripte in normalen Texteditoren schreiben und zwei Alternativen zu Notepad kennengelernt.

Wie geht's weiter?

Im Kapitel 2 befassen wir uns einmal mit dem Aufbau eines Perl-Scripts.

Sie können aber auch zurück zum Inhaltsverzeichnis und dort ein beliebiges anderes Kapitel auswählen.



 
Druckfreundliche Version zum Anfang der Seite
Copyright (c) 2008 by cgicorner.ch
Diese Seite ist ein Teil von http://www.cgicorner.ch
URL dieser Seite: http://www.cgicorner.ch/tutor/01_webserver.shtml
Letzte Änderung: 27. August 2007