Wie installiere ich eine umfassende Perl/CGI- Testumgebung auf meinem lokalen Windows-System?

(Autor: Jan & perl.de - Community)

Inhalt:

Welchen Webserver man zum Testen benutzen sollte

Darauf gibt es verschiedene Antworten - Jeder, wird Ihnen den bevorzugten httpd-Server empfehlen... und das ist jeweils ein anderer, je nachdem, wen sie fragen.
Ich präferiere Apache, somit ist meine Antwort wohl klar. Die Frage nach dem "Warum?" würde die Länge dieses Texts übersteigen. Vertrauen Sie mir einfach - Wenn Sie sicher sind, dass Apache die falsche Wahl war, sind Sie auf jeden Fall in der Lage, einen anderen ohne diese Faq zu installieren.
Dieser Text wird sich also ab jetzt auf Apache beziehen.

Perl runterladen

Den Quellcode von Perl kann unter www.perl.com runterladen, allerdings muss man diesen Quellcode dann noch kompilieren, um Perl benutzen zu können.

Da das nicht jedermanns Sache und für Anfänger nicht zu empfehlen ist, stellt ActiveState eine Binärversion von Perl kostenlos unter www.activestate.com/Products/ActivePerl/ zum Download bereit. Wählt man die Perl-Version als Microsoft Installer-Package, muss man eventuell auch eine neuere Version des Microsoft Installers installieren.

Einen Link zum aktuellen MSI findet man bei ActiveState auf der Perl-Downloadseite.

Ältere kostenlose Perl-Versionen von ActiveState finden sich unter http://ftp.activestate.com/ActivePerl/.

Perl-Module als Zip-Dateien für die verschiedenen Perl-Versionen von ActiveState unter http://ppm.activestate.com/PPMPackages/zips/

Apache runterladen

Da Apache ebenso wie Perl OpenSource-Software ist, hat man auch hier die Möglichkeit, sich den Source-Code bei der Apache Group unter httpd.apache.org/dist/httpd/ herunter zu laden und ihn anschließend selbst zu kompilieren. Da dieser Aufwand für viele User ein unlösbares Problem darstellt und auch von den anderen gerne vermieden wird, stellt Apache selbst auch binäre Distributionen bereit.

Unter httpd.apache.org/dist/httpd/binaries/win32/ finden Sie die Installationspakete als MSI oder EXE-Packet.

Worauf man bei der Installation von Apache achten sollte

Die Installation und Konfiguration von Apache läuft weitgehend automatisch ab und erfordert kaum Eingriffe. Denken Sie daran, Apache auf das selbe Laufwerk zu legen, auf dem Sie auch Perl installieren wollen, z.B. c: (mehr hierzu im nächsten Schritt).
Bei neueren Versionen können Sie einen Teil der Konfiguration bereits während der Installation erledigen, indem Sie die Domain, den Servername usw. ausfüllen.

Worauf man bei der Installation von Perl achten sollte

Es kann gefahrlos alles von Perl installiert werden. Auch wenn nicht alles benötigt wird, schaden kann es nicht.
Wenn Sie CGIs entwickeln und diese auch im web veröffentlichen möchten, werden diese oftmals auf Unix-servern liegen.
Der Pfad zu Perl unter unix ist oftmals /usr/bin/perl oder /usr/local/bin/perl. Um diesen Pfad auch unter Windows zu erhalten, installieren Sie Perl auf der selben Partition wie Ihren http-server in das verzeichnis \usr statt \perl, also z.b. c:\usr statt c:\perl, wenn Sie Ihren http-Server auf c: installiert haben/installieren wollen. Da der Perlinterpreter dann relativ zum Apache im Verzeichnis /usr/bin/perl liegt (der führende slash bezeichnet das stammverzeichnis, z.b. c:\ ), ist die angabe des laufwerks/der partition nicht nötig und Sie müssen den Pfad zu Perl (Shebang) nicht anpassen, um die Scripts auch bei Ihrem Provider laufen zu lassen.
Informieren Sie sich am besten vorher, wie der Pfad zu Perl bei Ihrem Provider lautet, und installieren Sie Perl dementsprechend, bei /usr/local/bin/perl auf dem Unix-Server z.b. auf c: (wo auch der Apache-Server in einem beliebigen Unterverzeichnis installiert ist) in das verzeichnis c:\usr\local .

