Blog
Update von alten TYPO3-Versionen

TYPO3Dieser Artikel soll als Hilfestellung für TYPO3-Updates von älteren Versionen auf eine aktuelle Version dienen. Da ich unter anderem solche Updates als Dienstleistung für Kunden anbiete, könnte man natürlich meinen, ich nehme mir mit diesem Beitrag selbst die Butter vom Brot – jedoch können hier natürlich nicht alle möglichen Feinheiten, Szenarien und Stolpersteine dieses komplexen Prozederes skizziert werden. Außerdem zielt meine Dienstleistung auch auf Geschäftskunden ab, die sich ja z.B. auch einen Steuerberater leisten und ihre Erklärungen nicht mit ihrem Halbwissen und unnötig viel Zeit selbst erstellen. Und schließlich zählt gerade bei Open-Source-CMS auch der Community-Gedanke – und es gibt da draußen nicht wenige private und gemeinnützige Seiten mit einem alten TYPO3 als Unterbau, deren Webmaster sich über den ein oder anderen Tipp vielleicht freuen oder über die Kommentare Erfahrungsaustausch suchen.

Der Grund für die dringende Update-Empfehlung liegt – neben den neuen Features viel wichtiger – im Schließen von längste behobenen Sicherheitslücken, die möglicherweise früher oder später von entsprechendem Klientel für ihre Zwecke ausgenutzt werden können.

Doch genug der einleitenden Worte – nun erstmal zur Bestandsaufnahme eines aktuellen Falls:

  • Branche: Immobilienmakler
  • TYPO3-Version: 4.2.6 (Release: 10.2.2009)
  • gehostet (zum Glück) auf einem Hosteurope-Paket mit aktuellen PHP- und MySQL-Versionen
  • installierte Extensions:
    • realurl als Extension für sprechende URLs – jedoch wohl falsch konfiguriert, da die Seite normale URLs mit index.php?id=x generiert
    • TemplaVoilá als Extension für das Templating
    • eine Extension metatags von Kasper Skårhøj himself für erweiterte Meta-Tag-Funktionen (z.B. DC-Angaben, Author, Revisit-After ;)
    • sowie noch ein deaktiviertes phpMyAdmin und die static_info_tables
  • UTF-8 Zeichensatz (klasse!)
  • W3C-Check: valides XHTML 1.0 Transitional (hat man auf Anhieb auch selten, aber ist bei Transitional auch einfacher zu erreichen)
  • Ansonsten eine eher überschaubare Seite mit 51 Seiten (davon 38 verborgen) und 348 Seiteninhalten. Seltene inhaltliche Änderungen.

Soll-Zustand nach dem Update:

  • Update auf TYPO3-Version 6.1.5 (als momentan aktuelle Version und der künftigen LTS-Version 6.2 am nächsten)
  • Aufräumen der TYPO3-Website:
    • mein Favorit CoolURI als Extension für sprechende URLs
    • Entfernen von TemplaVoilá und Nutzen der neuen Möglichkeiten, wie Backend-Layouts und Gridelements. Ich konnte nie mit „TV“ warmwerden und habe es seit jeher aus diversen Gründen vermieden, dieses einzusetzen. Zum Beispiel wird die Layout-Zuordnung ja per Flexform im Seitendatensatz gespeichert. Also benötigt der Redakteur auch die Seitenrechte, die man aber nicht immer unbedingt verteilen möchte.
      Trotzdem gilt mein Respekt dem Schöpfer dieser für viele sicher nützlichen Extension und auch seinem Entschluss, diese nicht mehr weiterzuentwickeln.
  • zusätzlich zu den sprechenden URLS eine gescheite und grundlegende Onpage-Optimierung

Logbuch des Updates:

  • Prüfen, ob der neue Server die Anforderungen an eine aktuelle TYPO3-Version erfüllt
  • Kopieren der Website auf einen Testserver (um das Update in Ruhe „durchspielen“ und vorbereiten zu können)
  • Update des TYPO3-Kerns (typo3/, t3lib/, misc/ & index.php gegen aktuelle typo3/, t3lib/ & index.php austauschen) – Ergebnis: Das Backend wird im neuen Look angezeigt, das Frontend bleibt weiß (das error.log meldet „Cannot redeclare class tx_realurl ..“)
  • Nun gehts ins Install-Tool, wo der Update-Wizard durchlaufen wird (u.a. neue Systemextensions aktivieren, Bild-Inhaltselemente in die neue FAL-Struktur umwandeln, Datenbank-Tabellen anpassen, ..)
  • Noch ein kurzer Blick in „All Configuration“ – soweit alles ok, nur die Frontend-Compression aktiviert ([FE][compressionLevel] = 5), um die gzip-Kompression der Website zu aktivieren (kleiner Geschwindigkeits-Bonus).
  • Nun geht es zurück ins Backend, wo zunächst über das neue Language-Modul die aktuelle deutsche Übersetzung gezogen wird.
  • Anschließend erleben wir das umgedrehte TYPO3-Logo mit der Fehlermeldung „The path provided does not point to existing and accessible well-formed XML file“ auf uns wartet.
    Das wichtigste bei solchen Meldungen: Ruhe bewahren und Cache leeren. Dafür muss man wissen, dass der Konfigurationscache nun nicht mehr in den „temp_CACHED“-Dateien im typo3conf/-Ordner abgelegt wird, sondern in typo3temp/Cache/.
    Da die Cacheleerung nun aber keinen Erfolg hatte, schauen wir uns die Fehlermeldung näher an. Erste Vermutung und aufgrund der letzten Aktion: Eine Sprachdatei einer Extension ist möglicherweise korrupt. Es muss also über die neue typo3conf/LocalConfiguration.php die Extensionliste bearbeitet werden. Erstes Opfer: realurl. Aus der Liste gelöscht, den Cache geleert und: Die Fehlermeldung ist verschwunden!
  • Als nächstes werden die Extensions über den EM geupdatet, um diese für die 6.1 fit zu machen
  • nun werden die Typoscripts der Übersichtlich- und besseren Bearbeitbarkeit halber aus den Templates in Dateien ausgelagert (per <INCLUDE_TYPOSCRIPT: source=“FILE: […setup.ts]“ />)
  • Trotz, dass die Frontend-Ausgabe bisher bereits in UTF-8 war, liegen die Sonderzeichen (insbesondere die deutschen Umlaute) in der Datenbank noch kryptisiert vor. Da seit 4.7 die Datensätze nur noch in sauberem UTF-8 vorliegen dürfen, muss nun ggf. für eine Umwandlung per Skript gesorgt werden. Dies lässt sich am besten per Skript erreichen.
  • Nun wird die TemplaVoilá-Integration in eine (meines Erachtens) saubere Variante umgewandelt, da ich unter meiner Obhut keine TYPO3-Installation laufen haben möchte. Hierfür schaut man sich die benötigten Layouts an und packt diese in grundlegende Backend-Layouts und sorgt darüber hinaus bei Sonderfällen mit den Gridelements für die gewünschte Verspaltung.
  • Sind die Inhalte portiert (je nach Häufigkeit der Änderungen muss dieser Vorgang kurz vorm Launch natürlich nochmal wiederholt werden), geht es an den letzten Feinschliff ..
  • Quellcode optimieren/verschlanken, ggf. Webstatistik (z.B. Piwik) installieren, ggf. Standarddomain definieren (per .htaccess)

Ich wünsche viel Erfolg beim Update der alten TYPO3-Version und freue mich auf Anregungen und Fragen!

E-Mail-Adresse wird nicht veröffentlicht. Alle Felder sind Pflichtfelder.