Ein Typo3 Web Version 3.6.2 nach 4.1.5 übertragen, ganz einfach.
Suse 9.2 sowie PHP 4.x haben Löcher, die sich so nach und nach rumsprechen. Und so wurden unsere Typo3 Webs so nach und nach Angriffsziele von Irren oder Spinnern oder anderen bösartigen Ars............n. (Ob ich mich geärgert habe ?)
Die Aufgabe war, den komfortabelsten nachvollziehbaren Weg zu finden, wie man eine Typo3 Version 3.6 (oder höher) in eine Version 4.1.5 oder höher migriert.
Die Grundlagen: Export
Der Daten-Export auf dem Quellserver:
Das Web-Root mit tar in einen xxxx.tar.gz file packen. Dazu brauche ich einen ssh Zugang mit putty auf file Ebene und dazu gehört eine gehörige Portion Vorbereitung. Ich brauche auf dem Ziel nicht die ganzen temporären Daten, weder in der Datenbank noch in den ..tmp.. Verzeichnissen.
Also gilt es, des Nachts den Apache kurz zu stoppen und mit dem Midnight- Commander alle erzeugten Thumbnails oder erzeugten mini Bilder zu löschen. Wir brauchen nur die Orginale. Und aufpassen, der "r m" Befehl kann ab einer gewissen Menge diese Dateien nicht mehr löschen, (table overflow), der "mc" kann auch 10.000 Files !! am Stück markieren und löschen.
Mit Hilfe des phpMyAdmin kann man jetzt in der gewünschten Datenbank alle Tabellen mit namen "cachexxxxxirgendwas" nur leeren !!! (nicht löschen!!). Die Datenmenge reduziert sich dramatisch auf 25%. Ich habe sogar die Protokolle und Logs gelöscht. Damit geht natürlich kein Rückwärtsgang mehr, brauche ich aber zu diesem Zeitpunkt auch nicht mehr.
Jetzt sofort die einzelne Datenbank mit dem mysql commandline Werkzeug in einen gepackten dump File dumpen (der Apache ist gestoppt, Mysql läuft noch!!)
Zeitbedarf ca 5 Minuten bei sorgfältiger Arbeit.
Dann mit tar das geleerte Web-Root Verzeichnis packen und den Apache wieder anwerfen. Das wars.
Die Grundlagen: Quell-Web und Ziel-Web
Um einen wirklich lückenlosen Übergang zum neuen Server zu bekommen, haben wir auf dem neuen Zielserver alles so weit vorbereitet, daß der DNS Eintrag später wirklich (fertig ausprobiert) umgeschaltet werden kann.
Dazu braucht man einen unbeschränkten Zugang auf seine(n) zuständigen DNS Server, zumindest den Primary DNS.
Also hier mein Beispiel:
Zum bestehenden laufenden Web unter "www.useddlt.com" auf unserem alten www6 Quell-Server habe ich einen zusätzlichen neuen DNS Eintrag angelegt mit "www9.useddlt.com" auf unserem neuen www9 Zielserver.
Damit habe ich hier also 3 Stellen, an denen ich besonders aufpassen muß.
- der neue DNS Eintrag z.B. als Alias (samt DNS restart)
- der httpd.conf (vhost-) Eintrag mit den Alias Domain-Namen (samt apache restart)
- der neue zusätzliche Typo3 interne Domain Eintrag (www9.useddlt.com) im Backend
Auf dem Zielserver bringe ich die Typo3 Version 4.1.5 mit einem Spielmuster zum Laufen und legen daneben das neue Web-Root verzeichnis (bei uns ebenfalls www.useddlt.com) an.
Der ergänzte DNS Eintrag (www9.xxx.yyy) verweist bereits auf diesen Server. De Apache bekommt in seinen "Virtual Hosts" Configs gesagt, daß sowohl www.useddlt.com wie auch www9.useddlt.com im gleichen Verzeichnis wohnen.
Jetzt werden sowohl der Typo3 V.3.6.2 mysql dump als auf der tar.gz per scp vom alten Server rüber geholt und auch wieder per commandline (also nicht phpmyadmin) in die bereits erstellte leere!! Datenbank eingelesen und das xxx.tar.gz Filesystem ausgepackt und dort (nur) partiell!! rein kopiert. Im dummy sind natürlich Verweise auf die neue 4.1.5 Version drinnen,die ich nicht mit denalten überschreiben darf.
Stolperstein DNS Cache im lokalen Windows
Wenn Sie ein Admin sind und irgend etwas in irgendwelchen DNS Server-Einstellungen verändern, dann müssen Sie es auch gleich sehen können. Das ist natürlich nicht der Fall, wenn Ihre Workstation jeglicher Coleur die einmal geladenen bzw. abgefragten DNS Einträge chached. Jedenfalls werden sie dem Wahnsinn näher gebracht, wenn Sie im DNS etwas ändern und es geht nicht bzw. Sie sehen es nicht.
Also wichtig: Unter WIN 2000 und WIN XP gehen Sie in die Dienste- Verwaltung und beenden Sie den DNS Client bzw. den DNS Cache Service und setzten ihn auf deaktiviert. Weiterhin tragen Sie in Ihrem (für Sie zuständigen) DHCP Server an oberster Stelle "Ihren" DNS Server ein, auf dem Sie Änderungen durchführen. Der weiß es nämlich immer zuerst!!
Jetzt dauert zwar jeder (wirklich jeder) Browser Zugriff auf jede Domain "etwas" länger, doch schon bei T-DSL 2000 merken Sie das nicht mehr. Wir haben hier T-DSL 6000 und es ist weder fühlbar noch messbar langsamer.
UND jetzt sind Sie an der Quelle und immer aktuell, das andere hatte zunehmend genervt.
Die Grundlagen: Aktivieren und Prüfen
Wie das im Einzelnen geht, wird auch noch beschrieben,
denn ich habe immer noch ca. 35 Webs, die ich einzeln rüber holen muß.
Die Aktivierungsdatei für das Install Tool muß ebenfalls angelegt (oder aus dem Dateien-Fundus kopiert) werden.
Dann kann man schon www9.useddlt.com/typo3/install aufrufen und den user und pw für den Datenbankzugriff auf den neuen Stand bringen (das sollte man vorher aus Prinzip ändern) und abspeichern.
Danach kommt der Datenbank Compare (Abgleich) mit Update sowie der Pfad für imagemagick und der Update von 3.8 auf 4.1, alles im Installprgramm nahezu vollautomatisch.
Mit einem Klick ist man im Backend und kann im Ext-Manager die Sprache auf German einstellen und das Sprach Update laufen lassen. Auch wieder alles mundgerecht und automatisch.
Beim dritten Male geht es flott von der Hand und dann einen neuen Browser (man hat ja sowieso mehrere verschiedene Browser auf dem PC) aufgemacht und die Seiten sind schon alle wieder da.
Das war die finale Bilderbuch Installation, über die Tränen und den Schweiß schreibe ich später.
Die Grundlagen: Umschalten
Warum mache ich diesen Aufwand ?
- erstens habe ich genügend Server
- zweitens möchte ich gerne vergleichen, worauf ich mich da eingelassen habe
- und drittens ist beim finalen DNS Umschalten die Ausfallzeit weltweit gegen null, weil die DNS Schlafmützen immer noch den alten (funktionierenden) Server sehen, die fixen Jungs aber bereits die neuen Typo3 4.1.5 Seiten sehen
- und viertens, weil weder ich noch der Kunde die Umschaltung bemerken würde, hätte ich nicht auf den neuen Seiten ein geheimes Kreuzchen in alle Ecken gemacht.
Ist die Prüfung des neuen Webs auf dem neuen Server zufriedenstellend gelaufen, kann ich im DNS Eintrag den neuen Zielserver eintragen, einen "rcnamed reload" fahren und mich zufrieden meinem Tee und ausführlich dem obligatorischen Marzipankuchen widmen.
Nichts ist perfekt oder fehlerfrei . . . .
Wer hier noch Fehler findet, bitte hier das Mini Formular ausfüllen.