Großbaustellen mit Joomla – Alles neu machen, aber richtig

Manchmal bleiben Projekte liegen und nichts tut sich. So etwas kennen viele, aber dann muss was getan werden. Jetzt ist der Punkt wo viele in blanken Aktionismus verfallen, doch dabei geht meistens was schief. Da bei mir Migrationsprojekte meistens etwas Komplexer sind, möchte ich hier mal ein komplexes Szenario etwas beleuchten umso auch denen zu helfen die vor solchen Herausforderungen stehen. Wichtig ist immer das man sich immer einen genauen Plan macht. Ich werde immer wenn ich mal wieder Zeit für dieses No-Priority Projekt habe, die Anleitungen zu den Schritten bloggen.


Ich erhebe mit dieser Anleitung kein Anspruch auf Vollständigkeit, jedes Projekt ist anders. Also: Blindes nachmachen ohne drüber Nachzudenken auf eigene Gefahr.

Ist und Soll Zustand

Das Projekt basiert auf einer älteren Joomla Version die stark Modifiziert ist, und an der viel experimentiert wurde. Kurzum, keine gute Option für ein In-Place Update. Um mögliche Altlasten zu vermeiden ist der Entschluss gefallen die Webseite komplett neu zu erstellen (Auf dem Stand der Technik). Das alleine wird schon durch verschiedene Punkte schwierig und viel Arbeit, vor allem setzt das viel Planung voraus. Aber das alleine hab ich schon gemacht, ist noch nicht interessant genug 😉 Spaß bei Seite, ich bin ein Freund von „Keep-it-simple“, aber ich habe meine Gründe.

Gehostet wird das Projekt im Moment bei einem Hoster mit dem ich seit Jahren zufrieden bin, aber ich möchte meine Projekte auf einem eigenen System Konsolidieren. Hintergrund ist, ich möchte auch an Schrauben auf der Linux Ebene drehen, und das geht bei meinem bisherigen Hosting Anbieter aus verständlichen Gründen leider nicht.

Das neue Layout soll natürlich auch an die Aktuellen Bedingungen angepasst werden und vom Smartphone bis zu HD-Fernseher alles unterstützen. Das war damals noch nicht wirklich notwendig, aber die Handynutzer nehmen auch bei mir zu.

Die Risiken

Es gibt immer Risiken, welche müssen wir aber bei so einem Projekt besonders im Auge haben?

  • Den Google Index, wenn durch die Migration Seiten verloren gehen durch neue URLs gibt das Abzüge und Links von anderen Seiten werden unter Umständen nicht sauber weitergeleitet. Fehler sind hier der schnellste Weg von Google abgestraft zu werden oder aus dem Index zu fliegen
  • Ausfallzeiten in denen die Seite nicht verfügbar ist. Diese Zeitspanne sollten maximal im einstelligen Sekundenbereich liegen. Wenn man es richtig plant, merken die Besucher nichts, außer das sich irgendwann das Layout ändert. Das ist das Ziel und die Königsdisziplin, auch ich hab da ein paar Anläufe bei früheren Projekten für gebraucht. In den weiteren Post erkäre ich Ihnen wie sie das umgehen können.
  • Datenverlust, habe ich alle Daten mitgenommen? Ist alles richtig in der neuen Plattform angekommen? Stimmen auch Umlaute und Sonderzeichen?
  • Nicht ausreichende DNS Unterstützung. Wir müssen auf beiden Seiten viel am DNS arbeiten. Es werden also für die Schritte voller Administrativer Zugriff auf die DNS Einträge benötigt.

Der Grobe Plan

Natürlich muss man sich die Reihenfolge der Schritte gut überlegen um auch die Risiken möglichst zu vermeiden. Am Anfang beschreibe ich erstmal eine kurze Zusammenfassung der Arbeitsschritte, in späteren Blogbeiträgen gehe ich dann auf die Details ein.

Ablaufplan der Migration
Ablaufplan der Migration

Der neue Aufbau

