Magento auf einen neuen Server umziehen – Typische Fehler

Magento auf einen neuen Server umziehen – Typische Fehler

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

Ich beschäftigt mich seit mehr als 10 Jahren mit PHP und der Webentwicklung. Seit über 7 Jahren bin ich als Freelancer in München tätig. Seit Anfang 2009 arbeite ich intensiv mit Magento und habe diverse Module für das Shop System entwickelt.

Haben Sie weitere Fragen? Kontaktieren Sie mich!

10 Kommentare

  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
    • Hallo Marc,

      welche Extensions habt ihr denn noch so installiert? Bei einem Update ist es mir eigentlich noch nie passiert, dass das Speichern von Blöcken nicht mehr funktioniert. Vielleicht ist eine Extension schuld daran?
      Ansonsten: hier tipps zu geben, ohne die Installation mal gesehen zu haben, ist schwierig. Am besten meldest du dich einfach kurz per Kontaktformular.

      Viele Grüße,
      Alexander

      antworten
  2. 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
    • Hallo Alexander,

      bei mir ist genau das gleiche Problem. Homepage funkt, alle anderen Pfade zu den Kategorien oder Artikeln laufen ins leere, 404er Fehler. Die statischen Seiten funktionieren.

      Hast du eine Idee?

      lg

      antworten
      • Hallo Roland,

        hast du die Schritte oben mal durchprobiert? Die haben bei mir bisher sehr oft weitergeholfen.
        Gerne kannst du dich auch schnell per Kontaktformular melden.

        Viele Grüße,
        Alexander

    • Hallo Sebastian,

      welche Version kommt den bei dir zum Einsatz?
      Kommt die Magento 404 Fehlermeldung oder die Webserver 404 Fehlermeldung?
      Ansonsten einfach schnell per Kontaktformular durchschreiben, dann kann ich das kurz genau anschauen.

      Viele Grüße,
      Alexander

      antworten
  3. Hallo und guten Tag Alexander,
    Ihr Artikel ist zwar schon etwas älter aber für mich aktueller den je.
    Im Dezember wurde mein bestehender Shop Version 1.8.0.0 auf einen neuen Server umgezogen. Er funktioniert auch im Frontend ganz wunderbar, jedoch kann ich seitdem im Backend bereits bestehende Rechnungen nicht mehr anschauen. Haben Sie einen Tipp wie ich eventuell dieses problem Fixen kann? Damit würden Sie mir sehr helfen

    Vielen Dank,
    Stefan Isheim

    antworten
    • Hallo Stefan,

      kommt ein bestimmtes Rechnungsmodul zum Einsatz?
      Werden die Rechnungen denn bei neuen Bestellungen erstellt?

      Viele Grüße,
      Alexander

      antworten
  4. Hallo Alexander,

    ich hatte beim dem Import der DB ständig das Problem: „“Duplicate entry ‘1’ for key ‘PRIMARY’”“. Die Lösung war dann sehr einfach und fand ich dann hier: http://gielberkers.com/fix-duplicate-entry-1-key-primary-data-migration-magento/ . Einfach „SET sql_mode=’NO_AUTO_VALUE_ON_ZERO‘;“ im SQL-Export am Anfang hinzufügen. Wäre ich aber nie drauf gekommen, daher hier ein kurzer Hinweis für alle, die das gleiche Problem haben.
    Gruß,
    Jörg
    P.S.: Die beiden Zeilen, die du oben unter „Problem & Lösung“ erwähnst und man gegeneinander austauschen soll, sind die nicht identisch?

    antworten
    • Hallo Jörg,

      danke für den Hinweis, ich hab die Zeile oben ausgebessert. Und auch danke für den Link – das hilft bestimmt dem ein oder anderen!

      Viele Grüße,
      Alexander

      antworten

Kommentar absenden

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