TYPO3-Update - Stolperfallen vermeiden

22. Juni 2008, Jan Loderhose

Die vergangene Woche habe ich dazu genutzt, 87 TYPO3-Webseiten auf den neuesten Stand zu bringen. Dabei bin ich auf einige Stolperfallen gestoßen, die es Wert sind, vermieden zu werden. Wer weiß, worauf zu achten ist, kann sich viel Frust und Sucherei ersparen. Wie in jeder Lebenslage gilt nämlich auch hier: Wenn man weiß wie's geht, ist es eigentlich ganz einfach.

Montag morgen, der Blick auf die ToDo-Liste verheißt einen gemütlichen Wochenanfang. Zeit also, sich die Security Bulletins der vergangenen Tage zu Herzen zu nehmen und einen Blick auf die Versionsnummern der aktuell laufenden TYPO3s zu werfen. Die amüsanten Meldungen über gehackte TYPO3-Webseiten sollten schließlich Warnung genug sein. Ein verheerendes Bild offenbarte sich, von Version 3.5 bis 4.2.1 alles dabei. Zeit also, die Prioritätenliste noch einmal zu überdenken ...

Der erste Schritt beim Update einer Software von der Komplexität eines TYPO3 sollte, zur eigenen Sicherheit, immer ein Blick in das Changelog sein. Die Reihenfolge der Versionssprünge von 3.5 bis zum nagelneuen 4.2.1, oder 4.1.7 falls kein PHP 5.2.x zur Verfügung steht, stand schnell fest. Bis 3.8.1 sollte keine Version ausgelassen werden. Danach ist der Sprung auf 4.1.7 bedenkenlos möglich und von dort aus, falls PHP 5.2.x vorhanden, auf 4.2.1. Beiläufig bemerkt,  es ist ratsam, PHP 5.2.x einzusetzen, denn im Vergleich zu den Vorgängern ist es wesentlich sicherer und performanter.

Wie komplex das Update für jeden Einzelnen ist, hängt natürlich davon ab, welche Erweiterungen eingesetzt werden, und davon ob sie lokal, global oder systemweit installiert sind. Nichtsdestotrotz gelten für alle TYPO3 Updates auch gleiche Regeln.

TYPO3-Update in 6 Schritten

Zuerst einmal muss natürlich der neue Quelltext auf den Server gepackt werden. Als nächstes werden die symbolischen Links auf die verwendete TYPO3-Version angepasst. Abhängig von der neuen Version ändern sich die SymLinks entweder grundlegend oder typo3_src muss lediglich auf den neuen Quelltext zeigen. Welche Links ihr braucht steht in der Datei install.txt, die mit jedem TYPO3 mitgeliefert wird. Unter Umständen wird im Frontend jetzt nichts oder ein Fehler ausgegeben. Keine Panik, alles wird wieder gut.

Auf jeden Fall könnt Ihr euch weiterhin in das Install Tool einloggen und das ist
genau der nächste notwenige Schritt. Im Install Tool sind zwei Dinge zu erledigen. TYPO3 läuft jetzt mit einem aktuellen Quelltext. Allerdings heißt das nicht, dass es sich auch schon wie das neue TYPO3 verhält. Um die Webseite durch ein Update nicht zu zerstören, falls z.B. Erweiterungen mit dem neuen Quelltext nicht kompatibel sind, wurde TYPO3 die Fähigkeit verliehen, sich zu einer bestimmten Version kompatibel zu verhalten. Im Notfall kann man dadurch einfach wieder auf den alten Quelltext umschalten. Als nächtes sollten also alle Funktionen auf fehlerfreie Nutzbarkeit überprüft werden. Nur wenn der Kalender, das Blog, die Galerie usw einwandfrei funktioniert, sollte die Kompatibilität von TYPO3 auf den neuen Quelltext abgestimmt werden. Unter Umständen müssen vorher einige Erweiterungen auf den neuesten Stand gebracht werden. Nichts zu beanstanden? Gut! Der Update Wizard übernimmt die Aufgabe, die Kompatibilität von TYPO3 zu aktualisieren. Ihr werdet darüber informiert, welche Änderungen der Wizard durchführen wird. Diese müssen bestätigt und dann mit einem Klick auf den entsprechenden Button angestoßen werden.

Die Struktur der Datenbank von TYPO3 ändert sich von Zeit zu Zeit. TYPO3 erkennt diese Änderungen und kann sie auf die bestehende Datenbank anwenden. Der Database Analyser erledigt diese Aufgabe und zwar über die Funktion Compare. TYPO3 zeigt euch an, welche Änderungen durchführbar sind und überlässt euch die Wahl, diese auszuwählen oder zu ignorieren. Die zweite Option ist nur in Ausnahmefällen anzuwenden. Achtet darauf, dass TYPO3 vorschlägt alle fremden Tabellen umzubennen, indem der Präfix zzz_ dem Namen hinzugefügt wird. Wer in der Datenbank Tabellen verschiedener Systeme laufen lässt, sollte diese Operationen also auf jeden Fall deaktivieren. Jetzt die Operationen auf die Datenbank anwenden und dieser Schritt ist abgeschlossen. Wer jetzt im Frontend weiterhin keine Ausgabe erhält, sollte im Backend die Caches löschen.  Et Voilà, TYPO3 erstrahlt vollständig in neuem Glanz.

Mehr Sicherheit durch Verschlüsselung

