AMIGA-Magazin · Installation: Web-Server AWS mit Extras

Aktuelles Heft 1/98

Stargate ins Web

Zwei Web-Server gibt es für den Amiga: »AWS« und »Apache«. AWS ist vor allem klein, schnell, einfach zu installieren und übersichtlich in den Funktionen. Ideal also, um die ersten Schritte als Web-Anbieter zu wagen.

von Edgar Conrad

Wenn man selbst Web-Seiten anbieten und nicht nur konsumieren will, braucht man für den eigenen Amiga einen Web-Server. Wer jetzt gleich glaubt, daß die Installation eines solchen Programms schwierig sei, der irrt gewaltig. In zehn Minuten ist das erledigt. Es ist sogar recht einfach, AWS mit einem intelligenten Skript so aufzubohren, daß er tadelos Perl-Skripte ausführt -- und auch Amiga-OS-Shell-Skripte. Interessiert?

Bevor die Installation starten kann, braucht man AWS selbst, sowie ein paar Konfigurationsdateien. AWS finden Sie unter der Web-Adresse ftp://ftp.phone.net/pub/amiga/aws/. Was Sie brauchen, ist die recht alte 0.97-Version. Lassen Sie die Finger von neuen Versionen im Verzeichnis »beta«. Diese funktionieren nicht, wie man es erwartet und können nicht so einfach, wie in diesem Artikel beschrieben, erweitert werden.

Leider gibt es das Programm und andere nötige Dateien nur einzelnen. Wir haben daher die wichtigsten Sachen gesammelt und als LHA-Archiv auf die Web-Seiten des AMIGA-Magazins gepackt. Nach dem Download müssen Sie das Archiv nur noch auspacken. Dabei entsteht ein neues Verzeichnis »AWS«. Geben Sie danach noch die Zeile

   Assign AWS: aws

in einer Shell ein. Außerdem müssen Sie eine entsprechende Zeile (mit allen nötigen Pfadangaben) in die S:User-Startup einfügen.

Danach gilt es noch die Datei »aws« aus dem Verzeichnis »AWS:conf« den eigenen Wünschen anzupassen. Die Anpassung ist nicht Pflicht -- AWS funktioniert auch dann, wenn Sie keine Zeile ändern. Zwei Zeilen sollten Sie aber dennoch editieren:

  1. Hinter »servername« ist anzugeben, wie der Rechner heißt, auf dem AWS läuft. Trägt er den Namen »www.meinedomain.de«, dann muß dort »www« stehen.
  2. Auf das Schlüsselwort »maintainer« sollte Ihre Email-Adresse folgen. Sie erscheint dann bei Fehlermeldungen automatisch, damit der Nutzer weiß, an wen er sich im Fehlerfall zu wenden hat.

Außerdem sollten Sie in der letzten Zeile hinter »map / directory« das Verzeichnis angeben, in dem alle HTML-Seiten zu finden sind. Es stellt die Wurzel des HTML-Seitenbaums dar. Im Beispiel steht dort nur »aws:html«. Es reicht aus, um den Web-Server zu starten und die folgende Beispiele nachzuvollziehen.

# Erster Versuch

Vor dem ersten Start von AWS muß natürlich ein TCP/IP-Paket gestartet sein. Mit »AmiTCP« und »Miami« gibt es keinerlei Schwierigkeiten. Starten Sie die TCP/IP-Software und tippen Sie in einer Shell ein:

   run AWS:AWS

Später sollten Sie zwischen »run« und »AWS:AWS« noch ein »>NIL:« einfügen. Beim ersten Start dagegen ist es wichtig, eventuelle Fehlermeldungen zu sehen. Daher fehlt das »>NIL:«. Wenn Sie keinerlei Meldungen erhalten (außerdem der Nummer des neu gestarteten Prozesses) ist alles glatt gelaufen und der Web-Server läuft. Bedenken Sie, daß sich AWS nicht als Server-Prozeß unter Kontrolle der TCP/IP-Software starten läßt. Sie müssen das Programm nach Start von TCP/IP mit »run« in Gang setzen.

Starten Sie anschließend einen Web-Browser -- es ist egal welchen -- und geben Sie als URL ein:

   Alles paletti  Alles paletti: Wenn Sie diese Seite sehen (unter der angebenen URL), dann läuft der Web-Server einwandfrei  Wenn Sie nur eine Fehlermeldung sehen, müssen Sie mit Hilfe von »SnoopDOS« oder einem vergleichbaren Programm untersuchen, auf welche Dateien AWS zugreift. SnoopDOS zeigt nach seinem Start eine ständig wachsende Liste an, die alle Dateizugriffe des Amiga-Systems und deren Erfolg oder Mißerfolg festhält. Meist sieht man anhand den nicht erfolgreichen Zugriffen sehr schnell, was nicht funktioniert.

