Eine Website von einem Server auf einen anderen umzuziehen ist nicht einfach, deutlich schwieriger wird das ganze aber nochmal wenn die Website ein Shop ist. Da ich schon einige Magento Shops umgezogen haben, wollte ich meine Vorgehensweise vorstellen und die typischen Probleme bei einem Magento Umzug mit der entsprechenden Lösung auflisten.

Bewährte Vorgehensweise

  • Shopsystem auf dem Server zu einer .zip Datei zusammenfassen
    Die meisten Magento Shops dürften auf Managed-Servern oder Root-Servern laufen. Sowohl auf Root als auch auf Managed Servern sollte man die Möglichkeit haben den Shop zu zippen.
    Da Magento aus extrem vielen kleinen Dateien besteht, dauert der Transfer der Dateien ohne das zippen unnötig lange.
  • Datenbank mit phpMyAdmin exportieren
    Beim Export der Datenbank sollte man darauf achten, dass die Option Fremdschlüsselüberprüfung deaktivieren aktiviert ist. Da Magento, wie alle größeren Shop Systeme, in der Datenbankstruktur viele Foreign Keys verwendet, kann es sonst zu Problemen beim Import führen. Am Ende der exportierten Datei wird die Fremdschlüsselüberprüfung von phpMyAdmin automatisch wieder aktiviert.
  • Datenbank und Magento auf den neuen Server hochladen
    Die Datenbank kann man im komprimierten Zustand auch per FTP Client hochladen. Magento selbst sollte, um Zeit zu sparen, direkt von dem alten Server auf neuen Server übertragen werden werden.
  • Magento entpacken
  • Die Datenbank mit mysqldump oder bigdump einlesen.
  • Datenbank Zugangsdaten ändern
    Falls sich die Datenbank Zugangsdaten auf dem neuen Server geändert haben, muss man diese in der Datei /app/etc/local.xml auch anpassen.
  • In der Datenbank müssen anschließend noch zwei Werte modifiziert werden. Beide Einträge befinden sich in der Tabelle core_config_data. Der erste Eintrag ist web/unsecure/base_url, welcher die neue URL des Shops bekommen sollte. Der zweite Eintrag ist web/secure/base_url, welcher die HTTPS URL des neuen Shops beinhalten sollte.
    Falls der Shop nur auf einen neuen Server umgezogen wird, ohne dass dabei ein URL Wechsel vollzogen wird, kann dieser Schritt übersprungen werden.

Nachdem man die Schritte alle ausgeführt hat, sollte der Shop wieder problemlos auf dem neuen Server funktionieren. Da aber trotzdem immer wieder Probleme dabei auftreten, habe ich hier eine Liste über Typische Probleme angehängt.

USING BTREE

Fehlermeldung

Problem & Lösung
Ältere MySQL Versionen können mit USING BTREE hinter der Liste der Unique Keys nichts anfangen. Daher muss man in dem Datenbank Dump folgende Zeile suchen:

und mit folgender Zeile austauschen:

Falls das einspielen des Datenbank-Dumps danach immer noch nicht funktioniert, wird in verschiedenen Blogs geraten das USING BTREE einfach herauszulöschen. Ich konnte die Dumps bisher nach der Umstellung immer einspielen und würde daher von solchen Modifikationen abraten.

Store Zusammenhänge

Fehlermeldung

Problem & Lösung
Beim Umzug von Magento kann es vorkommen, dass Indexizes erhöht werden und anschließend die interne Zuordnung von Stores zu Websites nicht mehr funktioniert. Ich hatte das Problem bei älteren Versionen mehrmals, bei 1.4.x ist es mir allerdings noch nicht untergekommen.

Im Internet kursieren dazu verschiedene Lösungen, die meistens das manuelle Editieren der betroffenen Einträge zur Folge haben. Das manuelle editieren in Datenbanken sollte man allerdings Fachleute machen lassen, da man hier schnell komplette Datensätze kaputt machen kann.

setWebsite() must be an Instance…

Fehlermeldung

Lösung
Um das Problem zu lösen, muss man die Datei /app/etc/use_cache.ser löschen.

Alexander Ostermeyr

Alexander Ostermeyr beschäftigt sich seit mehr als 10 Jahren mit PHP, MySQL und der Frontend-Entwicklung. Seit über 5 Jahren ist er als Freelancer in München tätig. Seit Anfang 2009 arbeitet er intensiv mit Magento und hat diverse Module für das Shop System entwickelt. Alexander ist Gründer und Geschäftsführer der codesprint GmbH. Haben Sie Fragen? Kontaktieren Sie mich!

2 Comments

  1. Hallo Alexander,
    darf ich Dich um eine Tipp bitten, wie ich mit folgendem Magento-Problem weiterkomme. Dies scheint den oben beschriebenen Problemen ähnlich zu sein.
    Nach Update von 1.3.2.1. auf 1.4.2 funktioniert das Speichern der statischen Blöcke nicht mehr. D.H. wenn im Editor eine Änderung übernommen wird und gespeichert, kommt zwar die Meldung: Block gespeichert, die Änderungen werden aber nicht übernommen. Das 2. ist dass nach Ausfüllen des Kontaktformulars und Absenden der Fehler 404 kommt, anscheinend wird die xml-Datei contacts nicht gefunden. Troz stundenlanger Recherche in Foren habe ich noch keinen Ansatzpunkt gefunden, wie ich mit den Problemen weiterkomme.
    Deshalb wäre ich Dir als Magento-Spezialist für einen Hinweis dankbar.

    Vielen Dank für Deine Antwort
    Marc Schauecker

    Antworten
  2. Sebastian

    Hallo Alexander,

    vielen Dank für den hilfreichen Artikel bzgl. des Magento Serverumzugs, was bei mir jedoch nicht funktioniert, trotz der Einhaltung der o.g. Schritte.

    Das Problem ist, dass ich nach dem Umzug nur die Homepage aufrufen kann, bei jeglichen anderen Pfaden bekomme ich die Fehlermeldung “Not Found, 404″

    Womit könnte das zusammenhängen?

    Über sachdienliche Hinweise würde ich mich sehr freuen! Vielen Dank.

    Antworten

Kommentare