Inhaltsverzeichnis

    Von JTL-Shop 4 auf JTL-Shop 5 upgraden

    Ihre Aufgabe/Ausgangslage

    Sie möchten Ihren selbstgehosteten JTL-Shop 4 auf JTL-Shop 5 aktualisieren.
    Hinweis: Wenn Sie Hostingkunde bei JTL sind, lesen Sie bitte diesen Beitrag: Wann und wie wird ein Shop-Update durchgeführt?

    Allgemeine Informationen

    JTL-Shop nutzt die Semantic Versioning Spezifikation (Semver). Wir nutzen entsprechend die Begriffe Major-, Minor- und Patch-Versionsnummer und geben Versionen im Format MAJOR.MINOR.PATCH an. Wir unterscheiden zwischen Upgrade und Update:

    • Upgrade: Als Upgrade bezeichnen wir die Aktualisierung von einer Major-Version auf die nächsthöhere Major-Version, bspw. die Aktualisierung von JTL-Shop 4 auf JTL-Shop 5. Ein Upgrade bringt neue Features, kann jedoch auch inkompatible Änderungen bzgl. Templates oder Plugin-Schnittstellen mit sich bringen. Prüfen Sie daher, ob die von Ihnen genutzten Plugins und das gewünschte Template auch für die neue Shopversion zur Verfügung stehen.
    • Update: Als Update bezeichnen wir die Aktualisierung von einer Minor-Version auf die nächsthöhere Minor-Version innerhalb einer Major-Version, bspw. die Aktualisierung von JTL-Shop 5.2 auf JTL-Shop 5.3. Ein Update enthält in der Regel Bugfixes und häufig neue Features.

    Geänderte Vorgänge für jede Version finden Sie mit entsprechender Zielversion im IssueTracker für JTL-Shop. Zusätzlich finden Sie wichtige Informationen zu jedem Release im Releasebereich des JTL-Forums: Zum Releaseforum. Wir stellen zusätzlich Patch-Pakete für die Aktualisierung der Build-/Patch-Version bereit. Diese enthalten ausschließlich die veränderten Dateien, der Datei-Upload ist dadurch entsprechend schneller. Wenn Sie die Build-/Patch-Version via Patch-Paket updaten möchten, lesen Sie den folgenden Guide-Beitrag: JTL-Shop Build-Pakete.

    Wenn Sie kein Upgrade durchführen, sondern nur die aktuellste Version einer bestimmten JTL-Shop Major-Version aufspielen wollen, lesen Sie bitte die folgenden Guide-Beiträge:

    Achtung: Ein Upgrade direkt von JTL-Shop 3, 4.00 oder 4.01 auf JTL-Shop 5 ist nicht möglich! Sie benötigen mindestens die Version 4.02. Bitte befolgen Sie Ihrer Ausgangs-Version entsprechend eine der zuvor genannten Update-Methoden, bevor Sie mit dieser Anleitung fortfahren.

    Upgrade durchführen

    Voraussetzungen/Einschränkungen

    • Sie benötigen eine gültige Lizenz für JTL-Shop mit aktiver Subscription (oder CFE-Lizenz) für das Update der Minor-Version. Laden Sie die aktuelle Version von JTL-Shop im JTL-Kundencenter herunter.
    • Sie verfügen mindestens über JTL-Shop 4.02.
    • Sie nutzen mindestens JTL-Wawi Version 1.0. Für die korrekte Verarbeitung von UTF-8 Zeichensätzen benötigen Sie mindestens JTL-Wawi 1.6.
    • Sie verfügen über einen 64-bit-Apache-Webserver (PHP-Mode: FCGI oder Apache Module) 2.2 oder 2.4 mit mod_rewrite-Modul, .htaccess support. Der Webserver muss erlauben, dass Standardregeln überschrieben und ergänzt werden.
    • Sie haben die offiziellen Standard-Systemvoraussetzungen konsultiert.
    Hinweis: Wenn Sie ein individuell angepasstes Template nutzen, wenden Sie sich bitte vorab an Ihren Servicepartner oder Entwickler, um es für die neue Version vorbereiten zu lassen. Wenn Sie Ihr Template selbst anpassen oder updaten möchten, lesen Sie die Entwickler-Dokumentation: JTL-Shop Entwickler-Dokumentation.
    Hinweis: Wenn Sie Plugins nutzen, informieren Sie sich bitte vorab, ob diese mit der neuen JTL-Shop Version kompatibel sind bzw. kompatible Versionen existieren, sodass Ihre Systeme bestmöglich mit neuen Versionen versorgt sind bzw. Sie sich auf alternative Lösungen einstellen können.

    Schritt 1: Vorbereitungen

    1. Melden Sie sich im Backend von JTL-Shop an und klicken Sie auf Darstellung > Einstellungen > Global. Wählen Sie im Dropdown-Menü Wartungsmodus die Option Ja. Der JTL-Shop befindet sich jetzt im Wartungsmodus.
    2. Legen Sie eine Sicherungskopie aller Dateien von JTL-Shop an. Achten Sie dabei insbesondere darauf, die Template-Dateien (Ordner/templates/) sowie die Konfigurationsdatei des Shops (/includes/config.JTL-Shop.ini.php) zu sichern.
    3. Führen Sie ab jetzt keinen Abgleich mehr mit JTL-Wawi durch! Falls Sie JTL-Worker nutzen, haben Sie die folgenden Möglichkeiten:
    • Beenden Sie JTL-Worker und starten Sie diesen erst nach erfolgreichem Upgrade wieder.
    • Beenden Sie JTL-Worker und stellen Sie in den Hintergrundeinstellungen ein, dass kein Onlineshop-Abgleich durchgeführt werden soll. Starten Sie den JTL-Worker wieder, um weiter mit anderen Plattformen abzugleichen.
    • Sperren Sie in JTL-Wawi unter Plattformen > Verkaufskanäle den betroffenen JTL-Shop für den Abgleich.
    1. Falls Sie Objekt-Cache nutzen, deaktivieren Sie diesen im Backend von JTL-Shop unter Administration > System > Cache über die Schaltfläche Gesamten Objekt-Cache leeren.
    2. Prüfen Sie Ihre Plugins:
    • Deinstallieren Sie alle Plugins (gleichgültig ob aktiv oder inaktiv), von denen Sie wissen, dass Sie nach dem Update nicht mehr nutzen werden. Für diese Plugins müssen Sie die Dateien vom Webspace aus dem Verzeichnis /includes/plugins und/oder /plugins entfernen, da in seltenen Fällen selbst deinstallierte Plugins nach Updates Probleme bereiten können.
    • Deaktivieren Sie alle Plugins, die Sie nach dem Upgrade weiter benutzen möchten.
    Hinweis: Falls Sie eine große Anzahl an Plugins nutzen und über längere Zeit Plugins deaktiviert haben, erstellen Sie Screenshots von Ihren aktiven Plugins. Auf diese Weise können Sie die standardmäßig inaktiven von den aktiven unterscheiden.
    1. Legen Sie eine Sicherungskopie der JTL-Shop-Datenbank an oder lassen Sie diese durch Ihren Hoster anlegen. Lesen Sie mehr zum Thema hier: Datenbank-Backups von JTL-Shop erstellen.

    Schritt 2: JTL-Shop-Dateien aktualisieren

    1. Loggen Sie sich im JTL-Kundencenter ein. Klicken Sie auf Produkte > Onlineshop > Shop Editionen. Sie gelangen zur Lizenzübersicht.
    2. Klicken Sie im Bereich Lizenzen – ungruppiert auf die Schaltfläche Aktionen > Downloads und laden Sie das entsprechende JTL-Shop-Installationspaket herunter.
    3. Entpacken Sie die heruntergeladene ZIP-Datei lokal auf Ihrem Rechner in ein Verzeichnis, bspw. c:jtl-shop.
    4. Löschen Sie die folgenden Dateien im heruntergeladenen Paket, da die gleichnamigen Dateien Ihres bestehenden JTL-Shop individuelle Daten enthalten und nicht von den neuen Dateien überschrieben werden sollten:
    • install (kompletter Ordner)
    • admin/.htaccess (nur falls Sie diese angepasst haben)
    • robots.txt (nur falls Sie diese angepasst haben)
    • shopinfo.xml
    Achtung: Neue Versionen von JTL-Shop können Änderungen an der obersten .htaccess-Datei enthalten, diese müssen Sie übernehmen! Da diese Datei überschrieben werden muss, ist sie nicht in der Auflistung enthalten. Wenn Sie .htaccess-Dateien angepasst haben, bspw. empfohlene Domain-Weiterleitung, müssen Sie die Änderungen entweder in der aktuelleren .htaccess erneut vornehmen oder die Datei nicht überschreiben und unsere Änderungen in Ihren .htaccess-Dateien nachziehen.
    1. Wenn Sie für Ihr angepasstes Template einen Standardordner von JTL nutzen, benennen Sie die neuen Standard-Templates im Verzeichnis /templates/ um, damit Ihre angepassten Templates im nächsten Schritt nicht überschrieben werden. Überschrieben wird der Ordner /templates/NOVA.
    2. Laden Sie die in Schritt 2.3 entpackten Dateien und Ordner bis auf die in Schritt 2.4 entfernten Dateien per FTP über die bestehenden JTL-Shop-Dateien, die Sie in Schritt 1.2 gesichert haben (Ordner zusammenführen, nur vorhanden Dateien überschreiben).
    Achtung: Stellen Sie den Transfertyp im FTP-Programm auf binäre Übertragung! Prüfen Sie ebenfalls, ob alle Dateien übertragen wurden oder ob Ihr FTP-Programm fehlgeschlagene Übertragungen meldet. Wie Sie bspw. Filezilla auf binäre Übertragung umstellen, sehen Sie hier: JTL-Software Binäre Datenübertragung.

    Schritt 3: Datenbank updaten

    Hinweis: Spätestens für diesen Schritt müssen Sie eine kompatible PHP-Version aktiviert haben. Lesen Sie mehr zum Thema hier: JTL-Shop neu installieren.
    1. Melden Sie sich im Backend von JTL-Shop an. Sie werden automatisch zum Update-Menü weitergeleitet. Wenn Sie nicht automatisch weitergeleitet werden, rufen Sie das Menü über Administration > System > Aktualisieren auf.
    Hinweis: Wir empfehlen, für die Anmeldung den abgesicherten Modus zu wählen. Klicken Sie dazu im Anmeldefenster auf Erweitert und wählen Sie anschließend Abgesicherter Modus.
    1. Klicken Sie auf Sicherungskopie, um an dieser Stelle erneut ein Backup der JTL-Shop-Datenbank zu erstellen. Das Backup wird im Verzeichnis /export/backup abgelegt.
    2. Klicken Sie auf die Schaltfläche Datenbank-Update starten, um das Update auf die neuere Version von JTL-Shop zu beginnen.
    Hinweis: Wenn es an dieser Stelle zu einem Fehler kommen sollte, dokumentieren Sie diesen bitte als Screenshot / Kopie in der Ablage und wenden Sie sich via Kundencenter-Ticket oder Forumthread an den JTL-Shop-Support oder Ihre JTL-Servicepartner. Sollten Sie den Updateversuch abbrechen wollen, ist es nicht ausreichend, nur die Shopdateien auf den alten Stand zu bringen (neue Dateien dürfen nicht übrig bleiben) Lesen Sie mehr zum Thema hier: Datenbank-Backups von JTL-Shop wieder einspielen.

    Schritt 4: Migration auf InnoDB/UTF-8 vornehmen

    Nachdem Sie das Datenbank-Update auf die neue JTL-Shop-Version abgeschlossen haben, müssen Sie beim Upgrade von JTL-Shop 4 noch die Datenbank-Tabellen auf InnoDB und UTF8 umstellen.

    1. Klicken Sie unter Administration auf Fehlerbehebung > Diagnose > Datenbankstruktur > Details. Alternativ können Sie über die Mitteilungs-Glocke auf den Hinweis Datenbankstruktur: Es liegen Fehler in der Datenbankstruktur vor. klicken.
    2. Lesen Sie die Informationen auf dieser Seite aufmerksam durch und klicken Sie auf die Schaltfläche Migration starten, um mit der Migration zu beginnen.

    Wenn die Migration beendet ist, sollten Sie entsprechend Anzahl modifizierter Tabellen: 0 sehen.

    Hinweis: Wenn es an dieser Stelle zu einem Fehler kommen sollte, dokumentieren Sie diesen bitte als Screenshot / Kopie in der Ablage und wenden Sie sich via Kundencenter-Ticket oder Forumthread an den JTL-Shop-Support oder an Ihren JTL-Servicepartner. Sollten Sie den Updateversuch abbrechen wollen, ist es nicht ausreichend, nur die Shopdateien auf den alten Stand zu bringen (neue Dateien dürfen nicht übrig blieben). Lesen Sie mehr zum Thema hier: Datenbank-Backups von JTL-Shop wieder einspielen.

    Schritt 5: Verwaiste Dateien entfernen

    Sie müssen die Dateien, die ggf. durch das Update Ihres JTL-Shops nicht mehr benötigt werden, löschen.

    Achtung: Das Löschen verwaister Dateien ist sicherheitsrelevant! Eventuell vorhandene Sicherheitslücken in Dateien älterer Shop-Versionen können durch das Löschen der Dateien geschlossen werden.
    1. Klicken Sie auf Administration > Fehlerbehebung > Diagnose > Dateistruktur > Details. Alternativ können Sie über die Mitteilungs-Glocke auf den Hinweis Dateistruktur: Es liegen Fehler in der Dateistruktur vor. klicken.
    2. Sie sehen hinter Anzahl verwaister Dateien, wie viele Dateien verwaist sind. Klappen Sie den entsprechenden Eintrag auf und scrollen Sie zum Ende der Seite.
    3. Wenn Sie über die nötigen Schreibrechte verfügen, können Sie die Daten direkt löschen oder ein Skript generieren, welches Sie Ihrem Hosting-Provider oder JTL-Servicepartner übergeben können.

    Schritt 6: Nacharbeiten durchführen

    1. Prüfen Sie die ordnungsgemäße Funktion Ihres Onlineshops. Nutzen Sie hierfür die integrierten Prüfmethoden im Backend von JTL-Shop unter Administration > Fehlerbehebung > Diagnose. Prüfen Sie ebenfalls das Frontend des JTL-Shops. Sie können dies prüfen, auch wenn der Wartungsmodus weiterhin aktiviert ist, solange Sie in der selben Browser-Sitzung im Administrationsbereich angemeldet sind. Prüfen Sie mindestens, ob Registrierung und Kaufprozess erfolgreich durchlaufen werden können.
    2. Prüfen Sie Ihr individuell angepasstes Template. Sollte Ihr Template nicht aktuell sein, lassen Sie es von Ihrem Template-Designer/JTL-Servicepartner auf die aktuellste Version bringen, da es sonst Fehler verursachen kann. Mit dem neu ausgelieferten Standard-Template können Sie gegentesten, ob ein Fehler durch Ihr angepasstes Template verursacht wird.
    3. Prüfen Sie Ihre Plugins. Ob ein Update bereitsteht, sehen Sie im Backend von JTL-Shop unter Plugins > Meine Käufe, nachdem Sie JTL-Shop mit Ihrem JTL-Kundenkonto verbunden haben. Über die Schaltfläche Alle Extensions aktualisieren können Sie alle vorhandenen Plugins aktualisieren. Wechseln Sie anschließend über Plugins > Plugin-Manager in die Pluginverwaltung, prüfen Sie auf ausstehende Updates und führen Sie diese durch. Plugins, bei denen kein Warnhinweis angezeigt wird und deren Version korrekt ist, können Sie wieder aktivieren und nachkonfigurieren. Bei Fehlern deaktivieren Sie alle Plugins und prüfen dann, ob das Problem weiterhin auftritt. Reaktivieren Sie Ihre Plugins der Reihe nach, um das verantwortliche Plugin zu ermitteln.
    Hinweis: Plugins, die nicht im JTL-Extension Store gepflegt sind, könnten ebenfalls für die neue JTL-Shop-Version ein Update benötigen bzw. inkompatibel sein. Bitte wenden Sie sich an den jeweiligen Anbieter, um weitere Informationen zu erhalten.
    1. Nach einem Update ist es möglich, dass die E-Mail-Vorlagen aktualisiert werden. Diese Aktualisierungen werden nicht automatisch eingespielt, da individuelle Anpassungen überschrieben werden würden. Individuelle Anpassungen, die Sie an den Vorlagen vorgenommen haben, müssen Sie anschließend erneut durchführen. Sichern Sie daher vorab alle E-Mail-Vorlagen, um diese nach dem Update wieder einrichten/nachbauen zu können. Wechseln Sie dazu im Backend von JTL-Shop in den Bereich Administration > E-Mail > Vorlagen. Klicken Sie bei den Vorlagen auf die Schaltfläche Zurücksetzen.
    Achtung: Prüfen Sie auf fehlende Übersetzungen! Wenn Sie in Ihrem bisherigen Shop andere Sprachen als Deutsch oder Englisch genutzt haben, können nach dem Upgrade wichtige Übersetzungen fehlen. Daher können in diesen Sprachen der Aufruf von Eigenen Seiten und auch rechtlich relevante Seiten wie z.B. Datenschutz und Checkout fehlerhaft sein.
    1. Klicken Sie im Backend von JTL-Shop unter Darstellung auf Eigene Inhalte > Seiten. Prüfen und pflegen Sie alle Übersetzungen.
    2. Deaktivieren Sie den Wartungsmodus unter Darstellung > Einstellungen > Global, wenn keine Fehler aufgetreten sind. Ab jetzt können Sie wieder Abgleiche durchführen und den JTL-Worker aktivieren.
    3. Aktivieren Sie unter Administration > System > Cache ggf. den ObjectCache.
    4. Prüfen Sie erneut, ob keine Fehler auftreten und achten Sie auf Backend-Hinweise (Hinweis-Glocke) in den 3 Bereichen unter: Administration > Fehlerbehebung > Logbuch und Marketing > Bestellungen sowie Administration > E-Mail > Logbuch.

    Weitere Fragestellungen und Antworten zum Upgrade von JTL-Shop 4 auf JTL-Shop 5 lesen Sie hier: FAQ zum Upgrade von JTL-Shop 4 auf JTL-Shop 5.