Update PepperShop Version 8

Benötigte Lesezeit: 11 Minuten


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 7.0.0 aus angehen. Ältere Shopversionen müssen zuerst auf die Shopversion 7.0.0 aktualisiert werden, siehe hierzu Link im Kapitel 3.

Bitte beachten, dass für die aktuelle PepperShop Version die folgenden neuen Systemanforderungen gelten:

  • PHP 7.2, 7.3 [7.4 noch nicht zertifiziert]
  • MySQL 5.6 / MariaDB 10.2 (stark empfohlen: MySQL 5.7 mit InnoDB Storage Engine)

Eine detaillierte Liste der verbindlichen Systemanforderungen findet man hier: https://www.peppershop.com/faq.php#3

Welche Daten werden zur neuen Shopversion übernommen?

Dieses Shopupdate übernimmt folgende Daten aus dem bestehenden PepperShop (mindestens v.7.0.0):

  • Artikel
  • Kategorien
  • Kunden
  • Bestellungen
  • Shop-Konfiguration

Info zum Update über mehrere Versionen

Eine Kurzanleitung zum Update über mehrere Shopversionen hinweg findet man in der Kurzanleitung PepperShop Update über mehrere Versionen.

Vorbereitungen / Prerequisites

SQL-Datenbank Update: Die SQL-Update Anweisungen ab Version 5.0.0 bis zu 8.0.0 (neustes Update) werden bereits mitgeliefert: Dateien im Admin-Unterverzeichnis: {shop_verzeichnis}/shop/Admin/update_sqls.

SQL-Updatedateien von älteren Shopversionen sind in Ihrem Kundenaccount des PepperShop Verkaufsystems erreichbar. Gehen Sie dazu ins Verkaufssystem auf https://www.peppershop.com/shop/ und melden Sie sich an. Nun sehen Sie im Abschnitt Downloads alle verfügbaren Dateien inkl. den Update-SQLs für ältere Shopversionen.

Es wird ein aktiver PepperShop Account benötigt, ansonsten muss noch eine vergünstigte Lizenzverlängerung* erworben werden.

Wir empfehlen ein Backup ALLER Dateien des Shops und der Shopdatenbank anzulegen und zu sichern.

Updatevorgang

  1. Nochmals: Wir empfehlen unbedingt vor Beginn der Arbeiten ein Backup der Datenbank und aller Dateien des Shops anzulegen, sodass man im Notfall den alten Zustand des Shops schnell wiederherstellen kann. In Punkt 3 wird ein sicheres Vorgehen gezeigt.

  2. Sicherheit: Sind noch alle Angaben, welche bei der Installation des Shops benutzt wurden, vorhanden? Wenn nicht, schauen Sie diese bitte jetzt nochmals nach: PepperShop bis und mit Version 6.0:

    • {shop_verzeichnis_neu}/shop/Admin/ADMIN_initialize.php –> für die Shop-Administration (Backups)
    • {shop_verzeichnis_neu}/shop/Admin/ADMIN_backup.php –> für die Shop-Administration
    • {shop_verzeichnis_neu}/shop/initialize.php –> für die Kundenseite

    In der Version 7 wird der Datenbankzugriff in einer Datei erfasst. Aufgrund diverser Security-Optimierungen ist es also nur noch möglich, einen Benutzer anzugeben: {shop_verzeichnis_neu}/shop/Admin/config_admin.inc.php

    WICHTIG: Auf keinen Fall einfach die ganze Datei kopieren, nur die Datenbank Zugriffsdaten auslesen. 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.

  3. Das alte Shopverzeichnis sollte man aus Sicherheitsgründen zuerst umbenennen und erst NACH erfolgreichem Update löschen

  • Variante SSH: Zuerst also in der Konsole schreiben: cp -pr shopname shopname_old (ACHTUNG: Erstellt eine Online-Kopie)
  • Variante (S)FTP: (z.B. via FileZilla Programm) eine Kopie davon herunterladen

