Was beim Magento Update zu beachten ist – Magento CE und Enterprise

Ihr möchtet Euren Magento Shop updaten aber wisst nicht genau was Ihr beachten müsst bzw. welche Vorgehensweise am besten ist? Ich stelle hier meine Vorgehensweise für Magento Updates vor.

Als erstes bin ich kein Freund davon, Magento Updates über das Backend zu machen. Bei Plugins ist das eine bequeme Sache, bei den Magento Core Dateien kann dort aber zu viel passieren und zu viel auf einmal nicht mehr funktionieren.

Das Update sollte niemals im Liveshop gemacht werden, sondern immer in einer Testumgebung. Ich habe von meinen Magento Shops immer 2 Testumgebungen. Also eine Spiegelung des Magento Shops und eine Spiegelung der Spiegelung. Dies hat zum Vorteil, das man eine 2. Testumgebung hat, falls die erste nicht mehr funktioniert.

Ich erkläre nun Schritt für Schritt, wie ich bei einem Magento Community Edition Update vorgehe. Ich erkläre dies anhand des Beispieles eines Updates von Magento CE 1.7.0.1 auf Magento Community Edition 1.8. Dies Funktioniert natürlich auch bei allen anderen Magento Versionen sowie den Enterprise ( Magento EE ) Versionen.

Als erstes erstelle ich Backups von allen Shopdateien und der Shopdatenbank. Diese speicher ich alle Lokal ab und die Datenbank speichere ich Lokal im *.sql Format ab und spiegel die Datenbank auf meinem Webspace. Dies ist natürlich nur möglich, wenn man bei seinem Webhoster mehrere Datenbanken zur Verfügung hat.

Als nächstes lege ich einen neuen Unterordner in meinem Domainverzeichnis an. Diesen nenne ich meistens „newshop“ oder „newversion“. Nun lade ich mir die neuste Magento CE Version von der Magento Entwicklerseite herunter und kopiere diese in meinen neuen Unterordner. Außerdem erstelle ich eine neue Datenbank und gebe diese bei der Installation von Magento an.

Nun führe ich den kompletten Installationsprozess durch und starte den Shop. Mein Shop ist nun unter „http://meinedomain.de/newshop“ erreichbar. Die Installation von Magento wird auch über diese Domain gestartet. Bei der Installation sollte darauf geachtet werden, dass alle Einstellungen des Providers stimmen. (wie z.B. dass das Mod-Rewrite Modul aktiviert ist etc.)

Als nächstes muss der Template Ordner in die neue Installation kopiert werden. Also muss der Ordner

app/design/frontend/default/DeinTheme

und der Ordner

skin/frontend/default/DeinTheme

in die Neuinstallation kopiert und im Backend aktiviert werden.

Als nächsten Schritt müssen alle Plugins neu über den Magento Connect Manager heruntergeladen und installiert werden. Falls es dabei zu Fehlern kommt und es elementar wichtige Plugins sind, ist es sinnvoll auf der alten Magento Version zu bleiben.

Nun müssen wir die Datenbank aus dem laufenden Shop in unseren neuen Shop integrieren. Wie man die Zugangsdaten einer Magento Installation ändert, erkläre ich in diesem Beitrag => http://marvins-blog.de/blog/2014/01/09/datenbank-von-magento-aendern-zugangsdaten-aendern/
Nun muss nur noch der Cache von Magento geleert werden. Dafür loggt man sich in seinen FTP Account ein und löscht den Inhalt des Ordners „var/cache“ oder geht über das Backend auf „System => Cache Verwaltung“ und dann auf „Cache löschen“.

Als letztes müssen nur noch die CMS-Bilder, Artikelbilder und sonstige Mediadateien importiert werden. Dafür kopiert man den alten „media“ Ordner von Magento in die neue Magento Installation. Auch hier sollte wieder der Magento Cache geleert werden.

Falls nun keine Probleme im Shop auftreten ist Euer Shop erfolgreich geupdatet. Nun muss dann nur noch die Domainweiterleitung auf den „newshop“ Ordner geschehen und Euer Shop ist auf der neusten Magento Version und lauffähig. Sollten Probleme oder Fehler im Template auftreten können diese einfach via CSS behoben werden. Sollten aber funktionelle Probleme auftauchen ist es Sinnvoll, auf der alten Magentoversion zu bleiben.

Marvin Sengera

Marvin Sengera

Hey! Ich bin Marvin Sengera, Inhaber der Internetagentur "Binärfabrik" aus Paderborn. Ich habe mein Bachelorstudium Informatik mit Schwerpunkt Industriespionage an der Hochschule Hamm Lippstadt abgeschlossen und absolviere derzeit meinen Master in Fachrichtung "Technical Entrepreneurship and Innovation". Ich beschäftige mich rund um die Themen Informatik, Innovation & Unternehmensgründung.

Das könnte Dich auch interessieren …

2 Antworten

  1. Volker sagt:

    Hallo,

    ich habe das Update nach einen Anweisungen durgeführt und erhalte u.a. nach dem leeren des Caches den Fehler:
    a:5:{i:0;s:263:“Error in file: „…/app/code/core/Mage/Paypal/data/paypal_setup/data-upgrade-1.6.0.2-1.6.0.3.php“ – SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‚paypal_reversed‘ for key ‚PRIMARY'“;i:1;s:1128:“#0

    Habe bei meinen Recherchen zwar Einige gefunden, die das selbe Problem haben, aber keine vernünftige Lösung… die Fehlerabfrage auszukommentieren ist ja nicht gerade das Intelligenteste…

    Weisst du was da falsch läuft?

    Danke

    Volker

    • Der SQLSTATE[23000] Fehler entsteht immer dann, wenn man versucht ein zweiten Befehl auszuführen, der genau die selben Angaben hat wie der zuvor. Heißt => Das die dort angegebene, eindeutige, ID sich doppeln würde, wenn der zweite Befehl ausgeführt wird. Wenn du eigene Extensions in deiner Installation laufen hast, achte drauf das immer neue ID´s benutzt werden und keine doppelt vorkommen.

      In Magento treten Standardmäßig diese Probleme nur im Zusammenhang mit Caches auf. Versuch deshalb mal folgendes:
      1. Cache Löschen
      – Inhalt von “var/cache” der Magento Installation auf deinem Webspace löschen

      2. Indexe neu aufbauen
      – System -> Index Verwaltung

      3. Logs löschen
      – Logs in deiner Datenbank löschen
      Dazu kannst du folgenden Code in deiner Datenbank ausführen. (Bitte vorher alles sichern, ich übernehme keine Haftung für Schäden)

      TRUNCATE `log_customer`;
      TRUNCATE `log_quote`;
      TRUNCATE `log_summary`;
      TRUNCATE `log_summary_type`;
      TRUNCATE `log_url`;
      TRUNCATE `log_url_info`;
      TRUNCATE `log_visitor`;
      TRUNCATE `log_visitor_info`;
      TRUNCATE `log_visitor_online`;
      

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.