PhPepperShop Version 3.0.0: Update ================================== Inhaltsverzeichnis ------------------ 1.) Einleitung / Systemanforderungen 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.) Weitere Hinweise 9.) Datei-Informationen 10.) Verzeichnisrechte 1.) Einleitung / Systemanforderungen ------------------------------------- Diese Updateanleitung richtet sich an Shopadministratoren oder Technik-Verantwortliche 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.6.1 aus angehen. Ältere Shopversionen müssen zuerst auf die Shopversion 2.6.1 upgedated werden, siehe hierzu Link im Kapitel 3. Bitte beachten, dass für die aktuellle PhPepperShop Version die folgenden Systemmindestanforderungen gelten: - 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.6.1: - Artikel - Kategorien, - Kunden - Bestellungen - Shop-Konfiguration - Die meisten Layouteinstellungen, einige neue Buttons müssen gegebenenfalls zuerst noch bearbeitet werden 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 ----------------------------------- SQL-Datenbank Update: Das SQL-Update von 2.6.1 zu 3.0.0 (neuster Update) wird im Shop selbst schon mitgeliefert: 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. Es wird ein aktiver PhPepperShop Account benötigt, ansonsten muss noch eine vergünstigte 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. In Punkt 5.3 wird ein sicheres Vorgehen gezeigt. *** 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 jetzt nochmals nach (Dateien {shop_verzeichnis}/database/{shopname}_create.sql und für die Kundenseite {shop_verzeichnis}/shop/initialize.sql und für die Shop-Administration: shop/Admin/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 von Drittherstellern benutzt, so sollte man diese am besten 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 ein- loggen, 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 SSH: Wir installieren nun den neuen Shop (folgende Zeilen bitte sehr genau durchlesen, Gefahr von Datenverlust!): - Den PhPepperShop v.3.0.0 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, PERL muss installiert sein!) - 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.6.1 Datenbank später separat auf den Shop v.3.0.0 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 für v.3.0.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. SEHR WICHTIG: Vorher keine Administrationsdatei öffnen! Nur den direkten Link zu vers_db_updater.php verwenden, da sonst die Versionsnummer des Shops zu früh inkrementiert wird. - 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 die Aktion hinter diesem Button die Strukturelle Anpassungen an der Datenbank vornimmt (Vorbereitung für das Datenbankupdate auf die neue Version)! Danach kann man die Datei 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 (50'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. Den letzten, nicht mehr erfolgreich abgearbeiteten Befehl sieht man am MySQL Fehler an. - 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.3.0.0) herunterladen und entpacken. Man muss nun nochmals in einem geeigneten 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 kommen wir zum Datenbank-Update: - Das DB-Update wird seit v.2.6.1 ü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 (50'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. - Nun müssen noch die Datei- und Verzeichnisrechte gesetzt werden. Dies ist ein wichtiger Punkt, welcher UNBEDINGT sorgsam erledigt werden muss. Neu gibt es seit der Shopversion 3.0.0 dafür ein PHP-Script, welches die Arbeit übernehmen kann. Es ist FTP-basiert, da mit PHP entsprechende Anpassungen nicht in jeder Systemkonfiguratin umgesetzt werden kann: - {shop_verzeichnis}/shop/Admin/shop_berechtigungen_clean.php 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 erste Aktion 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 - Cronjob einrichten für Garbage Collection DB-Job (periodischer Aufruf, z.B. 1 mal täglich): - UNIX/Linux-Systeme: wget --user=shopadmin --password={PASSWORT} http://{www.domain.tld}/shop/Admin/garbage_collection.php?src=shopadmin -O garbage_collection.log - Windows: HTTP-Aufruf auf folgende Datei: http[s]://{domainname.tld}/{webshop_verzeichnis}/shop/Admin/garbage_collection.php (wget ist auch für Windows erhältlich, ansonsten müssen Benutzername und Passwort noch in die URL eingearbeitet werden) 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/ProdukteDetails 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 alte, vorher verwendete v.3.x Sprachdatei noch nicht für die Shop- version 3.0 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.6.1 HTML-Templates nicht einfach im Shopsystem v.3.0.0 weiter einsetzen. Eigene Änderungen muss man gegebenenfalls 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. Weiter gibt es die Anleitung, wie man im PhPepperShop das Design anpassen kann für Grafiker: http://www.phpeppershop.com/phpeppershop_files/design_guidelines_grafiker.pdf In den Bereich Layout gehört auch die seit Shopversion 3.0 verfügbare Bildharmonisierung. Die Bildharmonisierung stellt sicher, dass alle Artikelbilder immer im gleichen Format vorhanden sind. Nach einem Update sollte man diese Bildharmonisierung auf den Bilddateien durchführen (nur dann möglich, wenn Bilder im Shop lokal vorhanden sind und nicht per URL verlinkt sind): 1.) Shop-Administration - Layout-Managemtn - Artikel: Hier alle Einstellungen konfigurieren: Bildgrössen, Breite/Höhe, etc. 2.) Shop-Administration - Shop-Konfiguration - nach unten scrollen - Kleinansichten erzeugen und aktualisieren (der zweite Befehl startet initial die Bildharmonisierung. Wenn es viele Bilder im Shop gibt, muss man diese Seite mehrmals aufrufen, wenn dort steht, dass nicht alle Bilder auf einmal harmonisiert werden konnten.) 6.) Zusätzliche Informationen ------------------------------ 6.1) Falls Probleme auftreten sollten --> FAQs --> Forum auf http://www.phpeppershop.com/ (bitte die vorherige Shopversion erwähnen). --> Tritt beim Update mit dem vers_db_updater.php ein SQL-Fehler auf, muss man dieses Problem zuerst manuell (z.B. via MySQL Shell oder phpMyAdmin) lösen und danach die Seite nochmals neu laden. --> Fehler: "Too many keys specified; max 64 keys allowed (1069)": Dies kann vorkommen, wenn man vorher schon die Spalten basierte Mehrsprachigkeit verwendet hat und dabei mehrere Sprachen mit vielen lokalisierten Zusatzfeldern aktiv hatte. Die MySQL Datenbank Engine 'MyISAM' unterstützt nur max. 64 Indizes pro Tabelle. Nun empfiehlt es sich von den fremd- sprachigen Artikelzusatzfelder in der Tabelle 'artikel' jeweils die Indizes dort zu löschen, wo Felder nicht in Such- anfragen vorkommen. 6.2) Mehrsprachigkeit: Der PhPepperShop verfügt über zwei Mehrsprachigkeitsmodi, seit der Version 3.0 wurde die Standardeinstellung auf den Spalten basierten LANGUAGE_DB_FIELD_MODE umgeschaltet. Wenn man also bis jetzt schon einen mehrsprachigen Shop verwendet hat und falls man also in der originalen Datei {shop_verzeichnis}shop/config.inc.php define('LANGUAGE_DB_FIELD_MODE',false); vorfindet, so muss man die neue config.inc.php öffnen und dort von true auf false abändern, so dass wieder die klassische Mehr- sprachigkeit verwendet wird. Wir empfehlen zudem hier in Zukunft einen Wechsel vorzunehmen. 6.3) 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. 6.4) In Deutschland gilt seit dem 1. August 2012 eine Gesetzesänderung, welche gemeinhin als "die Button-Lösung" umschrieben wird. Wir haben in der Anleitung 'Erste Schritte' einen eigenen Abschnitt eingeführt, mit welchem man den PhPepperShop entsprechend gesetzeskonform konfigurieren kann: http://www.phpeppershop.com/phpeppershop_files/erste_schritte.pdf (siehe Kasten, Seite 3) 6.5) In der Schweiz gelten seit April 2012 neue Regelungen für das Impressum. Bitte entsprechende Angaben im Impressum einfügen: Mehr Infos hier: www.phpeppershop.com/blog/neue-gesetze-und-impressumspflicht-ab-april-2012-in-der-schweiz-2/ Hier eine Vorlage für die Verwendung im Impressumstext (HTML-Code): Impressumstext arbeitet neu mit Variablen. Wenn man möchte, kann man diese im eigenen Shop verwenden, hier eine Vorlage: (Datei: {shop_verzeichnis}/shop/language/XY/content/impressum.tpl.html)
{anschrift}
{kontaktdaten}
Geschäftsführer: HIER AUSFUELLEN