Wie installiere ich mehrere unabhängige Perl-Versionen

Das ist möglich. Weiteres dazu lest bitte unter Wie installiere ich mehrere Perl-Versionen auf meinem lokalen Windows-System?, da es umfangreicher ist und hier den Rahmen sprengen würde.

-- GwenDragon - 20 Oct 2005

Anpassen der Konfiguration von Apache

Wechseln Sie in das Verzeichnis, in das Sie Apache installiert haben. Unter anderem finden Sie dort ein Verzeichnis "conf". Wechseln Sie dorthinein. Öffnen Sie mit einem beliebigen Text-Editor (z.B. notepad oder Ultraedit) die Datei httpd.conf und suchen Sie nach der Zeile

#Listen 12.34.56.78:80

(oder ähnlich). Das "#" markiert diese Zeile als Kommentar, die in der Konfiguration nicht beachtet wird, sie dient lediglich als Beispiel. Lassen Sie nach dem Kommentar eine Leerzeile und schreiben Sie in die nächste Zeile

Listen 127.0.0.1:80

und lassen Sie danach eine Leerzeile Platz (die Leerzeilen sind optional, dienen lediglich der Ordnung). Suchen Sie nun nach

#ServerName new.host.name

oder bei neueren Versionen:

ServerName beider.installation.eingeben

(den ServerName haben Sie während der Installation gemeinsam mit der domain festgelegt. Hier können Sie ihn ändern, wenn Sie wünschen)

Schhreiben Sie, nach einer Leerzeile, folgendes:

ServerName ihr.servername

wobei ihr.servername beliebig ersetzbar ist.

Ein paar Zeilen weiter finden Sie die Zeile

DocumentRoot "c:/Programme/Apache Group/Apache/htdocs"

Sie variiert, je nachdem, wo Sie Apache installiert haben. Diese Zeile bestimmt, wo die html-Seiten, die Sie über HTTP abrufen können, gespeichert sind. Ich bevorzuge einen möglichst kurzen Pfad, z.B. c:\htdocs, ganz simpel aus Faulheit und Übersichtlichkeit. Passen Sie die Zeile also an, wenn Sie dieses Verzeichnis ebenfalls verlegen möchten. z.B. zu

DocumentRoot "c:/htdocs"

Denken Sie daran, anschließend auch das Verzeichnis an den neuen Ort zu verschieben.

Etwa 20 Zeilen weiter finden Sie

<Directory "c:/Programme/Apache Group/Apache/htdocs">

Wenn Sie das DocumentRoot geändert haben, ändern Sie auch diese Zeile entsprechend, also z.B.

Directory "c:/htdocs"> Als nächstes passen wir das cgi-bin an. Suchen Sie nach

ScriptAlias /cgi-bin/ "c:/Programme/Apache Group/Apache/cgi-bin/"

oder ähnlichem (je nach Installation) und ändern Sie es dahingehend, wo Sie ihr cgi-bin haben möchten, z.B. für c:\htdocs\cgi-bin

ScriptAlias /cgi-bin/ "c:/htdocs/cgi-bin/"

Beachten Sie wieder, anschließend auch das Verzeichnis an den neuen Ort zu verschieben.

Suchen Sie nun nach

<Directory "c:/Programme/Apache Group/Apache/cgi-bin">

und passen Sie es entsprechend dem ScriptAlias an, wenn sie Änderungen vorgenommen haben, z.B. also

<Directory "c:/htdocs/cgi-bin">

Versichern Sie sich anschließend, dass die Zeile

AddHandler cgi-script .cgi .pl

vorhanden und nicht auskommentiert (ohne führendes "#") ist.

Apache starten und testen

Die Installation und Konfiguration von Apache ist abgeschlossen. Legen Sie nun zwei Verknüpfungen an, die auf die Datei Apache.exe (zu finden in dem Apache-Verzeichnis) verweisen. Eine zum starten mit der option "-k start" und eine zum beenden mit der Option "-k shutdown", also z.B.

