Seit vielen Jahren gibt es einen Amiga-Port des beliebten Webservers »Apache«. Mit diesen konnte man bereits CGI-Skripte (z.B. in Perl oder ARexx) verwenden. Dynamisches Web-Publishing mit PHP war aber noch nicht möglich. Nun gibt es einen Amiga-Apache mit PHP-Unterstützung. Lesen Sie, wie sie Apache/ PHP für Amiga installieren und verwenden.
von Martin Steigerwald
Apache für Amiga kommt entweder in separaten »tar.gz«-Archiven mit Binaries für verschiedene 68000er-CPUs und Zusatzdateien oder im AmiNet als komplettes Archiv mit allen Dateien daher. Welche Version sie installieren, liegt bei ihnen. Wenn Sie keine Dateien vergessen wollen, sollten Sie auf der Heft-CD im Verzeichnis Internet/ Apache schauen.
Dieser Artikel bezieht sich auf die zum Zeitpunkt seiner Entstehung aktuellen Version von Apache: AmigaApache/1.3.12 PHP/4.0.1 pl2. Damit ist u.a. die Anbindung an Datenbanken wie »mSQL« oder »PostgreSQL« per PHP kein Problem. Die popupläre OpenSource-Datenbank »mySQL« ist leider nicht für den Amiga verfügbar. Die Verwendung von Datenbanken ist jedoch nicht Thema diesen Artikels.
Bevor Sie Apache für Amiga installieren, sollten Sie unbedingt ältere Artikel
zu Amiga-Apache und zur Installation der GeekGadgets-Umgebung lesen. Dieser
Artikel beschreibt zwar zusammenfassend alle notwendigen Schritte zur Installation
von Konfiguration von Apache, geht dabei jedoch nicht ins Detail. Daher ist
es sehr empfehlenswert, den Artikels »Mein Freund W.«, der die Installation
einer etwas älteren Version von Apache detaillreich beschreibt, zu lesen[1].
Vorarbeiten
Bevor sie Apache verwenden können, müssen zunächst ein paar Voraussetzungen geklärt werden: Apache benötigt mindestens einen 68020 Prozessor, was aber nun wirklich kein Problem mehr darstellen sollte. Weiterhin benötigen Sie einen TCP/IP-Stack wie »Miami«, »MiamiDx« oder »Genesis«. Außerdem müssen zumindest bestimmte Teile der GeekGadgets-Umgebung installiert werden: Notwendig sind die xemul.library und die ixnet.library, sowie die File-Utilities eine Sammlung von Befehlen zur Dateimanipulation wie man sie unter Unix findet.
Sie können diese minimalen Bestandteile von GeekGadgets installieren, indem sie diese Befehle einfach nach »C:« sowie die Libraries nach »LIBS:« kopieren. Oder Sie installieren einfach einen guten Grundstock des GeekGadgets-Projektes.
Auch wenn Apache mit der Minimal-Konfiguration funktioniert, brauchen bestimmte
Funktionen wie CGI-Skripting weitere Teile von Geekgadgets wie z.B. Perl,
die Shell »ksh«, o.ä.
Los gehts!
Entpacken sie den Inhalt des/der Archiv(e) für den Amiga-Apache in ein eigenes Verzeichnis und teilen sie Apache mit, wo es zuhause ist:
ASSIGN Apache: <Ihr-apache-verzeichnis>
Es empfiehlt sich, diese Zuweisung auch gleich in die »User-Startup« einzutragen, damit sie bei jedem Boot neu gesetzt wird.
Im AmiNet-Archiv sind vom Server und seinen Zusatz-Utilities Versionen für 68020, 68040 und 68060 enthalten. Zudem gibt es Versionen für Apache mit und Apache ohne PHP. Suchen Sie sich die passenden Versionen heraus und benennen Sie sie um, indem sie die Endung löschen: So wird z.B. aus »http.060.php« einfach nur »httpd«. Wenn Sie Einzel-Archive verwenden, stellen Sie sicher, Archive für die PHP-Versionen zu verwenden. Diese haben das Kürzel »php« in ihrem Dateinamen, also z.B.: »apache_1.3.12_68040_php_bin.tar.gz«.
Jetzt können sie Apache konfigurieren. Anders als frühere Versionen sind nun alle Konfigurations-Befehle in einer Datei untergebracht. Kopieren Sie im Verzeichnis »conf« die Datei »http.conf-amiga-dist« nach »httpd.conf« sowie »mime.types-amiga-dist« nach »mime.types«. Zudem kopieren Sie im Verzeichnis »lib« noch die Datei »php.ini-optimized« nach »php.ini«. Dies ist die PHP-Konfigurationsdatei. PHP läuft mit dieser Konfigurationsdatei ohne Änderungen.
Nun passen Sie die Konfigurationsdatei »httpd.conf« zur Sicherheit bitte nur ihre Kopie an ihre Bedürfnisse an. Folgende Einträge sollten sie anpassen:
Sie sollten »ServerName« auf den Namen ihres Webservers setzen. Wird Apache nur lokal betrieben, können Sie sich einen Namen ausdenken. Es macht jedoch Sinn, diesen den TCP/IP-Stacks ihres lokalen Netzwerks oder dem lokalen DNS-Server, falls sie einen installiert haben, bekannt zu machen. Bei Miami können sie den Namen unter »Database/Hosts« eintragen, bei AmiTCP/Genesis in der Datei »etc/hosts«.Ansonsten müssen sie natürlich den von ihnen beantragten Domain-Namen als Servernamen eintragen, damit alles klappt.
Unter »DocumentRoot« sollten Sie das Verzeichnis eintragen, das Apache zum Laden von HTML-Dokumenten verwenden soll, soweit der Benutzer nicht explizit ein anderes freigegebenes Verzeichnis über die URL anwählt. Per Vorgabe ist dies »/Apache/htdocs« beachten Sie die Unix-Schreibweise! Weiter unten in der Konfigurationsdatei werden sie Zugriffsrechte für dieses Verzeichnis geregelt:
<directory "/Apache/htdocs">
Hier sollten Sie das Verzeichnis, das sie unter »DocumentRoot« angegeben haben, eintragen. Per Vorgabe haben alle Benutzer Zugriff auf dieses Verzeichnis. Wenn Sie das ändern wollen, lesen Sie bitte die Apache-Dokumentation oder unseren Artikel »Mein Freund W.« [1].
| Automatisch | |||||
|
AmigaApache sucht nach bestimmten Endungen, um PHP-Skripte zu erkennen. Per
Vorgabe ist dies nur die Endung ».php« für PHP 4-Skripte. Damit PHP 3-Skripte
und ».phtml«-Dateien ebenso funktionieren, macht es Sinn, den Eintrag unter
»AddType application/x-httpd-php« wie folgt zu ändern:
application/x-httpd-php .php3 .php4 .php .phtml
Damit sollte Apache, wenn auch spärlich, so doch ausreichend konfiguriert sein, um einen ersten Test zu wagen. Doch davor muss noch der TCP/IP-Stack angepaßt werden:
TCP/IP-Stack
anpassen
|
Unter Miami(Dx) tragen Sie den Usernamen unter »Database/Users« etwa wie folgt ein (s. »Vorbereitung ist alles«):
User name: www User id: 300 Group id: 300 Real name: WWW-Benutzer Home dir: WWW: Shell: noshell
Die können bei User-ID und Group-ID auch andere Werte angeben, so lange sie sich von bereits vorhandenen Einträgen unterscheiden. Bei »Homedir« geben Sie ihr »DocumentRoot«-Verzeichnis in Ami-ga-Schreibweise an. Legen Sie nun unter »Database/ Group« noch eine passende Gruppe an:
Group name: www Group id: 300 Users: www
|
www|*|300|www
Legen Sie bitte analog auch einen Benutzer »root« mit den folgen- den Daten
an, falls noch nicht geschehen. Dieser User ist für das »starthttpd«-Skript
erforderlich, mit dem der Server vom Benutzer »root« aus gestartet wird:
User name: root
User id: 0
Group id: 0
Real name: SysAdmin
Home dir:
Shell: noshell
Sowie die passende Gruppe:
Group name: wheel
Group id: 0 Users: root
Prüfen Sie nun noch ob das HTTP-Protokoll eingerichtet ist. Bei Miami(Dx)
sollte dieser Service bereits unter »Database/Services« eingetragen sein:
Name: http
ID: 80
Protocol: tcp
Bei AmiTCP sollten Sie diesen Eintrag in »db/services« finden:
http 80/TCP
|
Achten sie dabei darauf, den passenden Eigentümer für ihre HTML-Dateien zu setzen. Gehen Sie dazu in einer Shell in ihr »DocumentRoot«-Verzeichnis und geben sie folgenden Befehl ein:
chown -R www:www *
Mit »ls -l« können Sie das Ergebnis überprüfen. Nun können Sie mit einem Browser auf »http://localhost« gehen und sollten Ihre Testseite erhalten (s. »Heureka«).
Von da an können Sie den Apache-Server auch automatisch starten und beenden lassen, wenn Sie mit ihrem lokalen Netzwerk-Interface on- oder offline gehen. Dazu dienen die beiden Skripte »Apache:bin/ starthttpd« und »Apache:bin/ stophttpd« (s. »Automatisch«).
Die Verwendung des »starthttpd«-Skriptes hat einen weiteren Vorteil: Es macht »Apache« resident, so dass die doch recht große ausführbare Datei »httpd« nur einmal in den Speicher geladen wird. Das dürfte auch die Geschwindigkeit erhöhen, wenn neue Server-Prozesse gestartet werden.
So viel zur Installation des Amiga-Pache mit PHP-Support. In der nächsten Ausgabe zeigen wir Ihnen einige Beispiele. In der Zwischenzeit können Sie ja selbst schon einmal auf den unzähligen PHP-Seiten stöbern und testen, was auf dem Amiga funktioniert.
Ib
Literatur:
| [1] | Mein Freund W., Jörn-Erik Burkert, AMIGA Magazin 8/1998, S. 26 |
| [2] | Neues vom Indianer, Jörn-Erik Burkert, AMIGA Magazin 11/1999, S. 14 |
| [3] | Workshop: Home-Networking (Teil 2), Lokal vernetzt - aber mit Komfort!, Martin Steigerwald, AMIGA Magazin, 8/2000, S. 24 |
© 2000 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 10. 9. 2000.