WebShop
Den Apache-Webserver installieren
Falls erforderlich, aktuellste Version des Apache von http://www.apache.org downloaden. Zur Zeit (September 2002) gibts aber noch Probleme PHP 4.2.x auf dem neuen Apache 2.0.40 laufen zu lassen. Deshalb ist im Moment noch die Version 1.3.2x vorzuziehen. Im Index auf den Ordner "Binaries" klicken und danach auf den Ordner "Windows" bzw. "Linux". Die gewünschte Datei herunterladen und entpacken. Das Setup Programm ausführen. An entsprechender Stelle "Service für alle User bereit stellen" auswählen.
Zum Test, ob der Server läuft, im Internet Browser einfach "localhost" oder die IP-Adresse "127.0.0.1" eingeben. Dann müsste folgender Text erscheinen: "Es klappt! Der Apache-Webserver ist auf dieser Website installiert!"
Den Apache-Webserver konfigurieren
Nach der Installation der Apache Software ist Startmenü um ein Verzeichnis reicher. Dort kann man unter anderem die Apache-Konfigurations Datei "httpd.conf" editieren. Den Eintrag "DocumentRoot=" sollte man auf das Verzeichnis setzen in dem die "index.html" oder eine andere Index-Datei der Homepage liegt, die geservt werden soll. Den Eintrag <Directory= > sollte man auf das gleiche Verzeichnis setzen.
Das sollte fürs erste reichen. Jedoch lassen sich in dieser Datei noch wesentlich mehr Funktionen einstellen, was zu erklären über den Umfang dieses HowTos hinausgehen würde. Die einzelnen Einträge sind in englisch kommentiert und erklären sich somit (fast) von selbst.
PHP installieren
PHP ist von der Seite "www.php.net" zu beziehen. Am besten die neuste Version als .zip Datei herunterladen (auch falls eine .exe Datei vorliegen sollte). Nach dem Download die Datei entpacken, z.B. in "C:\Programme\Php". Im Folgenden nehmen wir an, wir hätten dieses Verzeichnis gewählt.
Die Datei "php4ts.dll" (PHP4) bzw. "php5ts.dll" (PHP5) in "C:\Programme\Php" und die DLLs in "C:\Programme\Php\dlls" werden in das "Windows/System"-Verzeichnis (Win95/98) bzw. das "WINNT/System32"-Verzeichnis (WinNT/2000/XP) kopiert.
Besser ist es allerdings "C:\Programme\Php" zu Umgebungsvariablen PATH hinzuzufügen, da es zukünftige Updates erleichtert. Es muss dann nämlich nichts mehr kopiert werden.
Die Datei "C:\Programme\Php\php.ini-dist" oder besser "C:\Programme\Php\php.ini-recommended" wird ins "Windows"-Verzeichnis bzw. ins "WINNT"-Verzeichnis kopiert und in "php.ini" umbenannt. (Wird ein Apache 2.0.x Server benutzt, muss die Datei nicht kopiert werden, sondern der Pfad zur ini-Datei kann dem Apache in dessen conf-Datei angegeben werden, siehe nächstes Kapitel unter PHP5).
Dann muss sie im Editor geöffnet und der Eintrag "register_globals = Off" muss auf "On" gesetzt werden. Das ist wichtig, da ansonsten keine Variablen von einem Skript zum anderen übergeben werden können. Ausserdem muss "register_argc_argv = On" gesetzt werden. Dies ist in der "php.ini-recommended" auf "Off" gesetzt, um die Performance zu verbessern.
Fertig.
Weitere Informationen zur Installation von PHP stehen in der Datei "C:\Programme\Php\install.txt".
PHP & Apache
Angenommen PHP ist auf dem Rechner im Verzeichnis "C:\Programme\Php" installiert (siehe vorheriges Kapitel). Jetzt wird über das Startmenü die Apache-Konfigurations-Datei "httpd.conf" im Editor (Notepad) geöffnet und ans Ende oder unter eine Stelle mit ähnlichen Einträgen werden folgende drei Zeilen eingefügt:
PHP4: LoadModule php4_module "C:/Programme/Php/sapi/php4apache.dll" AddModule mod_php4.c AddType application/x-httpd-php .php
PHP5: LoadModule php5_module "c:/php/php5apache.dll" AddType application/x-httpd-php .php # configure the path to php.ini PHPIniDir "C:/Programme/Php"
Eventuell ist es möglich, dass die mittlere Zeile ("AddModule...") schon an anderer Stelle in der Datei steht, dann muss sie nicht mehr eingefügt werden oder kann mit einem "#"-Zeichen als Kommentar unschädlich gemacht werden.
Falls ein Apache 2.0.x-Server benutzt wird muss in der ersten Zeile anstelle von "php{Version}apache.dll" der Dateiname "php{Version}apache2.dll" stehen.
Nach diesen Änderungen sollte PHP unter Apache laufen. Ob PHP funktioniert, sieht man, wenn man das im Anhang vorhandene Skript "phpinfo.php" aus dem Browser (nicht per Doppelklick) aufruft, während der Apache Server läuft. Dann wird eine Seite mit allen PHP-Informationen angezeigt. Auch der Pfad in dem PHP die "php.ini" erwartet. Sollte dieser sich von dem im vorigen Kapitel angegebenen Windows-Verzeichnis unterscheiden, sollte die Ini dorthin verschoben werden.
Weitere Informationen zur Installation von PHP stehen in der Datei "C:\Programme\Php\install.txt".
Interbase-Extension für PHP laden
Damit PHP auf Interbase/Firebird Datenbanken zugreifen kann, müssen die Routinen, die das ermöglichen, beim Start von PHP als Erweiterung geladen werden. Dies geschieht mit Hilfe zweier Einträge in der "php.ini". Erstens muss der Eintrag "extension_dir= " auf das Verzeichnis mit den Extension-Dlls gesetzt werden. Diese befinden sich standardmäßig im Verzeichnis "extensions". Falls PHP zum Beispiel in "C:\Programme\Php" installiert wurde, liegen die Erweiterungs-Dlls im Verzeichnis "C:\Programme\Php\extensions". Der Eintrag in der "php.ini" lautet dann:
Win32 extension_dir = "C:\Programme\Php\extensions" Linux extension_dir = "/usr/lib/php/extension"
Zweitens gibt es in der "php.ini" einen Abschnitt, der sich "Dynamic Extensions" nennt. Dort sind alle Erweiterungen in der Form ";extension=php_....dll" aufgeführt. Da ein Semikolon am Anfang steht, beachtet PHP diese Zeile nicht als Eintrag sondern als Kommentar. In der Zeile ";extension=php_interbase.dll" muss dieses Semikolon nun entfernt werden.
Win32 extension=php_interbase.dll Linux extension=interbase.so
Der WebShop erfordert, dass Timestamps im richtigen Format übergeben werden. Dies geschieht durch folgende zwei Zeilen, die am besten ans Ende der "php.ini" gestellt werden:
[Interbase] ibase.timestampformat=%m-%d-%Y %H:%M:%S
Jetzt sollten die PHP-Routinen für die Interbase-Anbindung zur Verfügung stehen. Falls dies nicht so ist, liegt es vielleicht daran, das die "php.ini" im falschen Verzeichnis liegt (Lösung siehe Ende vorletztes Kapitel) oder der Pfad im Eintrag "extension_dir=" falsch gesetzt ist.
Session Verzeichnis
Verzeichnis namens "Sess" in C:\Programme\Apache Group\Apache\" oder im selben Verzeichnis wie "DocumentRoot" anlegen. In der Datei "php.ini" den Eintrag "session.save_path = " auf im ersten Falle
session.save_path = C:/Programme/Apache Group/Apache/Sess abändern.
XML-Remote-Procedure-Calls für PHP und DELPHI/KYLIX
Grundsätzliche Infos zu xml-rpc: http://www.xmlrpc.com a) Aus dem Anhang die php-xmlrpc.zip entpacken und die Datei "xmlrpc.inc" ins Webverzeichnis unter "xmlrpc.inc.php" abspeichern.
b) Link zum Download der Delphi/Kylix Komponente xml-rpc: http://www.codepunk.com/
Virtual Hosts unter Confixx Webserver
joe /etc/httpd/confixx_vhosts.conf
die entsprechende php direktive open_basedir muss auskommentiert werden.
#php_admin_value open_basedir ...
Systemanforderungen beim Benutzer/Client
+ Der benutzte Browser muss Cookies akzeptieren und annehmen. Ansonsten ist ein Login nicht möglich. Die Einstellungen findet man z.B. im IE unter Extras->Internetoptionen->Datenschutz Hier sollte die Stufe "Mittel" eingestellt sein.