|
|
(38 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| Der webshop ruft externe Buchungsfunktionen, Details siehe hier [[ECommerce]].<br>
| | #redirect [[TWebShop2]] |
| Der webshop verfügt über umfassende Verwaltungs und Diagnosefunktionen, Details siehe [[WebShop.Admin]].<br>
| |
| | |
| == 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?e Datei herunterladen und entpacken.
| |
| Das Setup Programm ausf? An entsprechender Stelle "Service f?e User bereit
| |
| stellen" ausw䨬en.
| |
| | |
| Zum Test, ob der Server l䵦t, im Internet Browser einfach "localhost" oder die
| |
| IP-Adresse "127.0.0.1" eingeben. Dann m?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?in 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?ste reichen. Jedoch lassen sich in dieser Datei noch wesentlich mehr Funktionen
| |
| einstellen, was zu erkl䲥n ?en Umfang dieses HowTos hinausgehen w? Die einzelnen Eintr䧥 sind in englisch kommentiert und erkl䲥n 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䴴en dieses Verzeichnis gew䨬t.
| |
| | |
| 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?da es zuk?e Updates erleichtert.
| |
| Es muss dann nä¬ich 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䣨stes Kapitel unter PHP5).
| |
| | |
| Dann muss sie im Editor ge?et und der Eintrag "register_globals = Off" muss auf "On" gesetzt werden.
| |
| Das ist wichtig, da ansonsten keine Variablen von einem Skript zum anderen ?ben werden k?n.
| |
| 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 ?as Startmen?Apache-Konfigurations-Datei "httpd.conf" im Editor (Notepad) ge?et und
| |
| ans Ende oder unter eine Stelle mit 䨮lichen Eintr䧥n werden folgende drei Zeilen eingef? 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?ch, dass die mittlere Zeile ("AddModule...") schon an anderer Stelle in der Datei steht,
| |
| dann muss sie nicht mehr eingef?rden oder kann mit einem "#"-Zeichen als Kommentar unsch䤬ich 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 Įderungen 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䨲end der Apache Server l䵦t.
| |
| 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".
| |
| | |
| == PHP & firebird, interbase.so compilieren ==
| |
| | |
| [[Linux.firebird]] | |
| | |
| == Interbase-Extension f? laden ==
| |
| | |
| Damit PHP auf Interbase/Firebird Datenbanken zugreifen kann, m?die Routinen, die das erm?chen, beim
| |
| Start von PHP als Erweiterung geladen werden. Dies geschieht mit Hilfe zweier Eintr䧥 in der "php.ini".
| |
| Erstens muss der Eintrag "extension_dir= " auf das Verzeichnis mit den Extension-Dlls gesetzt werden. Diese
| |
| befinden sich standardm䟩g 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:
| |
|
| |
| <u>Win32</u>
| |
| extension_dir = "C:\Programme\Php\extensions"
| |
| <u>Linux</u>
| |
| 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?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.
| |
| | |
| <u>Win32</u>
| |
| extension=php_interbase.dll
| |
| <u>Linux</u>
| |
| extension=interbase.so
| |
| | |
| Der WebShop erfordert, dass Timestamps im richtigen Format ?ben 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? Interbase-Anbindung zur Verf?stehen. Falls dies nicht so ist, liegt es vielleicht daran, das die "php.ini" im falschen Verzeichnis liegt (L?g 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䮤ern.
| |
| | |
| | |
| == XML-Remote-Procedure-Calls f? und DELPHI/KYLIX ==
| |
| | |
| Grundsä´ºliche 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 ...
| |
| | |
| == Verzeichnisschutz für den Admin-Bereich ==
| |
| | |
| Der Admin-Bereich des TWebShops sollte geschützt sein.
| |
| | |
| Dazu liefert TWebShop ab Rev 1.074 die nötigen Dateien:
| |
| .htaccess
| |
| .htpasswd
| |
| Diese müssen nun noch angepasst werden.
| |
| | |
| Inhalt .htaccess:
| |
| AuthType Basic
| |
| AuthName "Zugang zum WebShop-Admin-Bereich"
| |
| AuthUserFile "/srv/www/htdocs/twebshop/admin/.htpasswd"
| |
| require user admin
| |
| In der Datei .htaccess muss eventuell der Pfad zur Datei .htpasswd (AuthUserFile) korrigiert werden.
| |
| Wichtig dabei ist, dass der Pfad in Anführungszeichen steht.
| |
| Bei Bedarf kann auch der Username (admin) geändert werden.
| |
| | |
| Das Passwort befindet sich mit dem zugehörigen Usernamen in der Datei .htpasswd.
| |
| Es lautet standardmäßig "0000".
| |
| | |
| Dieses muss zur Sicherheit in jedem Fall geändert werden. Die mitgelieferte Datei .htpasswd sollte also nicht unverändert benutzt
| |
| werden und ist als reine Testmöglichkeit zur korrekten Funktion des Verzeichnisschutzes anzusehen.
| |
| Zum Neuerstellen der Datei liefert Apache unter Windows das Helferlein "htpasswd.exe."
| |
| \Apache2\bin\htpasswd.exe
| |
| Dieses erstellt über folgenden Befehl in der Eingabezeile eine neue .htpasswd Datei.
| |
| htpasswd.exe -cb .htpasswd user passwort
| |
| Hierbei "user" durch den Benutzernamen (z.B. admin) und "passwort" durch das neue Passwort ersetzt werden.
| |
| | |
| Beide .ht* Dateien werden im "/twebshop/admin"-Verzeichnis des TWebShops abgelegt.
| |
| | |
| Nun muss noch die Datei httpd.conf (Windows) bzw. die Datei default-server.conf (Linux) angepasst werden.
| |
| | |
| Die Dateien sind zu finden unter (bei Standardinstallation des Apache2):
| |
| Windows: C:\Programme\Apache Group\Apache2\conf\httpd.conf
| |
| Linux: /etc/apache2/default-server.conf
| |
| Darin muss beim <Directory> Eintrag zum DocumentRoot-Verzeichnis des Apache eine Änderung der Direktive AllowOverride vorgenommen werden.
| |
| Nach "AllowOverride" sollte "All" oder besser noch "AuthConfig" stehen.
| |
| <Directory "/srv/www/htdocs/">
| |
| ...
| |
| AllowOverride AuthConfig
| |
| ...
| |
| </Directory>
| |
| | |
| Fertig !!
| |
| | |
| Anmerkung für Perfektionisten:
| |
| | |
| Besser noch wäre für das "/admin"-Verzeichnis einen separaten <Directory> Eintrag vorzunehmen:
| |
| <Directory "/srv/www/htdocs/twebshop/admin/">
| |
| ...
| |
| AllowOverride AuthConfig
| |
| ...
| |
| </Directory>
| |
| Dies hat den Vorteil, das Apache nicht in jedem Unterverzeichnis seiner DocumentRoot nach vorhandenen .htaccess Dateien sucht, sondern nur im "/twebshop/admin"-Verzeichnis, was unnötigen Aufwand spart.
| |
| | |
| == Systemanforderungen beim Benutzer/Client ==
| |
| | |
| + Der benutzte Browser muss Cookies akzeptieren und annehmen. Ansonsten ist ein Login nicht m?ch.
| |
| Die Einstellungen findet man z.B. im IE unter Extras->Internetoptionen->Datenschutz
| |
| Hier sollte die Stufe "Mittel" eingestellt sein.
| |