TYPO3-Upgrade

Aus Wiki schlicker.org
Zur Navigation springen Zur Suche springen


Das hier ist eine Kurzanleitung zum Upgrade von Typo3 auf einem Linux Server.

Diese Beschreibung geht von einer Installation auf einem Link Innovation Server aus. Die in der Beschreibung angegebenen Pfade, Dateinamen und Datenbanken müssen natürlich entsprechend angepasst werden, dient hier nur zur Demonstration.

Vorwort

Wichtig iat, wenn man auf einen bestehenden Typo3-System ein Upgrade ausführt, und dort die Extension RealURL installiert ist, dass man sicherstellt, das der Patch für RealURL für die Extension CC_AWStats vorhanden ist.

Typo3 3.8.0 Installation auf Typo3 3.8.1 upgraden

Schritt 1: Backup

Es ist sehr sinnvoll vor dem Upgrade sämtliche Dateien und die Datenbank einer Typo3-Installation zu sichern.

# cd /home/www/test.planungsteam-iii.de/

Ein Verzeichnis für das Backup anlegen, wenn noch nicht vorhanden:

# mkdir bak

Backup-Archiv der Typo3-Installation erzeugen (Dateien und Datenbank):

# tar cfpz bak/typo-backup-20060112.tar.gz www/ typo3_src-3.8.0/
# mysqldump -p --quote-names typo3_p3_test > bak/typo3_p3_test_20060112.sql
# gzip -9 bak/typo3_p3_test_20060112.sql

Hinweis: Verwendet der lokale root-User von MySQL kein Kennwort, was nicht empfehlenswert ist, muss die Option -p entfernt werden.

Schritt 2: Downloaden und Entpacken von Typo3 3.8.1

Download-URL und Mirrors: http://typo3.org/download/packages/

# wget http://mesh.dl.sourceforge.net/sourceforge/typo3/typo3_src-3.8.1.tar.gz
# tar xzf typo3_src-3.8.1.tar.gz
# rm typo3_src-3.8.1.tar.gz


Schritt 3: Austauschen der vorhandenen Installation

# cd www/
# rm typo3_src
# ln -s ../typo3_src-3.8.1 typo3_src


Schritt 4: Überprüfen und Updaten der Datenbank

Das Install-Tool der neuen Version freischalten:

# vi typo3/install/index.php

In dieser Zeile

        // This checks for my own IP at home. You can just remove the if-statement.
if (1==0 || (substr($_SERVER['REMOTE_ADDR'],0,7)!='192.168' && $_SERVER['REMOTE_ADDR']!='127.0.0.1'))           {
        die("In the source distribution of TYPO3, ... message!");
}

das "die(..)" auskommentieren und die Datei speichern:

        // This checks for my own IP at home. You can just remove the if-statement.
if (1==0 || (substr($_SERVER['REMOTE_ADDR'],0,7)!='192.168' && $_SERVER['REMOTE_ADDR']!='127.0.0.1'))           {
        //die("In the source distribution of TYPO3, ... message!");
}

Database Analyzer

  • Über das Typo3-Backend das Install-Tool aufrufen und dort den Punkt 2: Database Analyser wählen
  • Zu Update required tables scrollen und dort auf COMPARE klicken
  • Überprüfen ob die angebotenen Datenbank-Änderungen korrekt sind und dann mit dem Button Write to database die Änderungen anwenden
  • In der Zeile Dump static data auf IMPORT klicken
  • Die Checkbox Import the whole file... abhaken und auf den Button Write to database klicken
  • Wenn nötig, kann man mit Reset user preferences die User-Einstellungen und mit Clear tables Cache-Tabellen leeren. In diesem Fall wird dieses nicht getan.

Schritt 5: Typo3-Cache leeren

Im Typo3-Backend die Admin-Funktionen Cache in typo3conf/ löschen und anschließend FE-Cache löschen aufrufen.


Schritt 6: Die gesamte Typo3-Installation auf korrekte Funktion überprüfen

Es ist wichtig nun die Seite aufzurufen und die Funktion zu überprüfen. Bei dieser Installation erschien beim Aufruf der Startseite eine Fehlermeldung:

Error!

Depreciated Typoscript property was found in this template: "config.baseURL="1"

You need to change this value to the URL of your website root, otherwise TYPO3 will not work!

See wiki.typo3.org/index.php/TYPO3_3.8.1 for more information.

Evtl. Fehler müssen natürlich behoben werden, in diesem Fall stand im Template

