Update einer TYPO3-Installation

25. Februar 2009 | Von stefan | Kategorie: TYPO3, Update TYPO3-Installation

Eine bestehende TYPO3-Installation auf den neusten Stand zu bringen – mit anderen Worten ein Update durchzuführen – ist relativ einfach möglich, wenn man einige grundlegende Schritte beachtet.

Einleitung
Ein Update kann erforderlich sein, weil die bisherige TYPO3-Version veraltet ist, neue Features genutzt werden sollen oder Sicherheitslücken entdeckt wurden, die sich nur durch ein Update beheben lassen. So wurden im Februar 2009 Sicherheitslücken bekannt, die alle bisherigen TYPO3-Versionen betrafen. Für die 4er Versionen (4.0.x, 4.1.x, 4.2.x) wurden vom TYPO3 Entwicklerteam neue Versionen bereitgestellt (4.0.12, 4.1.10, 4.2.6), die die Sicherheitslücken behoben haben. Vorher haben allerdings einige Hacker noch rasch die Gunst der Stunde genutzt und (ausgerechnet!) die Webseite von Bundesinnenminister Dr. Wolfgang Schäuble gehackt. Der oberste Datenspion ist selbst einem Hackerangriff zum Opfer gefallen, da sein TYPO3-System noch nicht bezüglich Sicherheitslücken aktualisiert worden war. Sein Webportal musste offline gestellt werden. Auch die Webseite des Fußballvereins Schalke 04 wurde Opfer von Hackerangriffen und Kevin Kuranyi laut Information im Schalke 04 Webportal “freigestellt” – mit anderen Worten: rausgeschmissen…


