Hölle Hölle ;)

Ich hatte ja ein Problem mit dem Umzug eines WordPress-Blogs; bei Tageslicht betrachtet war es aber ein Layer-8-Problem …

Ich bin generell kein Freund von fehlender Rückwärtskompatibilität, und so manche in den letzten Jahrzehnten hochgehypte Sprache kümmert sich leider einen feuchten Kehrricht darum. Insofern war »PHP Fatal error: Uncaught Error: Call to undefined function …« ein leichter Trigger für eine Standardreaktion: »Waah, diese Horde inkompetenter Nerds haben wieder was karpott gespielt!!1!elf!«.

Allerdings: »… is_customize_preview() in /var/www/ffgt-beta/wordpress/wp-content/plugins/the-events-calendar/common/src/Tribe/Customizer.php:402« habe ich im Eifer des Gefechts übersehen. Vorurteile, auch ich bin nicht frei davon.

Tja, Fakt ist: ein WP-Umzug ist mit das einfachste, was man sich wünschen kann: DB kopieren, WP-Unterverzeichnis kopieren, läuft. Das ist neben der Theorie auch die Praxis, eigentlich; allerdings war hier die Ausgangssituation, wie im Nachgang sich herausstellte, eine andere. Denn die WP-Installation auf dem Quellsystem war offen­sichtlich schon stark angegriffen, warum auch immer; jedenfalls fanden sich andere Fehlermeldungen des migrierten Blogs auch schon länger in den Logs des Quellsystems. Kurzum: neben fehlenden PHP-Paketen auf dem Zielsystem fehlten schon im Quell­system Dateien — gar nicht so überraschend, war doch eine Um­zugs­mo­ti­va­tion auch ein sichtbarer Funk­tions­aus­fall im Backend.

Lessons learned:

  1. Fehlermeldungen gründlich checken, sind sie wirklich zielsystemorginär oder nicht auch beim Quellsystem einschlägig?
  2. Sind alle Pakete des Quell- auf dem Zielsystem installiert?
  3. Punkte 1 und 2 nocheinmal am Tage rekapitulieren

Tcha. Faktisch habe ich also die DB kopiert, ein aktuelles WP installiert und dieses auf die kopierte DB zeigen lassen. Dann per /etc/hosts-Eintrag den Zugriff auf die Site sichergestellt (WP redirected/rewrited auf den im WP konfigurierten FQDN — macht solche Migrationen nicht wirklich witzig), das verwendete Theme in Zielsystem installiert. Dann als Verwalter eingeloggt, im Quellsystem geguckt, welche Plugins installiert waren und jene im Zielsystem per WP-Backend installiert; einige waren »noch« konfiguriert, einige brauchten neue Credentials. Aber, ja, im Grunde ist eine WP-Migration wirklich ein Stück Keks ;)