PhPepperShop Version 2.6: Update ================================ Inhaltsverzeichnis ------------------ 1.) Einleitung 2.) Welche Daten werden zur neuen Shopversion übernommen? 3.) Info zum Update über mehrere Versionen 4.) Vorbereitungen / Prerequisites 5.) Updatevorgang 6.) Zusätzliche Informationen 7.) Hinweise zur Deinstallation des Webshop-Systems 8.) Datei-Informationen 1.) Einleitung / Systemanforderungen ------------------------------------ Diese Updateanleitung richtet sich an Shopadministratoren oder technikverantwortliche Personen für die Shop- Betreuung. Es müssen SQL-Dateien appliziert und PHP-Dateien mit UNIX-Zeilenumbrüchen editiert werden können. Dieses Update des Shops betrifft sowohl das Installationsprogramm und die PHP-Scripte als auch die Datenbank. Man kann dieses Update von der Shopversion 2.5.1 (v.2.5 mit Service Pack 1) oder von der Shopversion 2.5.2 (internes Release) aus angehen. Ältere Shopversionen müssen zuerst auf die Shopversion 2.5.1 upgedated werden, insbesondere auch die Shopversion 2.5.0. Bitte beachten, dass ab der PhPepperShop Version 2.6.0 neue Systemmindestanforderungen gelten (diese wurden seit der PhPepperShop Version 1.0.5 zum ersten Mal angehoben): - PHP 5.2 - MySQL 4.1 Eine Detaillierte Liste der Systemanforderungen findet man hier: http://www.phpeppershop.com/faq.php#3 2.) Welche Daten werden zur neuen Shopversion übernommen? --------------------------------------------------------- Dieses Shopupdate übernimmt folgende Daten aus dem bestehenden PhPepperShop v.2.5: - Artikel - Kategorien, - Kunden - Bestellungen - Shop-Konfiguration - Layouteinstellungen 3.) Info zum Update über mehrere Versionen ------------------------------------------ Eine Kurzanleitung zum Update über mehrere Shopversionen hinweg findet man in folgender Datei: http://www.phpeppershop.com/phpeppershop_files/shopupdate_ueber_mehrere_versionen.txt 4.) Vorbereitungen / Prerequisites ---------------------------------- Bei älteren Versionen des PhPepperShop (vor v.2.6.0) mussten die Update-SQLs jeweils noch getrennt im Kunden- account heruntergeladen werden. Seit der Version 2.6 liegen die beiden Dateien update.sql und update_zwei_db_user.sql im Admin-Unterverzeichnis: {shop_verzeichnis}/shop/Admin. SQL-Updatedateien von älteren Shopversionen sind in Ihrem Kundenaccount des PhPepperShop Verkaufsystems erreichbar. Gehen Sie dazu ins Verkaufssystem auf http://www.phpeppershop.com/shop/ und melden Sie sich links an. Nun sehen Sie im Abschnitt Downloads alle verfügbaren Dateien, inkl. den Update-SQLs. Anmerkung: Es wird ein aktiver PhPepperShop Account vorausgesetzt, ansonsten muss noch eine Lizenzverlängerung erworben werden. 5.) Updatevorgang ----------------- 5.1) Wenn man eigene Shopbuttons und Hintergründe erstellt hat und verwendet, sollte man von diesen Dateien zuerst ein Backup erstellen (siehe Anleitung 'PhPepperShop Dokumentation Manuals'). Wenn man diese Dateien noch ausserhalb des Shopver- zeichnisses gespeichert hat, kann man auf das Backup auch verzichten. Auch muss man unbedingt via Shop-Backup, phpMyAdmin oder z.B. mysqldump noch ein Backup der Datenbank anlegen, sodass man im Notfall den alten Zustand des Shops schnell wiederherstellen kann. Wir empfehlen ein Backup aller Dateien des Shops und der Shopdatenbank anzulegen und zu sichern. 5.2) Sicherheit: Sind noch alle Angaben, welche bei der Installation des Shops benutzt wurden vorhanden? Wenn nicht, schauen Sie diese bitte nochmals nach (Dateien shopname_create.sql, initialize.sql, ADMIN_initialize.sql). Die Eingaben müssen bei der erneuten Installation (Teil des Updatevorgangs) nochmals angegeben werden. Gemeint sind folgende Daten: Datenbankbenutzername, Passwort des Datenbankbenutzers, Name des Datenbankrechners, Name der Shopdatenbank. Beim Betrieb mit zwei Datenbankbenutzern sind zusätzlich noch der Benutzername und das Passwort des Kunden-Datenbankbenutzers gefragt. 5.3) Das alte Shopverzeichnis sollte man aus Sicherheitsgründen zuerst umbenennen und erst NACH erfolgreichem Update löschen (zuerst also in der Konsole schreiben: mv shopname shopname_old, oder via FTP eine Kopie davon herunterladen). Auch von der aktuellen Shopdatenbank muss man (z.B. via phpMyAdmin oder Shop DB-Backup) ein Backup sicher hinterlegen. 5.4) Externe PhPepperShop Module: Falls man externe PhPepperShop Module benutzt, so sollte man diese deinstallieren und nach dem Upgrade aktualisierte Versionen neu einspielen. Nehmen Sie hier bei Unklarheiten am besten direkt mit dem jeweiligen Modulhersteller Kontakt auf. Anmerkung: Beim Deinstallieren gehen grundsätzlich alle dieses Modul betreffende Informationen in der Datenbank verloren. Installation der neuen PhPepperShop Module: Auf http://www.phpeppershop.com/shop mit Benutzernamen und Passwort einloggen, gewünschtes Modul oben bei "Downloads" anwählen und herunterladen. Dieses danach gemäss Anleitung installieren. 5.5) Hier teilt sich die Aufgabenstellung, je nach vorheriger Shopinstallation (Anm. Windows Anwender müssen in jedem Fall den Weg 'Installation OHNE Telnet/SSH' wählen): a) Installation via Telnet/SSH: Wir installieren nun den neuen Shop (folgende Zeilen bitte sehr genau durchlesen, Gefahr von Datenverlust!): - Den PhPepperShop v.2.6 herunterladen (Downloadbeschreibung: Siehe Anfang dieser Datei) - Den Shop Sourcecode im Webverzeichnis entpacken und ins entpackte Verzeichnis phpeppershop_src wechseln - perl ./config.pl aufrufen und damit die Installationsroutine starten (Achtung: config.pl lässt sich NICHT via Browser starten, es muss via Kommando in einer UNIX-Shell aufgerufen werden!) - Beim Teil 5 der Installation, wo es um das Einfügen der Datenbank ins MySQL-DBMS geht, muss man UNBEDINGT n für NEIN wählen, da die schon existierende v.2.5 Datenbank später separat auf den Shop v.2.6 upgedated wird. - Es wurde nun ein Shop erzeugt, dieser liegt im Verzeichnis mit dem Namen der Datenbank (ev. also noch umbenennen). - Nun kommen wir zum Datenbank-Update, welches seit v.2.6.0 über ein PHP-Script ausgeführt wird: Dazu öffnet man im Browser die URL {shop_verzeichnis}/shop/Admin/vers_db_updater.php. Das Datenbank-Update läuft Menü geführt ab. Man sollte sich bei grösseren Datenmengen etwas Zeit einrechnen. - Alternativ kann man das Update-Script auch via Kommandozeile einlesen. Dazu MUSS man aber mit dem DB-Updater zuerst das erste Mal auf den Weiter-Button klicken, da nur dieser Button die Datenbankstruktur auf v.2.5.2 hebt und einige Strukturelle Anpassungen vornimmt (Vorbereitung für das Datenbankupdate auf die neue Version)! Danach kann man die update.sql auch mit folgendem Aufruf aus der Shell starten: mysql -u dbuser -p [-h dbhost] dbname < {shop_verzeichnis}/shop/Admin/update.sql dbuser durch den Datenbank user ersetzen, -h dbhost wird nur benötigt, wenn die Datenbank auf einem anderen Rechner liegt als der, auf dem man den Shop jetzt installiert, dann muss dbhost durch den Hostnamen des Rechners ersetzt werden, dbname durch den Namen der Datenbank ersetzen. ACHTUNG: Das Ausführen der update.sql kann abhängig von der Anzahl Artikel im Shop SEHR lange dauern, da einige neue Indizes aufgebaut werden. Dies kann phpMyAdmin mit einer moderaten max_execution_time schnell überfordern und dann zu Problemen führen! Falls man sehr viele Artikel besitzt (100'000+) sollte deshalb Kontakt mit dem Provider aufnehmen und ihn bitten die Datei update.sql via Kommandokonsole einzulesen. Wichtiger Hinweis: Sollte es Während des Ausführens dieser Datei zu einem Fehler und Unterbruch kommen, kann man die Datei nicht einfach nochmals starten, da einige Befehle nur einmalig verwendet werden können. Folglich muss man dann schauen, bis wohin die Datei durchgelaufen ist und nur die Kommandos ab dort laufen lassen. - Wenn der PhPepperShop mit zwei Datenbankbenutzern betrieben wird, müssen wir noch spezielle Rechte für den kundenseitig verwendeten, nicht privilegierten Datenbankbenutzer einlesen. Dies machen wir mit der SQL-Datei update_zwei_db_user.sql. Bevor wir diese aber laufen lassen können, müssen wir sie bearbeiten und folgende Begriffe ersetzen: {hostname} => Rechnername des Datenbankrechners, {shop_db} => Name der Shopdatenbank {shopuser} => Name des nicht privilegierten, kundenseitig verwendeten, zweiten Datenbankbenutzers, {grantor} => Name des Benutzers, mit welchem diese SQL-Datei eingelesen wird (z.B. root) Beim ersetzen müssen die geschweiften Klammern {} mit ersetzt werden, die doppelten Anführungszeichen aber nicht! Um diese Datei einlesen zu koennen, muss man MySQL Root-Rechte besitzen! b) Installation OHNE Telnet/SSH -> via FTP und Anleitung 'Installation ohne Telnet/SSH': - Zuerst sollte man den neuen Shop (v.2.6) herunterladen und entpacken. Man muss nun nochmals (etwas mühsam) in einem Editor gemäss der Anleitung 'Installation ohne Telnet/SSH' alle Einstellungen an den Scripts vornehmen. Es muss aber vorerst nur das Kapitel 5 durchgearbeitet werden. - Nun muss man alle neuen Shopdateien hochladen (an genau den Ort, bei welchem zuvor die alte Shopversion abgespeichert war). - Nun muss nach der Anleitung 'Installation ohne Telnet/SSH' das Kapitel 8 durchgearbeitet werden: Datei- und Verzeichnisrechte setzen. Dies ist ein wichtiger Punkt, welcher UNBEDINGT sorgsam erledigt werden muss. Neu gibt es seit der Shopversion 2.6 dort auch einen Link zu einer Textdatei, welche alle zu taetigenden FTP-Befehle enthält. - Nun kommen wir zum Datenbank-Update: - Das DB-Update wird seit v.2.6.0 über ein PHP-Script ausgeführt wird: Dazu öffnet man im Browser die URL {shop_verzeichnis}/shop/Admin/vers_db_updater.php. Das Datenbank-Update läuft Menü geführt ab. Man sollte sich bei grösseren Datenmengen etwas Zeit einrechnen. - Falls man die update.sql manuell einspielen möchte, kann man wie folgt vorgehen: - Wichtig ist, dass VORHER zuerst die DB-Struktur auf einen gemeinsamen Stand gebracht wird. Dies macht man mit dem Aufruf der folgenden Datei: {shop_verzeichnis}/shop/Admin/shop_db_clean.php?fix_updated_db=true - Falls man sehr viele Artikel besitzt (100'000+) sollte deshalb Kontakt mit dem Provider aufnehmen und ihn bitten die Datei update.sql via Kommandokonsole einzulesen! Alternativ kann man die Datei auch via phpMyAdmin einlesen. 5.6) Nun müssen folgende Administrationsmenüs geöffnet und ihre Einstellungen überprüft werden (via Webbrowser). Zuerst gehen wir in die Shopadministration des neu installierten Webshops und klicken dort als aller erstes auf die Rubrik 'Shop Konfiguration'. Hier gehen wir ganz nach unten und klicken dort auf den Link, der mit 'Datenbank aufräumen' betitelt ist. ES IST WICHTIG, DASS DIES DER ERSTE SCHRITT IN DER ADMINISTRATION IST! Dieser Schritt kann bei Shops mit sehr vielen Artikeln etwas dauern... Nun MÜSSEN folgende Menüs geöffnet und neu gespeichert werden, damit der Shop in einen konsistenten Zustand kommt: - Allgemeine Shopeinstellungen (Hier bitte alle Einstellungen nochmals überprüfen!). Dieser Schritt ist speziell wichtig für Shopbetreiber, welche eine Anbindung an den Payment Service Provider SIX Card Solutions Saferpay haben. Falls eine Anbindung an PostFinance yellowpay (nicht PostFinance E-Payment) aktiv ist, bitte prüfen, ob die Einstellung immediate/deferred immer noch der ursprünglichen Einstellung entspricht. - Layout Management -> hier gleich auf Speichern klicken und erst nach diesem Vorgang Änderungen anbringen - MwSt Management (nur falls aktiviert / falls der Shop MwSt-pflichtig ist) - Cronjob einrichten für Garbage Collection DB-Job: UNIX/Linux-Systeme: wget http[s]://{domainname.tld}/{webshop_verzeichnis}/shop/Admin/garbage_collection.php Windows: HTTP-Aufruf auf folgende Datei: http[s]://{domainname.tld}/{webshop_verzeichnis}/shop/Admin/garbage_collection.php Um einen bestehenden .htaccess Schutz weiter zu verwenden, einfach die Datei .htaccess (und falls vorhanden auch .htpasswd) vom {alter_shop}/shop/Admin-Verzeichnis kopieren und im neuen Shopverzeichnis wieder im Admin Unterverzeichnis ablegen. Nun noch die Produktebilder (altershop/shop/ProdukteBilder Ordner) und die ProdukteDetails (altershop/shop/ProdukteBilder Ordner) in den neuen Shop kopieren und sicherstellen, dass deren Dateizugriffsrechte korrekt sind (nur UNIX/Linux-Systeme mit PHP als Webserver-Modul). 5.7) Falls man eine eigens angepasste Startseite verwendet hat, muss man die speziell in den neuen Shop übernehmen. Das heisst, man kopiert die Startseite ({alter_shop}/shop/language/de/html_templates/start_content.html) in den neuen Shop: {neuer_shop}/shop/language/de/html_templates/start_content.tpl.html. Falls der Shop mehrsprachig eingesetzt wurde, sollte man diesen Vorgang für alle verwendeten Sprachen wiederholen (dann in den Pfaden de durch die jeweilige Sprache ersetzen - z.B. en für Englisch). Die Startseite kann später bequem in der Shopadministration bearbeitet werden (Untermenü: Startseite, Footer & Impressum bearbeiten). 5.8) Falls man den PhPepperShop mit eingeschalteter Mehrsprachigkeit betreibt: Da auch die jeweiligen Übersetzungsdateien geändert haben, muss man auch diese überarbeiten, falls man selbst Textänderungen vorgenommen hatte. Die Dateien befinden sich immer noch am selben Ort: {shopverzeichnis}/shop/language/xy/localetext.inc.php, wobei xy für den Sprachcode steht - z.B. de für Deutsch oder fr für Französisch. Anmerkung: Ev. ist eine v.2.5 Sprachdatei noch nicht für die Shopversion 2.6 verfügbar! Die Sprachsets findet man hier: http://www.phpeppershop.com/sprachsets/sprachsets.php. Im Webshop gibt es übrigens einen speziellen Editor zur Bearbeitung der übersetzten Textelemente (Lokalisierungseditor im Sprachen Menü). 5.9) Layout Hinweise: Da die HTML-Templates des PhPepperShops umfangreich überarbeitet wurden, kann man bearbeitete PhPepperShop v.2.5 HTML-Templates nicht einfach im Shopsystem v.2.6 weiter einsetzen. Eigene Änderungen muss man nochmals neu einarbeiten. Informationen zur Verwendung der Templates findet man im Shopadministrationshauptmenü unten auf Hilfethemen klickt und im neu aufgegangenen Fenster auf 'Verwendung des PhPepperShop Templatesystems'. Hier und im Hilfetext des Layout-Managements erfährt man auch Details über die Struktur des PhPepperShop Designs. 6.) Zusätzliche Informationen ----------------------------- 6.1) Falls Probleme auftreten sollten --> FAQs --> Forum auf http://www.phpeppershop.com/ (bitte die vorherige Shopversion erwähnen). 6.2) Informationen für Kunden von Saferpay: Die Saferpay Anbindung wurde überarbeitet und erweitert. Falls man also manuell Änderungen in der Datei shop/saferpay_config.php vorgenommen hat, muss man diese unbedingt in die NEUE saferpay_config.php übernehmen und auf keinen Fall die alte Datei weiter verwenden. 7.) Hinweise zur Deinstallation des Webshop-Systems --------------------------------------------------- Hinweise zur Deinstallation: Man kann das Update NICHT mehr rückgängig machen (D.h. man könnte theoretisch schon, aber wir bieten dafür keinen automatisierten Mechanismus oder eine komplexe Anleitung an) - deshalb am einfach das Backup behalten! Deinstallation des Shops, allgemeiner Teil: Zuerst in der PhPepperShop Administration im Untermenü 'Externe PhPepperShop Module' alle Module deinstallieren. a) Deinstallation via Telnet/SSH: - Mittels Aufruf von perl ./remove.pl kann der PhPepperShop auf der Kommandozeile Menü geführt deinstalliert werden. b) Deinstallation OHNE Telnet/SSH: - Um den Shop zu deinstallieren, wenn man via FTP und der Anleitung 'Installation ohne Telnet/SSH' gearbeitet hat einfach die SQL-Datei /templates/template_del_tables_only.sql ausführen. Es werden daraufhin alle Shoptabellen gelöscht. Nun kann auch das PhPepperShop-Verzeichnis gelöscht werden und der Shop ist somit deinstalliert. 8.) Datei-Informationen ----------------------- PhPepperShop, v26_updateinfo.txt, fjo Autoren: ©2001-2010, Jose Fontanil, Reto Glanzmann, Glarotech GmbH Version 2.6, basierend auf ER-Diagramm v.2.6.0.2(e) CVS-Version / Datum: $Id$ (26.01.2010) Sicherheitsstatus: *** ADMIN *** Updateanleitung (v.2.5.1 oder v.2.5.2 zu v.2.6) <>