Update PepperShop Version 9

Inhaltsverzeichnis

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 8.0.0 aus angehen. Ältere Shopversionen müssen zuerst auf die Shopversion 8.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: PHP: 7.4, 8.0 (Hinweis eigene Anpassungen: PHP 8 Kontantenhandling / Errorausgabe berücksichtigen)
  • SQL: MySQL v.5.6 - 8.0 oder MariaDB v.10.2 - 10.6
  • JS-Kundenseite: ES5 >= IE11
  • JS-Admin: ES6 (ES6-Support)
  • SSH-Installation: PERL, PHP-CLI, Composer v.2.0+

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:

  • 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. docs.peppershop.com/latest/de/update-ueber-mehrere-versionen/

Vorbereitungen / Prerequisites

SQL-Datenbank Update: Die SQL-Update Anweisungen ab Version 5.0.0 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.

    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.9.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.8.0.0 Datenbank später separat auf den Shop v.9.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.9.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.9.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 Einstellungen - System Konfiguration - Operationen. Danach klicken Sie 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:

    • Allgemein (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):
      • Windows: HTTP-Aufruf auf folgende Datei: http[s]://{domainname.tld}/{webshop_verzeichnis}/shop/Admin/garbage_collection.php
      • Bei UNIX/Linux Systemen kann man z.B. einen Cron-Job mit folgendem Kommando verwenden: 5 0 * * * cd {shopverzeichnis}shop/Admin/; php garbage_collection.php commandline

    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 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ü).

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

  7. Ab PepperShop Version 9 gibt es keine Datei shop/config.inc.php mehr. Diese Einstellungen werden neu nur noch datenbankbasiert über die Administration via Einstellungen - Shop Konfiguration - Konfiguration - “Steuerungskonstanten dieses Systems ansehen und bearbeiten” bearbeitet.

  8. .htaccess Elemente sicherstellen und erweitern:

    Weiterleitungen fuer SEO Links (pi,fi,ki,…) RewriteEngine on RewriteCond %{REQUEST_URI} (.)(/|^)(pi|fi|ki|ds|bc)(/|$) Folgende Zeile nur aktivieren, wennn nicht ueber /~{user}/ oder Muster keine Datei ist RewriteRule ^(pi|fi|ki|ds|bc)(/|$)(.)$ /%1%2$1.php [QSA,L,E=PATH_INFO:$3$4]

    Weiterleitung von Routing-Pfade zum Router RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_URI} !^/401.shtml$ RewriteRule ^ r.php [QSA,L]

  9. Falls vorhanden: Alter Cron-Job für Sitemap Generierung entfernen, da diese jetzt on-the-fly erzeugt wird:

crontab -e -u {username} {shop_directory}/shop/Admin; php shop_sitemap_generator.php commandline

  1. Ab PepperShop v.9 wird ein Favicon Generator mitgeliefert. Ein allfällig bereits vorhandenes Favicon:
  • Als PNG-Datei (nicht .ico) hochladen in der Shop-Administration bei “Design -> Bilder hochladen” Falls bisher ein Favicon manuell im HTML-Head integriert worden ist: Manuelle Integration im entsprechenden HTML-Template wieder entfernen
  1. PepperShop POS Webkasse mit EPSON Bondrucker Hardware: Nach dem Update auf Version 9.0 oder neuer wird die Druckeranbindung gegebenenfalls auf “SSL immer aktivieren” konfiguriert. Damit der Drucker ansprechbar bleibt, bitte dieses Häkchen in “Webkasse -> Webkasse Konfiguration -> Kassenbeleg Konfiguration -> Druckausgabe -> SSL immer aktivieren” entfernen und speichern. Wir empfehlen auf dem EPSON Gerät ein SSL-Zertifikat zu installieren und danach hier das Häkchen zu aktivieren. Self-Signed-Zertifikat: Wenn man nun zum ersten mal die Kasse betritt erscheint eine entsprechende Zugriffsfehlermeldung für den Bondrucker. Hier kann man dem Hinweis folgen und mit http://ip-des-bondruckers einen einmaligen Aufruf vom Kassen-PC aus tätigen. Danach funktioniert die Kommunikation mit dem Bondrucker wieder und ist verschlüsselt.

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
  • Wenn der Caller eingesetzt wird, muss überprüft werden, ob der mysql_user, welcher für den Shop verwendet wird, das “LOCK TABLES” Privilege hat. Dies wird für den Artikelmerkmale-Import benötigt.

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
    • Connect Version: https://www.peppershop.com/shop/index.php?Artikel_Nr=ppsentv

Weitere Hilfe

Benötigen Sie weitere Unterstützung? PepperShop stellt Ihnen unterschiedliche Möglichkeiten zur Verfügung.

  • Oft hilft ein Klick in der Administration oben rechts auf das Fragezeichen Icon. Hier erhalten Sie direkt Hilfe zum betroffenen Thema.
  • Diverse Antworten finden Sie in den FAQ. Diese sind ebenfalls in der Shopadministration über Hilfe&News -> Hilfearchiv aufrufbar. Oder über unsere Homepage https://www.peppershop.com/de/services/support/faq/
  • In der PepperShop Academy https://www.peppershop.com/de/services/academy/ können Sie ganz einfach und bequem diverse kostenlose Video-Anleitungen finden.
  • Gerne stehen wir Ihnen auch per Mail oder Telefon zur Verfügung (CHF 185./h) support@glarotech.ch oder +41 71 923 08 58
🌶️
🔥
🌶️