Der Linux-Blog läuft endlich nicht mehr als 1&1 Applikation

Jahrelang habe ich meinen Linux-Blog als 1&1-Applikation genutzt. Das war am Anfang bequem, entpuppte sich aber mehr und mehr als Dummheit. Für den wachsenden Unmut waren folgende Gründe ausschlaggebend:

  • Man war bei 1&1 auf vorgefertigte und z.T. nicht fehlerfreien 1&1 Layouts begrenzt.
  • Das Verzeichnis mit den WordPress-Programm-Dateien war nicht zugänglich. Damit hatte man auch keinen Zugriff auf die Konfigurationsdatei.
  • Man kam nicht an die in irgendwelchen 1&1-Datenbanken hinterlegten Daten heran.
  • Es gab keine Export-Funktion in der von 1&1 beschnittenen Blog-Verwaltung.
  • Man konnte die Subdomaine/Domaine, unter der der 1&1-Blog eingerichtet war, nicht ohne ein gleichzeitiges Löschen aller Blog-Inhalte auf ein anderes Server-Verzeichnis legen.

Das alles waren Einschränkungen, mit denen 1&1 eine Kundenbindung erzwang. Ein einfacher Wechsel des Providers oder auch nur eine Übernahme des Blogs in selbst verwaltete Datenbanken und Webserver-Verzeichnisse war praktisch ausgeschlossen, weil das immer mit einer Aufgabe des Blogs und einem Verlust der Daten verbunden gewesen wäre. Nun konnte ich aber die von 1&1 zur Zeit systematisch vorgenommene Umstellung auf eine neuere WordPress-Version nutzen, um mich endlich ein wenig unabhängiger zu machen.

Das war auch bitter und dringlichst notwendig. Denn die heute von 1&1 vorgenommene sogenannte "Umstellung" erwies sich als nicht gelungen; 1&1 hat bei der Migration des Blogs offenbar wenig Wert auf ein sauberes Vorgehen gelegt:

  • Kein adäquates Layout mehr nach der "Umstellung":
    Ich hätte erwartet, dass das von 1&1 früher angebotene und von mir vor Jahren gewählte Layout vorab überarbeitet und an die aktuelle WordPress-Version angepasst worden wäre. Man möchte seinen Blog nach einer Migration natürlich wieder mit dem Aussehen vorfinden, zu dem 1&1 einen früher verführt hatte. Weit gefehlt: Nach der Migration fand ich meinen Blog statt in dem früher von mir gewählten Layout im öden blauen WP-Basis-Layout vor. Und keines der früheren 1&1-Layouts war im Theme-Angebot zu finden.
  • Englisch als Standardsprache:
    Das zweite Übel bestand darin, dass die Sprache auf Englisch umgestellt worden war und dass die Datenbank nun unter UTF8 läuft. Leider war dies in den migrierten Datenbankdaten nicht nicht überall berücksichtigt worden. Das verhunzte u.a. alle Kategorie-Namen, die Umlaute enthalten hatten. Die Kategorie-Bezeichnungen wurden ab dem ersten Umlaut schlicht abgeschnitten.
  • Alle Posts waren nach der Migration für eine Kommentierung freigegeben:
    Noch viel schlimmer bewerte ich die Tatsache, dass das Spamaufkommen zu meinem Blog etwa 1 Stunde nach der Umstellung von 161 abrupt zunahm. Ursache hierfür war, dass das früher eingestellte Verbot einer Kommentierung von Artikeln nach der 1&1-Migration aufgehoben war.

Diese Art der Umstellung erfolgte wie gesagt heute und hatte mir erstmal einen kleinen Schock versetzt. Mein IMAP-Server füllte seinen Spam-Ordner und der Blog sah schlicht furchtbar aus. Das mochte ich meinen Lesern nicht zumuten.

Nachdem ich einen ersten Wutanfall überwunden hatte, habe ich dann den heutigen Nachmittag genutzt, um den Blog unter meine eigenen Fittiche zu bekommen. Vielleicht haben einige meiner Leser ja auch den Wunsch, sich im Zuge der "1&1-Migration" ihres Blogs sich diesbezüglich von 1&1 abzunabeln. Glaubt mir: So günstig erhaltet ihr vermutlich nie wieder die Chance, eure Daten auf einfache Weise und völlig ohne jedes Hacking in den Griff zu bekommen.