config.baseURL=1

und musste auf

config.baseURL = http://test.planungsteam-iii.de/

umgestellt werden, wie die Fehlermeldung sehr schön beschreibt.

Schritt 7: Installierte Extensions auf Update prüfen

Bei den bereits installierten Extensions sollte geprüft werden ob es ein Update gibt. Dazu im Ext Manager einfach Import extensions from online repository wählen und auf Connect to online repository klicken. Das Texteingabefeld bleibt dabei frei. Nun dauert es ggf. ein bisschen bis die Liste geladen ist. Vorhandene Updates sind mit einem grünen Symbol gekennzeichnet. Ein Klick auf dieses Symbol startet die Installation. Der Vorgang muss für jedes verfügbare Update wiederholt werden.

WICHTIGE ANMERKUNGEN

Wenn man nach oben stehender Anleitung vorgeht, arbeitet man dennoch an und mit den Live-System-Daten. Während des Upgrades könnten Besucher der Website natürlich fehlerhafte Anzeigen bekommen und der Betrieb der Website wird gestört.

Bei kritischen Sites ist es zu empfehlen nach folgendem Schema vorzugehen:

  1. BE-Benutzergruppen über ein anstehendes Update informieren
  2. Accounts aller anderen Admins, Redakteuere und FE-User sperren um ein Verändern der Daten während des Updates zu verhindern, ggf. Login-Seiten einfach sperren
  3. Backup der Website und der Datenbank erstellen
  4. Mit Hilfe des Backups ein Testsystem inkl. neuer Datenbank aufsetzen
  5. Das Update auf dem Testsystem durchführen/testen und ggf. Fehler korrigieren
  6. Bei vielen Fehlerkorrekturen das Testsystem/Test-Datenbank zum Live-System machen oder das Update auf dem Testsystem wiederholen
  7. BE-Benutzergruppen über das erfolgte Update und evtl. wichtige Neuerungen/Änderungen informieren und die Accounts wieder freischalten
  8. Beten und das Backup aufbewahren ;-)

Man sollte auch abwägen ob es für die Site sinnvoller ist eine "Wartungsseite" zu schalten und das Update zu einer Zeit mit wenig Zugriffen durchzuführen.

Typo3 3.8.x Installation auf Typo3 4.0 upgraden

Mit der neuen Version von Typo3 hat sich einiges getan. Aber die ersten Schritte sind genauso auszuführen, wie bei jedem anderem Typo3 Update vorher, also zuerst ein Backup.

Schritt 1: Backup

siehe oben

Schritt 2: Downloaden und Entpacken von Typo3 4.0

Download-URL und Mirrors: http://typo3.org/download/packages/

# wget http://mesh.dl.sourceforge.net/sourceforge/typo3/typo3_src-4.0.4.tar.gz
# tar xzf typo3_src-4.0.4.tar.gz
# rm typo3_src-4.0.4.tar.gz
# chown -R apache.web01 typo3_src-4.0.4

Schritt 3: Austauschen der vorhandenen Installation

# cd www/
# rm typo3_src
# ln -s ../typo3_src-4.0.4 typo3_src

Achtung:

Bei meiner Installation fehlte ein Symbolischer Link, so das später die Webseite nicht funktionierte. Daher bitte im Verzeichnis typo3_src kontrollieren, ob ts_lib existiert. Wenn nicht, dann:

# cd ../typo3_src-4.0.4/
# ln -s typo3/sysext/cms/tslib/ .

Schritt 4: Überprüfen und Updaten der Datenbank

Das Install-Tool der neuen Version freischalten:

# vi typo3/install/index.php

In dieser Zeile

        // This checks for my own IP at home. You can just remove the if-statement.
if (1==0 || (substr($_SERVER['REMOTE_ADDR'],0,7)!='192.168' && $_SERVER['REMOTE_ADDR']!='127.0.0.1'))           {
        die("In the source distribution of TYPO3, ... message!");
}

das "die(..)" auskommentieren und die Datei speichern:

        // This checks for my own IP at home. You can just remove the if-statement.
if (1==0 || (substr($_SERVER['REMOTE_ADDR'],0,7)!='192.168' && $_SERVER['REMOTE_ADDR']!='127.0.0.1'))           {
        //die("In the source distribution of TYPO3, ... message!");
}

Basic Configuration:

  • Fehlender Verzeichnisse anlegen und für Webserver beschreibbar machen
# cd {webroot}/typo3conf
# mkdir l10n
# chown apache.web01 l10n