# Skript-Probleme

Da AWS kein ausgefeilter Web-Server mit vielerlei Schnickschnack ist, beherrscht er nur grundlegende zusätzliche Funktionen. Skripte aus dem Verzeichnis »cgi-bin« (oder aus einem anderen von Ihnen angegebenen Verzeichnis) müssen entweder kompilierte Programme oder ARexx-Skripte sein -- mehr geht nicht.

Ein paar einfache Skripte liefert der Autor von AWS mit. Was bald schmerzlich fehlt, ist die Möglichkeit, auch Perl-Skripte starten zu können. »Perl« ist die Web-Server-Skriptsprache überhaupt, die vor allem auf UNIX-Rechnern bevorzugt eingesetzt wird. Sie ist zwar unter Gesichtspunkten der Informatik chaotisch, dafür aber (oder etwa deswegen?) enorm praktisch. In vielen Büchern und Web-Seiten findet man Perl-Skripte für alltägliche Probleme.

# Die Lösung

:Als Ersatz für die fehlende Einbindung gibt es in dem Paket auf den AMIGA-Seiten ein Skript, daß das Problem elegant löst: Es ist ein kompiliertes Programm, das beliebige Skriptsprachen starten kann und dazu den Namen der Sprachinterpreters aus der ersten Zeile der Skriptdatei extrahiert. Fehlt die Angabe, nimmt es an, daß ein Perl-Skript vorliegt.

Wie der Aufruf zu erfolgen hat, können Sie dem Quelltext der HTML-Seite perltest.html entnehmen. Hinter »/cgi-bin/skriptgate/« ist der Name des Skripts anzugeben. Das Skript muß ebenfalls in »/cgi-bin« liegen (oder Sie setzen ein anderes Verzeichnis in der ENV-Variable »AWS_SKRIPTDIR«).

Als Beispiel für ein PerlSkript sehen Sie rechts test.pl. Es sollte nach »cgi-bin« kopiert werden, damit es funktioniert. Es gibt zuerst alle nötigen Infos aus, damit der Web-Browser das folgende als HTML betrachtet, gibt einen kurzen Hinweis aus und testet dann, über welche Methode die Parameter übergeben werden (»GET« oder »POST«). Dananch werden die Parameter geholt und einfach ausgegeben. Danach folgt das Ende der HTML-Seite.

In der ersten Zeile des Skripts steht, wo der Perl-Interpreter zu finden ist. Das ist das Programm, welches als Eingabe das vorliegende Skript überreicht bekommt. Im Beispiel liegt der Perl-Interpreter in »Work:+C« und heißt einfach »Perl«. Vor dem Namen stehen Zeichen, die die Zeile als Kommentar für den Perl-Interpreter markieren. Skriptgate akzeptiert # ; . und / als Kommentarzeichen.

Um auf diese Art ein Amiga-Shell-Skript zu starten, müssen Sie in die erste Zeile nur

   ; Execute

schreiben. Ein Beispiel steht in »Test.shell«. Die dazugehörige HTML-Seite finden Sie in »Shelltest.html«. Sie verlangt von Ihnen, einen Assign oder Laufwerksnamen ohne Doppelpunkt einzugeben. Als Antwort erhalten Sie eine HTML-Seite mit dem Inhalt des angegebenen Verzeichnisses. Das Skript sollte Ihnen aber nicht nur als einfaches Beispiel, sondern auch als Warnung dienen: Wer statt eines Assigns die Zeichenfolge

   `delete sys: all force quiet`

eingibt, löscht damit die Workbench-Partition des Amigas, auf dem der Web-Server läuft (bitte nicht ausprobieren)! Shell-Skripte sind daher stets mit allergrößter Vorsicht einzusetzen.

Weitere Hinweise zu Skriptgate und dessen Source-Code in C finden Sie in dem aws.lha-Archiv Viel Spaß beim Ausprobieren!

lb

 

© 1998 All Rights Reserved. Alle Rechte vorbehalten Franzis' Verlag GmbH
Veröffentlichung und Vervielfältigung nur mit schriftlicher Genehmigung des Verlags


Kommentare, Fragen, Korrekturen und Kritik bitte an Webmaster AMIGA schicken.
Zuletzt aktualisiert am 18. Dezember 1997