Vorsicht Shopware Update! Was Du beim Updaten beachten musst

Vorsicht Shopware Update! Was Du beim Updaten beachten musst

Ewald Gering 30. April 2019 26

Eine neue Version von Shopware ist verfügbar!
Der Leitfaden für das perfekte Update.

Euer Shop ist noch auf einer älteren Version und nun gibt es ein wichtiges Sicherheitsupdate.

Jetzt denkt man sich, dann klicke ich einfach auf "Update starten" und alles wird gut.

Doch das muss nicht immer der Fall sein, ganz im Gegenteil erleben wir oft, dass es dann zu Problemen kommt.

Wir erklären heute wie ihr Euch für den Problemfall vorbereitet.

Bevor Ihr ein Update durchführt empfehlen wir das Update auf einer Staging Umgebung zu testen.

Die Schritte um Euch für das Shopupdate vorzubereiten

  1. Welche Möglichkeiten gibt es?
  2. Backup erstellen
  3. Update über das Shopware Backend
  4. Update über die Konsole
  5. Cache löschen

Welche Möglichkeiten gibt es?

Wir können das Update über das Shopware Backend machen, dort müssen wir nur den Knopf "Update starten" drücken und das Backend übernimmt das Update für uns.
Doch hier gibt es z. B. die Fehlermeldung "0 - Communication Failure", die entsteht, wenn es einen PHP-Timeout gibt oder die Verbindung zur Datenbank unterbrochen wurde.

Aus diesen Gründen nutzen wir gerne die Konsole, um unser Update zu machen.

Das Erste, was mir immer machen, ist ein Backup von den Shopdateien und der Datenbank zu erstellen.

Backup erstellen

Zuerst machen wir ein Backup von unseren Shop Dateien.

ssh username@server

Bsp. ssh root@192.168.1.1

Die Frage "Are you sure you want to continue connecting (yes/no)?"

Beantworten wir mit yes.

Nun müssen wir in das Verzeichnis wo unser Shop liegt, in unserem Beispiel müssen wir in den "web" Ordner.

cd web

Hier finden wir nun unseren Shop, den wir in ein komprimiertes Archiv packen wollen.

tar -czf Backup_UnserShop_24_10_16.tar.gz .

*UPDATE*

Hier noch ein Beispiel wie Ihr Euren Shop ohne Cache packen könnt.

tar --exclude='./var/cache/production_*' -czf Backup_UnserShop_24_10_16.tar.gz .

Anschließend machen wir noch ein Backup von unserer Datenbank.

mysqldump -u root -h localhost -p shopwaredb511 > Backup_DB_24_10_16.sql

Der Befehl: mysqldump -u username -h host_address -p database_name > Backup_DB_24_10_16.sql

Wenn alles gesichert ist, können wir unser eigentliches Update starten.

Update über das Shopware Backend

Als Erstes loggen wir uns in das Backend unseres Shopware Shops ein und sehen dann schon oben rechts die Meldung, dass eine neue Version verfügbar ist.

Wenn wir auf Details klicken, kommen wir auf eine Übersicht wo wir prüfen können, ob wir den Voraussetzungen entsprechen und unsere Plugins mit der neuen Version kompatibel sind.

shopware_update_backend

Sofern alles passt, müssen wir nur noch bestätigen, dass wir ein Backup erstellt haben und klicken nur noch auf "Update starten".

Im Normalfall erscheint dann eine Übersicht, wie wir sie von der Installation kennen. Dort klicken wir uns durch schon ist das Update fertig.

Update über die Konsole

Wir müssen wieder in unsere Konsole und fangen damit an, die neueste Shopware-Update Version zu laden (5.2.9, Stand 24.10.16)

wget http://releases.s3.shopware.com.s3.amazonaws.com/update_5.2.9_e9b9cb9cf54d4c83855d42e30be03f4968000b1d.zip

Solltet Ihr unzip noch nicht installiert haben, könnt Ihr das nachholen:

apt-get install unzip
unzip update_5.2.9_e9b9cb9cf54d4c83855d42e30be03f4968000b1d.zip

Hier bestätigen wir mit "A", damit alle Dateien überschrieben werden.

shopware_update_konsole

Jetzt starten wir das Update über die Konsole mit diesem Befehl und bestätigen dann mit "Enter":

php recovery/update/index.php

Das Verzeichnis "/update-assets" muss noch gelöscht werden.

rm -r update-assets

Cache löschen

Wenn das Update erfolgreich war, können wir uns ins Backend einloggen und löschen den Cache unter "Einstellungen > Caches/Performance > Cache > Alle auswählen > Leeren".