Database Analyser:

  • Über das Typo3-Backend das Install-Tool aufrufen und dort den Punkt 2: Database Analyser wählen
  • Zu Update required tables scrollen und dort auf COMPARE klicken
  • Überprüfen ob die angebotenen Datenbank-Änderungen korrekt sind und dann mit dem Button Write to database die Änderungen anwenden
  • In der Zeile Dump static data auf IMPORT klicken
  • Die Checkbox Import the whole file... abhaken und auf den Button Write to database klicken
  • Wenn nötig, kann man mit Reset user preferences die User-Einstellungen und mit Clear tables Cache-Tabellen leeren. In diesem Fall wird dieses nicht getan.

Update Wizard:

  • Im Backend gibt es jetzt den Punkt 3. Update Wizard. Hier den Button changeCompatibleVersion anklicken, alle Felder ankreuzen und
  • dann den Perform-Update Button klicken. Erst dann wird die alte Version auf Typo3 4.0 gehoben. Natürlich nur, wenn man als Meldung changeCompatibilityVersion Update successful! erhält.

Schritt 5: Anmelden im Backend

Wenn man sich jetzt im Typo3-Backend anmeldet, erscheint eine Fehlermeldung:

Important notice!
- The Reference Index table is empty which is likely to be the case because you just upgraded your TYPO3 source. Please go to Tools>DB Check and update the reference index.

It is highly recommended that you change this immediately.

Daher klickt man einfach unter Tools auf DB check und wählt aus dem Menü Manage Reference Index aus. Dort klickt man auf den Button Update Now. Danach erscheinen Zeilen, wie die nachfolgenden:

Record tx_dsfootballroster_roster:1134 had 2 added indexes and 0 deleted indexes
Record tx_dsfootballroster_roster:1135 had 3 added indexes and 0 deleted indexes
Record tx_dsfootballroster_roster:1136 had 2 added indexes and 0 deleted indexes

Anschließend ist der Index neu aufgebaut, aber sicherheitshalber klickt man noch auf den Check now Button und sollte nachfolgend einen ähnlichen Text sehen:

3219 records from 23 tables were checked/updated.
Index Integrity was perfect!

Schritt 6: Typo3-Cache leeren

Im Typo3-Backend die Admin-Funktionen Cache in typo3conf/ löschen und anschließend FE-Cache löschen aufrufen.

Danach alles testen und überprüfen (s.o.)

Schritt 7: Deutsche Sprache im Backend

In der Version 3.8.x musste man für die deutsche Sprache im Backend die Extension csh_de installieren. Das entfällt nun.

  • Extension Manager anklicken und aus dem Menü Translation handling auswählen
  • Im Auswahlfeld die benötigten Sprachen auswählen
  • Upgrade from repository anklicken
  • Dann nochmal den Status der Sprachen mit Check status against repository checken
  • Nun im Menü den Punkt Loaded Extension auswählen
  • Die Extension csh_de deinstallieren
  • Vom Backend ab- und wieder anmelden


Schritt 8: Extension Manager

Wenn wie man wie gewohnt über den Extension Manager nach Extension suchen will, gelingt das nicht auf Anhieb.

Das liegt daran, das man bisher noch keine Verbindung zum Repository aufgebaut hatte. Denn in Version 4.0 wird nicht immer eine Verbindung zum Repository aufgebaut, sondern zuerst im lokalen Cache geschaut. Dieser ist natürlich noch nicht vorhanden.

  • Im Menu Import Extensions auswählen und auf Retrieve/Update klicken.

Wichtig

Wenn man jetzt phpAdmin unterhalb der Tools sucht, so ist das nicht mehr vorhanden. Man muss dazu nun die Extension phpmyadmin installieren

Typo3 4.0 Known Bugs

Extensions die $GLOBALS['TSFE']->set_no_cache(); verwenden funktionieren unter Umständen nicht mehr. Der Webserver antwortet mit einem HTTP 503 Status.

Als Workaround lässt sich in der Datei typo3/sysext/cms/tslib/class.tslib_fe.php die Zeile

$this->addTempContentHttpHeaders();

auskommentieren.

Der Fehler soll in Typo3 4.0.1 behoben sein.

Typo3 4.0.x Installation auf Typo3 4.1 upgraden

Die ersten Schritte sind genauso auszuführen, wie bei jedem anderem Typo3 Update vorher, also zuerst ein Backup.

Schritt 1: Backup

siehe oben

