WebShop: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Der webshop ruft externe Buchungsfunktionen, Details siehe hier [[ECommerce]].<br>
Der webshop verfügt über umfassende Verwaltungs und Diagnosefunktionen, Details siehe [[Webshop.Admin]].<br>
== Den Apache-Webserver installieren ==
== Den Apache-Webserver installieren ==


Zeile 6: Zeile 9:
   Im Index auf den Ordner "Binaries" klicken und danach auf den Ordner "Windows" bzw.  
   Im Index auf den Ordner "Binaries" klicken und danach auf den Ordner "Windows" bzw.  
   "Linux".
   "Linux".
   Die gewünschte Datei herunterladen und entpacken.
   Die gew?e Datei herunterladen und entpacken.
   Das Setup Programm ausführen. An entsprechender Stelle "Service für alle User bereit  
   Das Setup Programm ausf? An entsprechender Stelle "Service f?e User bereit  
   stellen" auswählen.
   stellen" ausw䨬en.


   Zum Test, ob der Server läuft, im Internet Browser einfach "localhost" oder die  
   Zum Test, ob der Server l䵦t, im Internet Browser einfach "localhost" oder die  
   IP-Adresse "127.0.0.1" eingeben. Dann müsste folgender Text erscheinen:  
   IP-Adresse "127.0.0.1" eingeben. Dann m?folgender Text erscheinen:  
   "Es klappt! Der Apache-Webserver ist auf dieser Website installiert!"
   "Es klappt! Der Apache-Webserver ist auf dieser Website installiert!"


== Den Apache-Webserver konfigurieren ==
== Den Apache-Webserver konfigurieren ==


   Nach der Installation der Apache Software ist Startmenü um ein Verzeichnis reicher.
   Nach der Installation der Apache Software ist Startmen?in Verzeichnis reicher.
   Dort kann man unter anderem die Apache-Konfigurations Datei "httpd.conf" editieren.
   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"  
   Den Eintrag "DocumentRoot=" sollte man auf das Verzeichnis setzen in dem die "index.html"  
Zeile 22: Zeile 25:
   Den Eintrag <Directory= > sollte man auf das gleiche Verzeichnis setzen.
   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  
   Das sollte f?ste reichen. Jedoch lassen sich in dieser Datei noch wesentlich mehr Funktionen  
   einstellen, was zu erklären über den Umfang dieses HowTos hinausgehen würde.
   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.
  Die einzelnen Einträge sind in englisch kommentiert und erklären sich somit (fast) von selbst.




Zeile 32: Zeile 34:
   Am besten die neuste Version als .zip Datei herunterladen (auch falls eine .exe Datei vorliegen sollte).
   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  
   Nach dem Download die Datei entpacken, z.B. in "C:\Programme\Php". Im Folgenden nehmen  
   wir an, wir hätten dieses Verzeichnis gewählt.
   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  
   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.
   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.
   Besser ist es allerdings "C:\Programme\Php" zu Umgebungsvariablen PATH hinzuzuf?da es zuk?e Updates erleichtert.
   Es muss dann nämlich nichts mehr kopiert werden.
   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"  
   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 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
   (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).
     in dessen conf-Datei angegeben werden, siehe n䣨stes Kapitel unter PHP5).


   Dann muss sie im Editor geöffnet und der Eintrag "register_globals = Off" muss auf "On" gesetzt werden.  
   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 übergeben werden können.
   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,
   Ausserdem muss "register_argc_argv = On" gesetzt werden. Dies ist in der "php.ini-recommended" auf "Off" gesetzt,
   um die Performance zu verbessern.
   um die Performance zu verbessern.