Auch von der aktuellen Shopdatenbank muss man (z.B. via phpMyAdmin oder Backup Programm des Hosting Anbieters) ein Backup sicher hinterlegen.

  1. Externe PepperShop Module: Falls man externe PepperShop 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 PepperShop Module: Auf https://www.peppershop.com/shop/ mit Benutzernamen und Passwort einloggen, gewünschtes Modul oben bei “Downloads” anwählen und herunterladen. Dieses NACH diesem Update gemäss Anleitung installieren. Aller meistens reicht es hier, die Dateien neu zu überspielen, aber bitte entsprechend schauen.

  2. 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 PepperShop v.8.0.0 herunterladen (Downloadbeschreibung: Siehe Anfang dieser Datei)
    • Den Shop Sourcecode im Webverzeichnis entpacken und ins entpackte Verzeichnis peppershop_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!)
    • Datenbank Namen und Benutzer wie bei der vorherigen Version eintippen
    • Beim letzten Teil 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.7.0.0 Datenbank später separat auf den Shop v.8.0.0 upgedated wird.
    • Es wurde nun ein Shop erzeugt, dieser liegt im Verzeichnis mit dem Namen der Datenbank (ev. also noch umbenennen: mv {shop_zielverzeichnis_name} {shop_zielverzeichnis_name}_old; mv {datenbank_name} {shop_zielverzeichnis_name}).
    • Nun kommen wir zum Datenbank-Update, welches für v.8.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 über ein Menü geführt ab. Man sollte sich bei grösseren Datenmengen etwas Zeit einrechnen. SEHR WICHTIG: Vorher keine Administrations Datei öffnen!
    • Alternativ kann man das Update-Script auch via Kommandozeile einlesen. Dies kann phpMyAdmin mit einer moderaten max_execution_time schnell überfordern und dann zu Problemen führen! Falls man viele Artikel besitzt (20000+). Sollte es zu einem Fehler kommen, steht dieser in der entsprechenden Log-Datei in shop/Admin/log. Man kann den vers_db_updater.php es durchgearbeitet worden ist.

    b) Installation ohne Telnet/SSH -> via FTP und Anleitung “Installation ohne Telnet/SSH”:

    • Zuerst sollte man den neuen Shop (v.8.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.3.1.0 über ein PHP-Script ausgeführt: 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, ggf. muss diese Datei auch mehrfach aufgerufen werden, wenn es zwischenzeitlich zu einer “max_execution_time” Fehlermeldung gekommen ist.
    • Nun müssen noch die Datei- und Verzeichnisrechte gesetzt werden. Dies ist ein wichtiger Punkt, welcher UNBEDINGT sorgsam erledigt werden muss. Seit der Shopversion 4.0 gibt es dafür ein PHP-Script, welches die Arbeit übernehmen kann. Es arbeitet (S)FTP-basiert, da mit PHP entsprechende Anpassungen nicht in jeder Systemkonfiguratin umgesetzt werden kann:
    • {shop_verzeichnis}/shop/Admin/shop_berechtigungen_clean.php (bitte aufrufen, Logindaten einmalig eingeben und laufen lassen)
  3. 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’ in ‘Shop-Einstellungen’. Hier gehen wir zu ‘Operationen’ 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 vielenArtikeln 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 noch von der v.6 oder älter updaten und eine Anbindung an den Payment Service Provider Worldline / SIX Payment Services Saferpay haben.
    • Falls noch nicht gemacht: Bitte 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)

    Eigenes Theme: Wenn Sie ein selbsterstelltes Theme verwenden, müssen die darin enthaltenen HTML-Templates auf erforderliche Anpassungen geprüft werden. Am besten werden die neuen hinzugekommenen / wichtigen Zeilen rauskopiert. Unter language/theme_templates im dazugehörigen Ordner die Templates mit Originaldatei überspielen und die manuellen Zeilen neu einfügen. Aufgrund möglicher neuer Abschnitte in den Templates ist dieser Vorgang äusserst wichtig! Auch die Datei metadata.json muss angepasst werden. Zum einen muss am Ende die erlaubte Version erhöht werden und seit PepperShop v.7 muss eine mehrsprachige Beschreibung vorliegen. Zudem müssen die im Theme eingesetzten HTML-Dateien entsprechend den Diffs zur Vorversion angepasst 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), ProdukteDetails (altershop/shop/ProdukteDetails Ordner), Kategorienbilder (altershop/shop/KategorienBilder) und kundenseitige Ressourcen (altershop/shop/resources) in den neuen Shop kopieren und sicherstellen, dass deren Dateizugriffsrechte korrekt sind (nur UNIX/Linux-Systeme mit PHP als Webserver-Modul) - der Einfachheit halber einfach nochmals das Rechtescript von oben laufen lassen.

  4. Falls man eigene Inhalte bearbeitet hat, sollte man diese kopieren. Die Dateien befinden sich im folgenden Ordner: {shopverzeichnis}/shop/language/{sprache}/html_templates/ Falls man in den Standard-Templates spezielle Erweiterungen eingebunden hat (z.B Zusatzfelder in Artikeldetail anzeigen), sollte man diese NEUEN Zeilen wieder korrekt einpflegen. Diese Dateien befinden sich hier:{shopverzeichnis}/shop/language/html_templates/

  5. Falls man Änderungen an der Datei config.inc.php gemacht hat, sollte man diese noch übernehmen (nur die einzelnen Linien, auf keinen Fall die ganze Datei kopieren!)

  6. Falls man den PepperShop 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 8.0 verfügbar! Die Sprachsets findet man hier: https://www.peppershop.com/sprachsets/sprachsets.php. Im Webshop gibt es übrigens einen speziellen Editor zur Bearbeitung der übersetzten Textelemente (Lokalisierungseditor im Sprachen Menü).

  7. Nach dem erfolgten Update sollten Sie unbedingt alle aktivierten Zahlungsarten testen! Wenn Sie Kreditkartenanbindungen haben, empfehlen wir unbedingt vollständige Testzahlungen zu machen!

  8. Falls das Webkasse-Modul eingesetzt wird und von einer Shopversion v.6 oder älter aktualisiert worden ist:

    • Das Modul und seine Oberfläche wurden in v.7 grundlegend aufgefrischt, womit auch eine neue Dateistruktur eingeführt wurde.
    • Stellen Sie sicher, dass alle Webkasse-relevanten Dateien der Version 6.0.0 entfernt werden, und die Dateien der Version 7.0.0 neu eingefügt werden.
      • Auf jeden Fall prüfen, ob folgende zwei Dateien unter shop/module/webkasse/ noch existieren und löschen: webkasse_config.php / webkasse.def.php
    • Die Datenbank-Einträge zum Modul werden automatisch aktualisiert/erweitert, sobald man in der Shop-Administration das Webkasse-Modul aufruft.
  9. Falls das Kategorienfilter/Drill Down Search-Modul eingesetzt wird:

    • Sollten Sie manuell einprogrammierte Filter in der Datei “shop/filter_kat_config.php” gehabt haben, müssen diese wieder übernommen werden.
      • Die Werte für “dropdown_padr” sollen entfernt werden
      • Der Werte für “dropdown_ab” sollen zu “scrollable_from” unbenannt werden
    • Wenn in oben genannter Datei allgemeine Konfigurationen verändert wurden, müssen diese an neuer Stelle platziert werden:
      • Prüfen Sie, ob getätigte Änderungen in der Administration unter “Module->Artikelfilter->Konfiguration” zu finden sind und passen Sie diese in der neuen Maske an. Stellen Sie in jedem Fall sicher, dass für “Umgang mit Merkmalen ohne zugewiesene Filtervorlage” die Option “Standardvorlage verwenden” ausgewählt ist. - Sollten gewisse Konfigurationen dort nicht vorliegen, passen Sie die neue Konfigurations-Datei an folgender Stelle an: shop/module/filter_kat/classes/filter_kat_global_config.def.php - Unter Verwendung von Artikel-Merkmal-Filtern prüfen Sie ebenfalls folgende Datei auf notwendige Änderungen: shop/Admin/shop_filter_artikel_merkmale_config.php
  10. Falls Sie NEUE Texte im Shop eingepflegt haben (shop/language/{Sprache}/localetext.inc.php) übernehmen Sie diese in die neue ausgesonderte Datei localetext_custom.inc.php an gleicher Stelle. Tipp: Dasselbe können Sie seit Version 6.0 mit der Datei shopstyles.css tun. Haben Sie darin eigenes CSS, welches im Shop angewendet werden soll, können Sie dieses in eine Datei namens “shopstyles_custom.css” an gleicher Stelle aussondern.

  11. In der Version 8 gibt es einige Konfigurationsmöglichkeiten, welche nicht mehr in der Konfigurationsdatei shop/config.inc.php, sondern in der Shop-Administration zu finden sind.Falls Sie eine dieser Möglichkeiten eingeschaltet haben, müssen Sie diese also neu in der Shop-Administration aktivieren. Folgende Konfigurationen sind betroffen:

    • SHOW_OPTIONSARTIKEL_WARENKORB_GELEGT ist neu in der Shop-Administration unter Shop-Einstellungen -> Allgemeine Einstellungen -> Shop-Konfiguration -> In Warenkorb legen mit Cross-Selling
    • DIREKTKAUF_ANZEIGE_MEHRSTUFIGE_DARST ist neu in der Shop-Administration unter Shop-Einstellungen -> Allgemeine Einstellungen -> Shop-Konfiguration -> Direktkauf in Artikelliste
    • DIREKTKAUF_ANZEIGE_MEHRSTUFIG_MULTIARTIKEL ist neu in der Shop-Administration unter Shop-Einstellungen -> Allgemeine Einstellungen -> Shop-Konfiguration -> Multi-Direktkauf in einspaltiger Liste
    • DIREKTKAUF_ANZEIGE_OPTIONSARTIKEL ist neu in der Shop-Administration unter Shop-Einstellungen -> Allgemeine Einstellungen -> Shop-Konfiguration -> Direktkauf für Optionsartikel