Schritt 2: Downloaden und Entpacken von Typo3 4.1

Download-URL und Mirrors: http://typo3.org/download/packages/

# wget http://mesh.dl.sourceforge.net/sourceforge/typo3/typo3_src-4.1.tar.gz
# tar xzf typo3_src-4.1.tar.gz
# rm typo3_src-4.1.tar.gz

Schritt 3: Austauschen der vorhandenen Installation

# cd www/
# rm typo3_src
# ln -s ../typo3_src-4.1 typo3_src

Schritt 4: Überprüfen und Updaten der Datenbank

Das Install-Tool der neuen Version freischalten:

# vi typo3/install/index.php

In dieser Zeile

        // Change 1==2 to 1==1 if you want to lock the Install Tool regardless of the file ENABLE_INSTALL_TOOL
if (1==2 || ($_SERVER['REMOTE_ADDR']!='127.0.0.1' && !@is_file($enableInstallToolFile)))        {
        die('The Install Tool is locked.<br /><br /><strong>Fix:</strong> Create a file typo3conf/ENABLE_INSTALL_TOOL<br />This file may simply be empty.<br /><br />For security reasons, it is highly recommended to rename<br />or delete the file after the operation is finished.');
}

das "die(..)" auskommentieren und die Datei speichern:

        // Change 1==2 to 1==1 if you want to lock the Install Tool regardless of the file ENABLE_INSTALL_TOOL
if (1==2 || ($_SERVER['REMOTE_ADDR']!='127.0.0.1' && !@is_file($enableInstallToolFile)))        {
        //die('The Install Tool is locked.<br /><br /><strong>Fix:</strong> Create a file typo3conf/ENABLE_INSTALL_TOOL<br />This file may simply be empty.<br /><br />For security reasons, it is highly recommended to rename<br />or delete the file after the operation is finished.');
}

Database Analyzer

  • Über das Typo3-Backend das Install-Tool aufrufen und dort den Punkt 2: Database Analyser wählen
  • Zu Update required tables scrollen und dort auf COMPARE klicken
  • Überprüfen ob die angebotenen Datenbank-Änderungen korrekt sind und dann mit dem Button Write to database die Änderungen anwenden
  • In der Zeile Dump static data auf IMPORT klicken
  • Die Checkbox Import the whole file... abhaken und auf den Button Write to database klicken
  • Wenn nötig, kann man mit Reset user preferences die User-Einstellungen und mit Clear tables Cache-Tabellen leeren. In diesem Fall wird dieses nicht getan.

Schritt 5: Update Wizard

  • Im Install-Tool den Update-Wizard aufrufen und bei changeCompatibilityVersion auf Next klicken
  • Die Checkbox Check all (ignore selection above) abhaken und auf Perform Updates! klicken

Es sollte nun folgende Meldung erscheinen:

Update successful!

The compatibility version has been set to 4.1.

Schritt 6: Typo3-Cache leeren

Im Typo3-Backend die Admin-Funktionen Cache in typo3conf/ löschen und anschließend FE-Cache löschen aufrufen.

Schritt 7: Reference Index überprüfen

Im Typo3-Backend in der linken Navigation auf Tools => DB Überprüfung klicken und in der Selectbox Manage Reference Index wählen. Dort auf Check now! klicken und wenn nötig auf Update now!.

Schritt 8: Übersetzungen/Sprache prüfen

Auf Tools => Ext Manager klicken und in der Selectbox Translation handling wählen, dort auf Update from repository klicken.

Hinweis: Sollte beim Update eine Fehlermeldung erscheinen bzw. ein Update einer Komponente rot mit ERR markiert sein, ist es sinnvoll ein komplettes, sauberes Update der Übersetzungen zu machen.

Typo3 zeigt dieses auch mit einem Hinweis an:

This table shows the update results of the loaded extension's translations.
If you want to force a full check/update, delete the l10n zip-files from the typo3temp folder.

Dazu begibt man sich in das typo3temp Verzeichnis und löscht die Übersetzungen:

# cd www/typo3temp
# rm *l10*.zip

Anschließend mit Update from repository die Übersetzungen neu einspielen. Nun sollte alles klappen.

Zur Sicherheit erneut alle Typo3-Caches über das Backend leeren.

Schritt 9: Testing / Extensions Updaten

Nun das gesamte Web und alle Extensions auf Funktion überprüfen. Man sollte ebenso prüfen ob es für Extensions ebenfalls Updates gibt. Selbstverständlich sollte man das auch mit einer gewissen Vorsicht tun und sich überlegen was man tut, damit alles weiterhin funktioniert.