Zeile 57: Zeile 59:


   Angenommen PHP ist auf dem Rechner im Verzeichnis "C:\Programme\Php" installiert (siehe vorheriges Kapitel).
   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  
   Jetzt wird ?as Startmen?Apache-Konfigurations-Datei "httpd.conf" im Editor (Notepad) ge?et und  
   ans Ende oder unter eine Stelle mit ähnlichen Einträgen werden folgende drei Zeilen eingefügt:
   ans Ende oder unter eine Stelle mit 䨮lichen Eintr䧥n werden folgende drei Zeilen eingef?  PHP4:
 
  PHP4:
   LoadModule php4_module "C:/Programme/Php/sapi/php4apache.dll"
   LoadModule php4_module "C:/Programme/Php/sapi/php4apache.dll"
   AddModule mod_php4.c
   AddModule mod_php4.c
Zeile 71: Zeile 71:
   PHPIniDir "C:/Programme/Php"
   PHPIniDir "C:/Programme/Php"


   Eventuell ist es möglich, dass die mittlere Zeile ("AddModule...") schon an anderer Stelle in der Datei steht,  
   Eventuell ist es m?ch, 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.
   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  
   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.
   Dateiname "php{Version}apache2.dll" stehen.


   Nach diesen Änderungen sollte PHP unter Apache laufen.  
   Nach diesen Ä®derungen sollte PHP unter Apache laufen.  
   Ob PHP funktioniert, sieht man, wenn man das im Anhang vorhandene Skript "phpinfo.php"
   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.
   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.  
   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  
   Sollte dieser sich von dem im vorigen Kapitel angegebenen Windows-Verzeichnis unterscheiden, sollte die Ini  
Zeile 86: Zeile 86:
   Weitere Informationen zur Installation von PHP stehen in der Datei "C:\Programme\Php\install.txt".
   Weitere Informationen zur Installation von PHP stehen in der Datei "C:\Programme\Php\install.txt".


== Interbase-Extension für PHP laden ==
== Interbase-Extension f? laden ==


Damit PHP auf Interbase/Firebird Datenbanken zugreifen kann, müssen die Routinen, die das ermöglichen, beim  
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äge in der "php.ini".
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  
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  
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".
wurde, liegen die Erweiterungs-Dlls im Verzeichnis "C:\Programme\Php\extensions".
Der Eintrag in der "php.ini" lautet dann:
Der Eintrag in der "php.ini" lautet dann:
Zeile 100: Zeile 100:
   extension_dir = "/usr/lib/php/extension"
   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.
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>
   <u>Win32</u>
Zeile 107: Zeile 107:
   extension=interbase.so
   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:
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]
   [Interbase]
   ibase.timestampformat=%m-%d-%Y %H:%M:%S
   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.
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 ==
== Session Verzeichnis ==
Zeile 121: Zeile 121:
   session.save_path = C:/Programme/Apache Group/Apache/Sess
   session.save_path = C:/Programme/Apache Group/Apache/Sess
    
    
   abändern.
   ab䮤ern.




== XML-Remote-Procedure-Calls für PHP und DELPHI/KYLIX ==
== XML-Remote-Procedure-Calls f? und DELPHI/KYLIX ==


   Grundsätzliche Infos zu xml-rpc: http://www.xmlrpc.com
   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  
   a) Aus dem Anhang die php-xmlrpc.zip entpacken und die Datei "xmlrpc.inc" ins  
Zeile 145: Zeile 145:
== Systemanforderungen beim Benutzer/Client ==
== Systemanforderungen beim Benutzer/Client ==


   + Der benutzte Browser muss Cookies akzeptieren und annehmen. Ansonsten ist ein Login nicht möglich.
   + 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
     Die Einstellungen findet man z.B. im IE unter Extras->Internetoptionen->Datenschutz
     Hier sollte die Stufe "Mittel" eingestellt sein.
     Hier sollte die Stufe "Mittel" eingestellt sein.

Version vom 4. August 2005, 11:37 Uhr

Der webshop ruft externe Buchungsfunktionen, Details siehe hier ECommerce.
Der webshop verfügt über umfassende Verwaltungs und Diagnosefunktionen, Details siehe Webshop.Admin.

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".

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:

  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?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 ?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 ...
 

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.