Schon ist unser Shop up2date und erreichbar.
Sollte es doch Probleme geben, können wir einfach unser Backup aufrufen.

Du hast Probleme bei dem Update Deines Shops? Wir können Dir als Shopware Agentur helfen! Kontaktier uns einfach!

Weitere Links

26 Kommentare

  • Funktioniert das mit der 6er Version analog genauso oder hat sich dort etwas geändert ?
  • Hey Carsten,

    leider passen die Screenshots da nicht mehr zu. Aber es ist sehr ähnlich. Das Backup vorher kannst du genauso erstellen. Nur für das Update musst du in der Administration zur Update Seite. Die findest du unter Einstellungen > System > Shopware-Update.

    Viel Erfolg!
  • Hallo Leute,
    Ich habe mir erlaubt, eurern Beitrag zu verlinken da hier schon alles steht.
    wienerpresswerk.at/shopware-update-sicher-durchfuehren/
    Ich hoffe, daß ist ok für euch!

    LG
    Steffen
  • Hey Steffen,

    passt! Danke für die Verlinkung :)

    Gruß
    Alexander
  • Hallo Ewald,

    schonmal vielen Dank für die Beschreibung. Deine Schritte konnte ich gut nachvollziehen, nur erscheint nach dem Befehl "php recovery/update/index.php" folgende Meldung in der Konsole:

    Replace system files...
    skipped...
    Apply database migrations...
    Could not find shopware config

    habe ich bei der Ausführung etwas falsch gemacht (Update auf 5.5.10 mit der Datei vom Shopware Changelog)?
  • Danke Ewald!

    Langsam bin ich dann durch mit dem Shell ABC, mindestens die Hälfte hab ich hier gelernt ;)

    Grüße aus Kölle
  • Hallo Ewald :)

    Da bin ich wieder. Kurze Frage zu dieser Zeile hier:
    tar --exclude='./var/cache/production_*' -czf Backup_UnserShop_24_10_16.tar.gz .

    Wenn man das so eingibt, heißt das dann, dass der ganze Inhalt des Ordners ausgeschlossen wird, oder wird er Ordner selbst ausgeschlossen?

    Die Frage ist eigentlich also, wenn ich es aus irgend einem Grund nicht hinbekomme den cache auf diese Weise auszuschließen, welche Ordner ich später auf der neuen Installation löschen müsste.

    Beste Grüße aus Köln,
    Atilla
  • Hey Atilla,

    mit dem Befehl werden alle Cache Ordner mit dem Namen 'Production_*' ausgeschlossen. Also wird der gesamte Cache Ordner ausgeschlossen.

    Beste Grüße
    Ewald
  • reicht es nicht nur wenn ich den update-assets ordner in das verzeichnis kopiere?
  • Hey Michael,

    leider nicht. Wenn es Aenderungen an den Core Dateien gab, bekommst du diese gar nicht mit. Im update-assets Ordner sind nur die Migrationen fuer die Datenbank.

    Daher wuerden dir die neuen Dateien fehlen.

    Gruß
    Alexander
  • Hallo Ewald,
    eines ist noch wichtig und sehr ärgerlich anzumerken. Ein update über das Backend geht nur wenn man im Jahr 588,00 Netto für das Software-Subscriptions an Shopware bezahlt hast. Ist das nicht der Fall , verweigert der Update seine Arbeit mit einer Fehlermeldung.

    Also ehrlich ist doch Grass, da legt man schon 1295 Euro Netto hin und dann das.
    Aber ok.. andere Baustelle....
    gruss Winny
  • Hey Winny,

    ja der Auto-Updater geht nur mit einer aktiven Subscription von Shopware. Das heißt wenn man einmal eine Shopware Lizenz erworben hat muss man diese immer verlängern für den Updater. Wenn man nur die Community Version nutzt geht dieser normal.

    Zum Glück gibt es aber noch andere Möglichkeiten wie z.B. per Konsole.

    Viele Grüße
    Ewald
  • Wenn Ihr schnell und einfach alle Features und Bugs eines Updates aufgelistet haben möchtet und/oder diese exportieren wollt -> https://www.sw-update.de/

    Hier könnt ihr schnell eine Liste aller Änderungen Drucker oder per CSV exportieren.
  • Hey Micha,

    vielen Dank für den tollen Link!

    Gruß
    Alexander
  • Gibt es den kostenlosen E-Mail-Kurs: "Lerne wie du deinen eigenen Shopware 5 
    Shop erstellst und verwaltest" noch ?
    Ich wollte mich grad dafür anmelden, aber dann komme ich nur auf eine Seite mit der Fehlermeldung: 404 - page not found
  • Hey Anna,

    danke für den Hinweis - die Weiterleitung funktioniert nun wieder. Du solltest aber unabhängig davon eine E-Mail im Posteingang (oder vielleicht im Spam-Fach?) finden.

    Wenn Du diese bestätigst, dann beginnt der Kurs.

    Herzliche Grüße
    Marc
  • Gibt es eigetlich auch ein Plugin, das es einfacher macht ein Backup anzulegen?
  • Hey Atilla,

    viele Hoster bieten die Möglichkeit an automatische Backups zu erstellen und auch manuell anzulegen. Ein Plugin welches diese Funktion beinhaltet ist mir nicht bekannt.

    Viele Grüße
    Ewald
  • Wenn ich ein Backup erstellen will OHNE Cache Ordner mit:
    tar --exclude='./var/cache/production_*' -czf Backup_UnserShop_24_10_16.tar.gz .

    Kommt folgende Meldung:
    tar: invalid option -- '▒'
    Try 'tar --help' or 'tar --usage' for more information.
  • Hey Mario,

    der Befehl ist richtig. Evtl. hast du in der Konsole einfach ein Leerzeichen zu viel?
    Auf welchem System testest du den Befehl?

    Viele Grüße
    Ewald
  • Habe eine Frage was das Konsolenupdate angeht. Ich möchte dies auf dem localhost testen, dies wirft aber immer den Error:

    "ERROR: SQLSTATE[HY000] [2002] No such file or directory"

    Eine Idee woran das liegt? Btw. sehr simples und gut strukturiertes Tutorial :-)
  • Hallo Erik,

    vielen Dank für die netten Worte.

    Trat der Fehler beim mysqldump auf? Wenn ja, probier mal statt localhost die IP 127.0.0.1 zu verwenden.

    Viele Grüße
    Ewald
  • Frage 1:
    "0 - Communication Failure"
    Diese Meldung kommt bei mir leider sehr oft.. könnt ihr eventuell erklären warum das passiert und was man dagegen tun kann?
    Frage 2:
    "tar -czf Backup_UnserShop_24_10_16.tar.gz ." Kann man auch sagen das es den Cache Ordner nicht komprimieren soll? Der ist ja eigentlich unnötig oder?

    Grüße
  • Hallo Mario,

    1. Das liegt daran, dass PHP-Scripte auf den meisten Servern maximal 30 oder 60 Sekunden laufen dürfen und so ein Update Check gerne mal länger dauern kann. Dagegen kann man die Laufzeit verlängern https://php.net/manual/de/function.set-time-limit.php, was man aber nach dem Update wieder zurück stellen sollte.
    Sonst könnten ja fehlerhafte Script lange laufen und unnötig Ressourcen verbrauchen.

    2. Rein theoretisch ja, praktisch sollte man es lieber lassen. Es kommt gerne mal zu Veränderungen der Rechte wenn der Ordner fehlt. Wenn das Verzeichnis sehr groß ist kann man als Alternative die "production_" Ordner vor dem Komprimieren löschen.

    Viele Grüße,
    Ewald