Update von TYPO3
Dieses Manual soll eine Anleitung für das Update von TYPO3 4.1.2 auf 4.2.6 bieten. Prinzipiell ist der Updatevorgang jedoch auch auf andere Versionen übertragbar.

  1. Wann ist der richtige Zeitpunkt zum updaten?
    Nicht immer ist ein Update auf gerade gelaunchte Versionen sinnvoll. Erfahrungsgemäß enthält die neuste Programmversion einer Software noch Programmierfehler (so genannte “Bugs”), die erst nach und nach gefunden und behoben werden. Trotz umfangreicher Tests vor der Freigabe einer neuen TYPO3-Version lassen sich solche Bugs nicht gänzlich ausschließen. Daher kann es unter Umständen sinnvoll sein, auf eine etwas ältere, stabile Version zurückzugreifen.

  2. Im ersten Schritt sollte vor dem Update grundsätzlich ein Backup erstellt werden.
    Weg ist weg. Wenn die Aktualisierung schief gehen sollte, sieht es ohne ein Backup düster aus. Für das Backup wird eine Kopie der Datenbank gezogen. Dazu bietet sich z.B. phpMyAdmin oder – speziell bei großen Datenbanken mit mehr als einigen Megabyte, bei denen der Export ins timeout führen kann – der mysqldumper an. Wer am liebsten mit SHELL arbeitet, kann unter Unix/Linux mit dem Programm mysqldump das Backup erstellen:

    mysqldump –opt -h localhost -u username -ppasswort datenbankname > meinbackup.sql

    wobei die entsprechenden Parameter eingetragen werden müssen: Statt “localhost” die entsprechende Host-Adresse sowie der Benutzername, das Passwort und der Datenbankname für die Datenbank.
    Per FTP werden außerdem die TYPO3-Files vom Server auf den eigenen Rechner geholt. Diese Sicherheitskopien sollten unverändert aufbewahrt werden. Sind Änderungen erforderlich, so erstellt man am besten vorher eine Kopie der Backup-Dateien.

  3. Idealer Weise wird das Update zunächst an einer Kopie des TYPO3-Projekts durchgeführt. Dazu kann das im vorigen Schritt erstellte Backup lokal installiert werden, vorausgesetzt der Testrechner verfügt über eine entsprechende Serverinstallation und PHP-Unterstützung. Diese Serverarchitektur kann mittlerweile Dank diverser Anbieter sehr einfach und weitgehend automatisiert aufgesetzt werden (z.B.: http://www.apachefriends.org/de/index.html).
    Die zweite Möglichkeit ist, eine Update-Installation auf dem Server einzurichten. Für die nachfolgende Anleitung nehmen wir an, die aktuelle Installation liegt im Verzeichnis “meinTYPO3″, das Update wird in Verzeichnis “meinTYPO3_update” angelegt. Auf dieses Verzeichnis kann z.B. eine für Testzwecke eingerichtete Subdomäne verweisen.

  4. Eine aktuelle Version von TYPO3 bekommt man hier.
    Diese wird entweder auf den eigenen Server hochgeladen und dort direkt entpackt, oder aber lokal entpackt und dann auf den Server hochgeladen. Verzeichnis “meinTYPO3_update” (vgl. Punkt 3.)

  5. Im nächsten Schritt werden relevante Dateien aus der alten TYPO3-Version (aus dem Backup – siehe Punkt 2.) ins Verzeichnis “meinTYPO3_update” kopiert und die dortigen Standardfiles der neuen TYPO3-Version überschrieben.
    Dazu gehören insbesondere:
    - /fileadmin
    - /typo3conf
    - /uploads
    - ggf. /misc, /typo3temp, /typo3/ext (falls Extensions global installiert waren) und die .htaccess-Datei

    Wer das Update direkt auf dem Server vornehmen und ganz sicher gehen möchte, kann auch eine neue Datenbank aufsetzen und die Datenbankinhalte des Datenbankbackups (aus Punkt 2.) einspielen. Anschließend sind noch die Zugangsdaten der neuen Datenbank in
    /meinTYPO3_update/typo3conf/localconf.php
    einzutragen. Damit wird sichergestellt, dass die Datenbank der bisherigen TYPO3-Installation unverändert bleibt und die Webseite ohne Einschränkungen öffentlich zugänglich bleibt.

    Sollten in der bisherigen TYPO3-Installation Änderungen am Sourcecode durchgeführt worden sein, so müssen diese Änderungen natürlich auch in den entsprechenden Dateien der neuen TYPO3-Installation vorgenommen werden.

  6. Nun erfolgt der letzte Feinschliff:
    Nehmen wir an, die bisherige TYPO3-Installation ist unter
    www.meineseite.de erreichbar, die auf den Ordner „meinTYPO3“ (vgl. Punkt 3.) geschaltet ist.
    Die neue TYPO3-Installation ist z.B. unter der Subdomäne
    www.update.meineseite.de erreichbar, die auf den Ordner “meinTYPO3_update” verweist.
    Login ins Backend von www.update.meineseite.de/typo3 und Aufruf des Installtools. Sollte sich das Installtool nicht aufrufen lassen, muss ggf. eine (leere) Datei mit dem Namen ENABLE_INSTALL_TOOL erstellt und in /typo3conf kopiert werden (aus Sicherheitsgründen diese Datei im Anschluss an die nachfolgenden Schritte wieder löschen).

    Im Installtool nun „Database Analyser“ ausgewählen und
    Update required tables COMPARE
    durchführen.

    Das System schlägt Änderungen an den Datenbanktabellen vor, die per Checkbox bestätigt oder abgelehnt werden können. Achtung: Sofern sich auch nicht zu TYPO3 gehörende Tabellen in der Datenbank befinden, weil z.B. zusätzlich ein Blog oder Forum eingerichtet wurde, dann ist darauf zu achten, dass diese Tabellen im Rahmen der von TYPO3 vorgeschlagenen Updates nicht umbenannt werden.

    Nun wird noch bei Dump static data ein IMPORT durchgeführt, um die Änderungen an den statischen Templates vorzunehmen (Checkbox „Import the whole file“ und im Anschluss „Write to database“).

    Im Update Wizard wird noch changeCompatibilityVersion durchgeführt, sofern erforderlich (Klicken auf den Button „next“).

    Abschließend wird der TYPO3-Cache geleert.

  7. Das eigentliche Update ist nun (fast) abgeschlossen. Es empfiehlt sich, das Backend auf Funktionstüchtigkeit zu prüfen (vgl. nächster Punkt) und im Anschluss die Webseite im Frontend einer genauen Begutachtung zu unterziehen. Funktioniert alles wunschgemäß, so lässt sich die Webseite nun in wenigen Sekunden per FTP umschalten: Dazu wird einfach der Ordner “meinTYPO3″ (vgl. Punkt 3.) umbenannt (z.B. “meinTYPO3_Version_4.1.2″) und der Ordner “meinTYPO3_update” erhält nun den Namen der alten TYPO3-Installation “meinTYPO3″ und ist dann direkt über www.meineseite.de zugänglich.Geht man auf diesem Wege vor und verfügt man insbesondere über jeweils eine Datenbank für die alte TYPO3-Installation und eine eigene Datenbank für die neue TYPO3-Installation (vgl. Punkt 5.), so kann man notfalls sehr schnell zur alten Installation zurückkehren. Hat sich die neue Installation bewährt, kann die alte Version (und Datenbank) vom Server gelöscht werden.

  8. Besonders bei größeren Versionsprüngen können die installierten Extensions zu Problemen führen. Wer beispielsweise von TYPO3 3.8 auf 4.2 updatet, wird voraussichtlich auch einige Extensions aktualisieren müssen. Es ist daher empfehlenswert, regelmäßig die TYPO3 Version zu aktualisieren, statt das bestehende System jahrelang unverändert zu lassen. Neue TYPO3-Versionen bieten mehr Sicherheit und einen größeren Funktionsumfang.
    Beim Update von TYPO3 von 4.1.2 auf 4.2.6 kam uns trotz des relativ kleinen „Sprungs“ beispielsweise die Extension date2cal in die Quere. Mehr Informationen zu Updateproblemen wegen Extensions finden sich hier.

  9. Nachtrag (21.05.2009):
    Wir wurden von einem Benutzer darauf angesprochen, dass oben beschriebene Anleitung nicht funktioniert hat. Normalerweise sollten TYPO3-Versionen regelmäßig aktualisiert werden. Bei großen Aktualisierungssprüngen – im konkreten Fall von Version 3.8 auf Version 4.6 treten eher Probleme auf. Der Benutzer hatte folgende Fehlermeldung erhalten:
    „The main frontend extension “cms” was not loaded. Enable it in the extension manager in the backend.“
    Solche Probleme liegen meist an fehlerhaften temporären Dateien des Extension Managers. Nachfolgend zwei Strategien, mit denen sich das Problem beheben lassen sollte:

    1)
    Überprüfung der localconf.php (zu finden im Ordner /typo3conf/localconf.php). Im ersten Schritt sollte ein Backup dieser Datei gezogen werden, bevor Änderungen vorgenommen werden. Anschließend überprüfen, ob es eine Zeile mit folgendem Inhalt gibt:
    $TYPO3_CONF_VARS['EXT']['requiredExt'] = ‘cms,lang’;
    Wenn ja: Zeile Auskommentieren oder löschen, danach die Caches von TYPO3 säubern.

    2)
    Prüfen, ob es im selben Ordner (/typo3conf) Dateien gibt, die mit “temp_” beginnen. Diese (vorher Backup der Dateien anlegen) löschen und erneut Cache von TYPO3 leeren.

Diesen Artikel bookmarken/weiterempfehlen:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Yigg
  • Technorati
  • LinkArena
  • YahooMyWeb
  • Webnews.de
Tags: , , , , , , , ,

Schreibe einen Kommentar