Also - nachfolgend findet ihr einen kleinen Handzettel zur

"Migration eures Blogs weg von der 1&1-Wordpress-Applikation in eine selbst kontrollierte Web-Präsenz".

Diese selbst kontrollierte Web-Präsenz kann durchaus wieder bei 1&1 liegen - wichtig ist nur die eigene Kontrolle über die WordPress-Dateien und die WordPress-Daten (u.a. die der wertvollen Posts) in einer selbst verwalteten Datenbank.

Zur Vorbereitung der Migration habe ich mir zunächst genauer angesehen, ob ich die Daten meines Blogs nicht mit den Standardfunktionen der neuen WordPress-Version exportieren könnte. Ja das ging; das war von 1&1 diesmal nicht abgestellt. Also hatte ich nun schon mal eine XML-Datei meiner Daten als letzten Notanker. Leider musste ich dann feststellen, dass ein Import in einen kurzfristig installierten eigenen WordPress-Blog nicht funktionieren wollte. Vielleicht weil das Import-Plugin nicht mit der aktuellen WordPress-Version zusammenspielt (s. hierzu auch: http://blog.trisepo.com/archives/61/ ) oder weil der Import in meinem Fall alle gesetzten PHP- und MySQL-Zeitlimits auf den 1&1-Servern überstieg. Letzteres war und ist in meinem Fall mehr als wahrscheinlich.

Dann habe ich mir angesehen, auf welches Verzeichnis die Subdomaine meines 1&1-Blogs nach der Migration umgelenkt wurde. Und oh Wunder: Dieses Verzeichnis war zumindest für eine Weile in den Serververzeichnissen meines Hosting-Paketes bei 1&1 zugänglich! Damit hat man dann schon fast gewonnen:

Schritt 0: Man führe als allererstes eine Sicherung des gesamten neuen WordPress-Verzeichnisses durch. Danach studiere man die WordPress-Konfigurationsdatei "wp-config.php" des Hauptverzeichnisses. Die dort angegebenen Daten sind in zweierlei Hinsicht bedeutsam:

Erstens werden die Verbindungsdaten zur Datenbank angegeben, auf die 1&1 den Blog nun migriert hatte. Diese Datenbank ist ja nicht unter den normalen Banken zu finden, die dem eigenen 1&1-Paket zugeordnet sind. Damit sind sie auch nicht über die 1&1-MySQL-Verwaltung zugänglich. Zweitens enthält die Datei wichtige Angaben zu den Verschlüsselungsverfahren, die 1&1 zum Hashen der Passwörter verwendet. Diese Daten sind sehr wichtig, wenn man bei der Abnabelung Probleme mit den Passwörtern vermeiden will.

Die nächsten Schritte zur Abkopplung von der 1&1-Wordpress-Applikation sind dann folgende:

Schritt 1: PhpMyadmin in der eigenen Webpräsenz bei 1&1 installieren. Dort in der PhpMyAdmin-Konfiguration die Zugriffsdaten für die 1&1-Datenbank des migrierten 1&1-Wordpress-Blog eintragen. In diese 1&1-Datenbank kann man sich dann mit PhpMyAdmin einloggen. Jetzt erstmal die gesamte Bank per PhpMyAdmin-Export in eine Datei sichern und diese herunterladen. Dann erneut auf die Bank zugreifen und die Tabellen mit den angehäuften WordPress-Daten der letzten Jahre einzeln (!) exportieren.

Man tut einfach gut daran, Tabelle für Tabelle in separaten Dateien zu sichern und herunterzuladen - nicht alle Tabellen in einem einzigen Export-File. Gründe: Der spätere Import in eine selbstverwaltete Datenbank würde bei einer einzigen, großen Datei ggf. zu lang dauern und die Limit des Providers sprengen. Ferner muss man später in der Sicherungsdatei für die Tabelle der Posts per Editor die Link-Adressen aller Artikel ändern (s.u.). (Das Arbeiten an der Datei ist aus meiner Sicht jedenfalls das schnellste und einfachste Verfahren.)

Schritt 3: Download einer aktuellen (deutschen) WordPress-Version (Version 3.5.1) aus dem Web. Danach Upload der zugehörigen Verzeichnisse und Dateien in ein neues Blog-Verzeichnis auf dem gewünschten eigenen Web-Server. Aber danach bitte keine WordPress Installation vornehmen! Wir migrieren in den nachfolgenden Schritten vielmehr alle Tabellen und Daten aus der bisherigen 1&1-Blog-Installation und nutzen deren Konfigurationsdatei nach der Durchführung erforderlicher Änderungen.

Schritt 4: Mit PhpMyAdmin eine eigene Datenbank auf einem eigenen DB-Server einrichten. Dann die vorher heruntergeladenen Sicherungsdateien der WordPress-Tabellen in die eigene Datenbank importieren. Ausnahme: Die Sicherungsdatei für die Tabelle, die die "Posts" enthält. Die erkennt man in der Regel am Namen ("..._wp_posts"). Die Namen aller anderen, durch die PhpMyAdmin-Importe erzeugten Tabelllen in der eigenen Datenbank nun durch eigene Namen ersetzen: Dies dient nur dazu, das 1&1-Tabellenprefix mit einem eigenen zu ersetzen (z.B.: myblog_wp_.... ). Die hinteren Namensanteile der Tabellen lassen wir dagegen unverändert.

Schritt 5: In den Tabellen "myblog_wp_usermeta", "myblog_wp_options" alle erforderlichen Anpassungen vornehmen. ("myblog_wp_" ist natürlich durch den gewählten eigenen Prefix zu ersezen!) Die erforderlichen Änderungen betreffen u.a. die Rechtevorgaben an den Tabellen - man erkennt die alten Tabellen-Prefixes leicht in den entsprechenden Tabellenspalten. Diese Tabellenverweise muss man nun an die neuen Tabellen-Namen mit dem eigenen Prefix anpassen. Änderungen sind aber auch für die Domain-Angabe zum neuen, selbst verwalteten Blog erforderlich. Die bisherige Domain-Bezeichnung muss durch die Bezeichnung der künftigen (Sub-) Domaine für den neuen Blog ersetzt werden.

Wichtiger Hinweis: Man sollte dem neu eingerichteten Blog in jedem Fall so lange eine andere Domaine als die des bisherigen 1&1-Blog zuordnen, bis der neue Blog richtig läuft. Erst danach kann man den alten (Sub-) Domainnamen von 1&1 umlenken. Beachte: Eine Domain-Umlenkung und Akopplung von der 1&1-Blog-Applikation ist mit einer endgültigen Zerstörung aller Blogdaten bei 1&1 verbunden - das genau war ja deren Folterinstrument zur Kundenankettung. Und dieses Risiko nehmen wir erst nach einer erfolgreichen Blog-Migration auf uns.

Schritt 6: Editieren einer Kopie der per PhpMyAdmin erzeugten Sicherungsdatei für die Tabelle zu den Posts. Z.B. mit einem flexiblen Editor wie Kate. Kate muss dabei auf sehr (!) lange Zeilenlängen (ggf. 100000 Zeichen) eingestellt werden. Dann im File den alten Domainnamen durch den gewünschten neuen an allen vorkommenden Stellen ersetzen. Damit wird die URL der Artikel geändert. In den Statements der Datei für die Tabellengenerierung ist zudem der bisherige 1&1-Tabellennamen durch den gewünschten neuen mit dem eigenen Prefix zu ersetzen.

Schritt 7: Importieren des geänderten Files für die "Posts"-Tabelle per PhpMyAdmin in den eigenen Datenbankserver. Die erzeugte Tabelle sollte dann gleich die richtige Bezeichnung haben.

Schritt 8: In der Dateisicherung der 1&1-Wordpress-Dateien die Konfigurationsdatei "wp-config.php" ausfindig machen. Eine Kopie für Änderungen und den späteren Upload auf den eigenen Server erstellen. Diese Kopie muss nun editiert werden. U.a. muss die dortige Konfigurationsvorgabe für die Sprach-Einstellung explizit auf "de_DE" umgestellt werden. Ferner sind die neuen, eigenen Datenbankzugangsdaten einzugeben. (Gemeint ist hier natürlich die eigene Bank, auf der man den neuen Blog zum Laufen bringen will - also die Bank auf die man die Tabellen hochgeladen hat). Auch das Prefix für die Datenbank-Tabellen ist in den config-Einstellungen anzupassen. An den Verschlüsselungseinstellungen (Key- und Salt-Angaben) aber bitte nichts ändern! Das würde nämlich alle alten Passwörter unbrauchbar machen! Dann die veränderte Konfigurationsdatei unter dem Namen "wp-config.php" in das WordPress-Hauptverzeichnis der eigenen Installation hochladen.

Schritt 9: In der Datei-Sicherung des bisherigen 1&1-Blogs das Verzeichnis "wp-content/uploads" ausfindig machen. Dann ganzen Inhalt diese Verzeichnisses in das entsprechende Verzeichnis der neuen Blog-Installation hochladen. (Damit füllen wir die Mediathek des neuen Blogs in konsistenter Weise zu den migrierten Datenbankdaten).

Schritt 10: In seiner Web-Präsenz eine (Sub-)Domaine für den neuen, eigenen Blog anlegen oder anlegen lassen. Dann diese (Sub-) Domaine auf das Verzeichnis der WordPress-Installation in der eigenen Webpräsenz lenken.

Schritt 11: Durchatmen, kurz Mut fassen und sich mit den alten Administrator-Zugangsdaten im neuen Blog unter dem (neuen) Domainnamen einloggen.

Schritt 12: Für alle alten Posts ggf. als erstes wieder die Kommentierungssperre setzen, die 1&1 während deren Umstellung aufgehoben hatte.

Schritt 13: Überprüfung und Setzen aller weiteren Einstellungen des Blogs. Wichtig ist auch hier die temporäre Umstellung der URL des Blogs unter "Einstellungen   >   Allgemein" auf die neue (Sub-) Domaine.

Schritt 14: Ändern des Layouts durch die Auswahl eines Themes, Nutzen der WordPresss Tools und durch Manipulation der CSS-Dateien des geladenen Themes. Da dieser Schritt einige Zeit in Anspruch nehmen kann, kann man ihn auch auf später verschieben.

Schritt 15: Überarbeiten der Kategoriebezeichnungen mit Umlauten, die ggf. von 1&1 während deren Blog-Umstellung zerstört worden waren.

Schritt 16: Alles sichern (Datenbanken und Dateien).

Schritt 17: Wenn der neue, selbstverwaltete Blog sauber läuft und alle Artikel inkl. Bilder und Anhängen anzeigt werden: Den alten Domainnamen bei 1&1 von der 1&1-WordPressP-Applikation lösen - dies bedeutet dann allerdings die unwiederbringliche Löschung aller alten Blog-Daten bei 1&1. Aber die hatten wir ja in den ersten Schritten bereits gesichert. Danach Zuweisung der (Sub-)Domaine zum neuen Blog-Verzeichnis, falls dieses in einer eigenen Web-Präsenz bei 1&1 liegt. Falls nicht, eine Domain-Umlenkung auf die neue Domaine vornehmen.

Schritt 18:Läuft dann auch unter dem alten Domainnamen alles wie gehabt, kann man zumindest im Fall einer Webpräsenz bei 1&1 alle Einstellungen zur Domain-URL des Blogs wieder auf die alten Einstellungen zurücksetzen. Dies geschieht teilweise durch Benutzung der Verwaltungsoberfläche "Einstellungen   >   Allgemein", teilweise durch direkten Eintrag in die bereits genannten Datenbank-Tabellen, bzgl. der Posts aber durch Export der Tabelle in eine Datei, Überarbeiten der dortigen Adressangaben per Editor und Reimport der Tabelle.

Schritt 19: Einstellen des PING-Mechanismus unter "Einstellungen   >   Schreiben" zur Benachrichtigung von anderen Blog- und Crawler-Engines. Unter
http://www.instant-info-online.com/wordpress-compressed-all-inclusive-ping-list.html
wird zur Vermeidung von Mehrfachpings folgende komprimierte Liste empfohlen:

http://rpc.pingomatic.com
http://blogsearch.google.com/ping/RPC2
http://ping.myblog.jp

Dies liste funktioniert nach meiner Erfahrung sehr gut.

Schritt 20: Ggf. Installation eines Ping-Optimizer-Plugins zur Begrenzung des selbst verursachten Ping-Aufkommens, um beim eifrigen Bloggen nicht zum Ping-Spammer zu werden.

Und das wars dann schon. Viel Spass mit dem Bloggen unter eigener Kontrolle der erzeugten Daten.