Mit TYPO3 4.1 wurde ein Encryption Key eingeführt. Dabei handelt es sich um einen MD5-Hash, durch den die Sicherheit von TYPO3 verbessert wurde. Neben der Verschlüsselung von Passwörtern kommt er systemweit vielfältig zum Einsatz. Deshalb ist es wichtig, dass jede TYPO3-Installation einen individuellen Encryption Key hat. Der Key kann über Basic Configuration per Mausklick gesetzt werden. Den Button am besten mehrmals betätigen und danach die TYPO3-Konfiguration abspeichern. Vermutlich werdet Ihr euch nun neu einloggen müssen. Unter Umständen ist auch die Ausgabe im Frontend jetzt wieder kaputt. Das bewährte Löschen der Caches verschafft einmal mehr Abhilfe.

Die Stolperfallen

Tricky kann es werden, wenn sich durch den Versionssprung die Verwendung von Erweiterungen ändert. TemplaVoilà ist so ein Kandidat, der unverhofft Probleme bereitet obwohl es eigentlich keine gibt. Wer TemplaVoilà global installiert hat, wird feststellen, dass nach dem umbiegen der Symlinks auf den neuen Quelltext im Frontend auf Biegen und Brechen keine Ausgabe zu bekommen ist. Nichts, nicht mal eine Fehlermeldung. Globale Erweiterungen werden innerhalb von typo3_src abgelegt und wurden durch die Änderung der SymLinks brachial deinstalliert. TemplaVoila muss also in diesem Fall neu über den Erweiterungsmanager installiert werden. Danach läuft alles wie gewohnt ... wenn Ihr nicht vergesst die Caches zu löschen.

Mit TYPO3 4.2 wurde der RTE, rtehtmlarea, als Systemerweiterung in den Quelltext aufgenommen. Wer diesen zuvor einsetzte hat den Editor vermutlich lokal oder global installiert. Der unerfreuliche Effekt nach dem Update ist, dass das Seitenmodul beim Schreiben oder Bearbeiten von Inhalten wehement behaupten wird, "Der Editor wird geladen ...". Tatsächlich verschwindet diese Meldung aber nicht. Die Lösung ist glücklicher Weise nicht besonders kompliziert. Im Erweiterungsmanager könnt ihr sehen, dass rtehtmlarea sowohl lokal/global als auch systemweit vorhanden ist. Um die Funktionalität wieder herzustellen, muss der RTE zunächst deinstalliert werden. Das Erweiterungsmanager wird euch automatisch die lokale/globale Version zum Löschen anbieten. Die Aktion kann ohne Skrupel bestätigt werden. Danach ist der RTE noch systemweit verfügbar und muss nur noch aktiviert werden. Caches löschen und der RTE ist wieder wie gewohnt einsetzbar.

Viel Glück beim Update! ;-)

4 Kommentare

  • Michi ~ 14. Juli 2008 @ 09:19

    Danke für den hilfreichen Hinweis bzgl. RTE System Ext. Bei mir (TYPO4.2) kam noch zusätzlich folgendes Problem hinzu: Nach dem Entfernen der rtehtmlarea lokal/global konnte ich im Erweiterungsmanager auch nur noch diese installieren. Nach vielen und langen herumprobieren kam ich zu dieser Lösung: unter typo3conf/ext den Ornder rtehtmlarea umbenennen oder löschen - zurück in den Erweiterungsmanager und siehe da, nun sieht man auch den rtehtmlarea als System Erweiterung - diese musste ich installieren und alle lief wieder bestens.
  • Jan ~ 08. Juli 2008 @ 07:37

    Hallo Vit, das Changelog findest Du im Source Paket, typo3_src-4.x. Es verrät allerdings nicht explizit, welche Versionen übersprungen werden können und welche nicht. Das muss man aufgrund der Änderungen selber herausfinden.
  • Vit ~ 07. Juli 2008 @ 10:52

    guter Artikel!
    jurze frage Emoticon wo finde ich die "immer ein Blick in das Changelog sein."
    Bzw. "Changelog" für die Sprünge ?

    Danke im Voraus
  • Stephan ~ 24. Juni 2008 @ 10:31

    Danke für den hilfreichen Artikel. Einiges klar geworden.
    Grüße

Überblick

Blog

Beliebt im Blog

TYPO3-Update - Stolperfallen vermeiden

Die vergangene Woche habe ich dazu genutzt, 87 TYPO3-Webseiten auf den neuesten ...

Neue TYPO3-Mailingliste TYPO3-Performance

TYPO3 ist die Basis vieler umfangreicher Internetprojekte. Die Software, auf der...

TYPO3 Snippet Archiv gestartet

Das Community Portal von TYPO3, typo3.org, erweitert das Support Angebot. Ab heu...

WordPress 2.6 kommt mit neuen Features

Mit dem Release von WordPress 2.5 hat Automattic unser geliebtes Blog-System ein...

Gefährlicher Code: Suchmaschinen Sandbox vermeiden

Die Suchmaschinenoptimierung stellt Webworker immer wieder vor die gleiche Frage...

News 1 bis 5 von 11

1

2

3

vor >

-->

Neu im Blog

Offizielles Verzeichnis für WordPress Themes

Nur drei Tage nach dem offiziellen Release von WordPress 2.6 hat Automattic das zentrale ...

Gefährlicher Code: Suchmaschinen Sandbox vermeiden

Die Suchmaschinenoptimierung stellt Webworker immer wieder vor die gleiche Frage. Welchen Code kann ...

TYPO3 Snippet Archiv gestartet

Das Community Portal von TYPO3, typo3.org, erweitert das Support Angebot. Ab heute können User oft ...

Google veröffentlich API für Webmaster-Tools

Lange hat sich Google bitten lassen, eine API für die Webmaster-Tools bereit zu stellen. Heute ist ...

Erster TYPO3-Bugday

Der TYPO3-Bucktracker ist voll gelaufen. Das Entwicklerteam gibt sich alle Mühe, die vielen ...