Was denkst du?

Beliebt

Was du über die Shopware 5 Theme Struktur wissen musst und wie du ein eigenes Template erstellst
Social Media Icon mit Link im Footer
Shopware Theme: Eigenes Listing Layout erstellen
Logo Größe mit Less für Shopware 5 anpassen
Die größten Fehler bei der Entwicklung eines Shopware 5 Themes

Sicher Dir die besten Shopware 6
Tipps & Tricks

Trag Dich ein und Du erhältst unser Shopware 6 Whitepaper kostenlos!
Trag dich für unseren Newsletter an, im Anschluss erhältst Du das Whitepaper. 

Mit dem Abschicken Deiner Daten akzeptierst Du unsere Datenschutzerklärung.

Entdecke unsere ebooks

Unsere Standorte

Zentrale 

Technologiepark 23
33100 Paderborn


Leipzig
Bernhardstraße 34
04315 Leipzig

Kontakt

Über 8mylez

✓ 38 Mitarbeiter

✓ Shopware Gold Partner

✓ 40.000+ Plugin Downloads

✓ 160+ betreute Shops

✓ Full-Service Shopware Agentur

✓ 70 Shopware Videos auf Youtube

✓ Alle Shopware Zertifizierungen

Social


Unsere Partner
© 2023 by 8mylez GmbH //  Impressum + Datenschutz