Als erstes muss beim neuen Anbieter erstmal das Projekt eingerichtet werden. Da ich mein eigener Hoster bin, habe ich ein paar Vorteile. Da ich aber auf dem Server Plesk nutze und für das Projekt einen eigenen Kunden angelegt habe, sollte das alles auch mit den meisten Anbietern funktionieren.

Ich lasse das Projekt mit den Richtigen Domains einrichten, lasse aber noch KEINEN KK-Antrag ausführen! Alles bleibt beim alten Anbieter. Einzig die TTL der DNS Zone und der Einträge wird reduziert, ich nehme da gerne den Wert von einer Stunde. Wichtig ist, notieren Sie sich den Ursprungswert, er gib an, wann Sie frühestens wieder etwas am DNS ändern sollten. Für den neuen Anbieter sollten Sie direkt auch einen DNS Eintrag Einrichten, zum Beispiel www2.domainname.tld.

Parallel zu den DNS Änderungen wird dann das neue CMS installiert und eingerichtet inklusiver benötigter Plug-Ins wie Galerien, Kalender, etc..

Die Datenmigration der Hauptwebseite

Nach dem das CMS vollständig eingerichtet ist, werden die Inhalte migriert. Wenn das geschehen ist müssen noch die .htaccess Regeln für die Redirects auf die neuen URL Strukturen erstellt werden. Die Umstellung auf die neue Seite erfolgt später.

Die Migration der weiteren Dienste

Als nächstes müssen weitere Web-Applikationen, zum Beispiel Piwik, Migriert werden. Hier muss sich sichergestellt werden, wie bei der eigentlichen Migration das die Downtime des Dienstes möglich gering ist. Der Aufwand den man sich hier machen sollte, sollte aber in Relation zu den Verfügbarkeitsanforderungen stehen. Wenn ich einen Tag auf meine Statistiken oder den Newsletter Versand verzichten kann, muss es nicht kompliziert gemacht werden.

Der nächste Schritt ist die Migration der Mailpostfächer und das Umschalten des Mail Servers.

Auch sollte hier ein Blick in die Datenbank und mit FTP auf die Alte Umgebung geworfen werden, ob man etwas vergessen hat. Zum Beispiel eine PDF Datei die direkt verlinkt wurde.

Umschalten der Hauptwebseite

Jetzt wird die Webseite auf dem neuen System so eingestellt, das sie sich für die eigentliche Webseite hält. Das bedeutet Sie reagiert auf www.domainname.tld, und im DNS auf dem alten System wird jetzt für www die Adresse des neuen Servers eingetragen. Ab jetzt gelangen die Besucher wenn das nächste Mal ihr DNS-Cache aktualisiert wird auf der neuen Seite.

Nacharbeiten

In der neuen Umgebung sollte jetzt der DNS richtig konfiguriert werden. Alle Einträge sollten stimmen. Jetzt kann der KK-Antrag gestellt werden und die Domain auf den neuen Hosting Anbieter umgezogen werden. Dabei drauf achten das die DNS Server richtig eingetragen werden.

Wenn alles beim alten Anbieter weg ist, kann die Kündigung / Abschaltung erfolgen.

Abschließende Bemerkungen

Einige der Schritte kann man auch tauschen, man könnte zum Beispiel den DNS vorher umziehen, wenn man beim alten Anbieter keine Bearbeitungsmöglichkeiten hat. Wichtig ist nur, vorher gut planen und im Zweifel jemanden Fragen der sich auskennt.

Wenn im DNS etwas falsch eingetragen hat, ist die TTL des Eintrages wichtig, erst dann fragen die DNS Server das zwischengespeicherte Ergebnis erneut nach. Eine Dauer von 7 Tagen wäre fatal, eine Dauer von 5 Minuten vielleicht etwas zu viel für den eigenen DNS Server. Finden Sie hier einen Wert mit dem sie leben können, und ändern Sie es rechtzeitig. Denn auch die Änderung der TTL wird erst nach dem die alte TTL abgelaufen vom anderen DNS Servern berücksichtigt. Sie sehen all das Voodoo mit der „No-Downtime“ und der permanenten Verfügbarkeit hängt von den Einträgen im DNS ab.