Links

Typo3 4.5.x Installation auf Typo3 6.2.x upgraden

Da es sich hier um ein größeres Update handelt, und an einige Erweiterungen Hand angelegt werden müssen, hier nun eine Aufstellung(Sammlung) der besten Vorgehensweisen.

Schritt 1 - TYPO3 in den Wartungsmodus setzen

Es empfiehlt sich, weil das Upgrade doch länger dauer, TYPO3 in den Wartungsmodus zu versetzen. Dafür müssen einige Einstellungen in der localconf.php vorgenommen werden

$TYPO3_CONF_VARS['BE']['adminOnly'] = 2;
$TYPO3_CONF_VARS['FE']['pageUnavailable_force'] = 1;
$TYPO3_CONF_VARS['FE']['pageUnavailable_handling'] = 'http://domain.tld/maintenance.html';
$TYPO3_CONF_VARS['FE']['pageUnavailable_handling_statheader'] = 'HTTP/1.0 503 Service Temporarily Unavailable';
$TYPO3_CONF_VARS['SYS']['devIPmask'] = '127.0.0.1,::1,XXX.XXX.XXX.XXX';

Schritt 2 - TYPO3 aufräumen, bereinigen und aktualisieren

  • Überprüfung ob TYPO3 4.5.x auf dem neusten Stand ist
  • Alle nicht benötigten Erweiterungen deinstallieren und alle anderen auf den neusten Stand soweit wie möglich bringen
  • Nicht benötigte DB-Tabellen löschen und ggf. den Referenzindex neu erstellen lassen (Install-Tool)

Schritt 3 - Smoothmigration Erweiterung

Installation der Erweiterung Smoothmigration (http://forge.typo3.org/projects/typo3cms-smoothmigration). Hiermit wird anschließend ein Report der Probleme erstellt und anschließend sollten diese Probleme gelöst werden.

MYSQL Arbeiten

MYSQL Server auf UTF8 umstellen: /etc/my.cnf

[mysqld]
collation-server = utf8_unicode_ci
	
character-set-server = utf8
...

MYSQL-Dump anpassen:

sed -i 's/CHARSET=latin1/CHARSET=utf8/g' dump.sql 
sed -i 's/latin1_swedish_ci/utf8_general_ci/g' dump.sql
sed -i 's/latin1/utf8/g' dump.sql

Ggf. bei großer Syslog-Tabelle diese in der DB durch SQL-Statement bereinigen:

truncate sys_log

Erweiterungen anpassen

Es empfiehlt sich alle Erweiterungen, die nicht direkt zum Core gehören, zu deaktivieren und dann nach und nach zu aktivieren/migrieren.

Extension Migration Tips

Folgendes kann in den Erweiterungen einfach gelöscht werden:

require_once(PATH_tslib.'class.tslib_pibase.php');

Folgendes kann ersetzt werden:

t3lib_div::readLLXMLfile -> t3lib_div::readLLfile
t3lib_div::intInRange -> t3lib_utility_Math::forceIntegerInRange()
t3lib_div::debug -> t3lib_utility_Debug::debug

Schritt 4 - TYPO3 Update

Nach dem die Vorarbeiten abgeschlossen sind, und SmootMigration alles grün zeigt, kann man das eigentlich TYPO3 wie gewohnt updaten.

cd /www/homedir
wget http://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%206.2.9/typo3_src-6.2.9.tar.gz
tar xvzpf typo3_src-6.2.9.tar.gz
cd www
rm typo3_src; ln -s ../typo3_src-6.2.9 typo3_src
# Anpassung an neue TYPO3-Link-Struktur
rm typo3; ln -s typo3_src/typo3 typo3
rm t3lib

Anschließend geht man in das TYPO3-Install-Tool und führt den Upgrade-Wizard, sowie die anderen benötigten Änderungen durch

Schritt 5 - Nacharbeiten

DAM

Falls man DAM installiert hatte, installiert man zuerst die folgenden Extension:

Über den Planer/Scheduler kann man dann Task für die Migration definieren. Hierfür sollte man aber darauf achten, dass der EXTBase-Cache nicht auf APC gestellt ist, sondern auf "intern Datenbank", weil die Task für die Migration mit APC nicht klar kommen und ansonsten Mediendateien fehlen.

Links

Typo3 6.2.x Installation auf Typo3 7.6.x upgraden

Schritt 1: Vorarbeiten