C:\Programme\Apache Group\Apache\Apache.exe -k start

und

C:\Programme\Apache Group\Apache\Apache.exe -k shutdown

Nun führen Sie die aus, die Sie zu starten angelegt haben. Ein Dosfenster erscheint und meldet etwas wie

Apache/1.3.11 (Win32) running...

Dieses Fenster minimieren Sie nun und öffnen in Ihrem favorisiertem Browser

http://127.0.0.1/

Es sollte nun eine Apache-Seite erscheinen. Fertig, Ihr Apache-Webserver ist installiert und funktioniert.

CGI testen

Legen Sie in Ihrem cgi-bin eine neue Datei namens hello.pl an und editieren Sie diese.
In der ersten Zeile schreiben Sie den Shebang (s.o.), wenn Apache und Perl auf der selben Partition installiert sind und Perl nach \usr\ installiert ist, lautet er

#!/usr/bin/perl

In der zweiten Zeile geben Sie den HTTP-Header aus, der dem Browser zu verstehen gibt, dass nun HTML folgt.

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

und in der dritten Zeile geben Sie Ihre Meldung aus

print "<h3>Hello World</h3>";

Ihre Datei sieht nun so aus:
#!/usr/bin/perl</code><br>
print "Content-type: text/html\n\n";
print "<h3>Hello World</h3>";
Speichern Sie sie und rufen Sie in Ihrem Browser

http://127.0.0.1/cgi-bin/hello.pl

auf. Es sollte nun "Hello World" in Ihrem Browser ausgegeben werden. Ihr Server verarbeitet Ihre CGI-Scripts.

Sonstiges

Microsoft IIS

Hin und wieder tauchen auch Fragen zum Microsoft IIS auf. Hier ein Link zu einem HowTo? von Microsoft: http://support.microsoft.com/default.aspx?scid=kb;en-us;245225

Ergänzungen, Kommentare

StraT - 09 August 2003

Es gibt allerdings auch schon fertige Pakete, die die Installation vereinfachen. Die Leute von http://www.apachefriends.org/ haben da sowohl fuer Windows als auch fuer Linux Pakete geschnuert, die aus Apache, GlossarMySql, Perl (mod_perl und/oder Perl/CGI), PHP, PhpMyAdmin und noch vielen weiteren nuetzlichen Tools bestehen. Die Installation ist gut dokumentiert und sehr einfach.

FrankCremers - 06 Januar 2005

Unter Windows kann man ein Mapping-File mit Namen "hosts" benutzen (unter XP in C:\Windows\system32\drivers\etc\ zu finden). Dabei handelt es sich um eine einfache ASCII-Datei, mit der man IP-Adressen auf Hostnamen mappen und so auf dem lokalen Rechner beliebige Domainnamen benutzen kann.

Beispiele
127.0.0.1  win.myshop.local
127.0.0.1  doc.apache.local
127.0.0.1  manual.php.local
Die dort eingetragenen Domainnamen benutzen Sie dann auch bei der Einrichtung Ihrer virtuellen Hosts in der httpd.conf von Apache.

Natürlich es auch möglich, hier zu Testzwecken tatsächlich im Web existierende Domains einzutragen. Allerdings sollten Sie nicht vergessen, diese wieder zu entfernen, wenn Sie die betreffende Domain im Web aufrufen möchten.

ThomasChust - 17 Mai 2007

Um CGIs zu testen bieten manche Browser auch die Möglichkeit, diese Programme lokal in einer passenden Umgebung zu starten und ihre Ausgabe im Browserfenster anzuzeigen. Bei Konqueror ist dies zum Beispiel möglich, indem man als URL cgi:///pfad/zum/cgi-programm angibt.

UtilFaqSubForm edit

Titel Wie installiere ich eine umfassende Perl/CGI- Testumgebung auf meinem lokalen Windows-System?
Autor Jan und perl-community
Bereich FaqAllgemeines
Tags
Topic revision: r16 - 2008-12-10 - 10:54:29 - ReneeBaecker
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.