Zusätzliche Informationen

  • 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.
  • Falls Ihr Firmensitz in Deutschland ist, oder Sie Produkte in den EU-Raum versenden, sollten Sie unbedingt sicherstellen, dass Ihr Shop nach den Trusted-Shops Empfehlungen konfiguriert ist. Auch wenn bereits diverse Anpassungen diesbezüglich getätigt wurden, schadet es nicht, unsere Trusted-Shops Anleitung erneut zu prüfen. Allfällige Neuerungen werden jeweils in der Anleitung ergänzt/aufgeführt.
  • Falls Probleme auftreten sollten

Deinstallation des Webshop-Systems

Hinweise zur Deinstallation: Man kann das Update NICHT mit einem automatisierten Mechanismus rückgängig machen - deshalb einfach das Backup behalten! Deinstallation des Shops, allgemeiner Teil: Zuerst in der PepperShop Administration im Untermenü ‘Externe PepperShop Module’ alle Module deinstallieren. a) Deinstallation via Telnet/SSH: - Mittels Aufruf von perl ./remove.pl kann der PepperShop 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 PepperShop-Verzeichnis gelöscht werden und der Shop ist somit deinstalliert.

Datei-Informationen

  • Keine spezifischen Dateiversionen für dieses Update

  • Lizenzverlängerung bestellen: Für Glarotech Hostingkunden: Dort ist immer die neuste Lizenz im Hosting schon dabei.

    • Basic Version: https://www.peppershop.com/shop/index.php?Artikel_Nr=ppsbasv
    • Professional Version: https://www.peppershop.com/shop/index.php?Artikel_Nr=ppsprov
    • Enterprise Version: https://www.peppershop.com/shop/index.php?Artikel_Nr=ppsentv

PepperShop, v80_updateinfo.txt, lph, fjo Autoren: ©2001-2020, Jose Fontanil, Reto Glanzmann, Roland Bruehwiler, Glarotech GmbH

Version 8.0.0, ER 8.0.0 CVS-Version / Datum: $Id$ (27.01.2020) Sicherheitsstatus: *** ADMIN ***

Updateanleitung (v.7.0.0 zu v.8.0.0)

🌶️
🔥
🌶️