PHP, Extensions und HowTo's
23 Dez
Das ist eine detaillierte Anleitung für einen manuellen Typo3 Serverumzug, verbunden mit einem Typo3 Update. Das ist sinnvoll, wenn man eine “saubere” neue Typo3 Version braucht, und nicht die Update-Funktion nutzen will. Die Schwierigkeiten liegen hier im Detail, deshalb beschreibe ich auch die auftretenden Kleinigkeiten und Fehlermeldungen.
Der Ablauf ist grundsätzlich:
Der grundsätzliche Ablauf ist hier gut beschrieben: Typo3 Backup Anleitung, ich beziehe mich darauf und beschreibe eher die ergänzenden Details. Mein Update war von 4.2.6 auf 4.4.5.
Es macht Sinn die Tabellen stückweise in Teil-Backupfiles zu schreiben, immer nur 3-5 Tabellen in ein zip. Erstens wegen Beschränkungen auf maximale Dateigröße und Skriptlaufzeit im phpmyadmin. Aber auch wegen den Problemen beim Importieren, dann kann man auch stückweise importieren.
Folgende Tabellen kann man weglassen:
Vor dem Import CHARSET überprüfen, alte System laufen oft noch mit latin-1, neue dagegen auf UTF-8. Am Ende von jedem CREATE TABLE Statement muss DEFAULT CHARSET=utf8 stehen, dann werden die Daten richtig eingetragen. Wenn doch Probleme mit Umlauten auftauchen, über die SQL-Datei ein Search/Replace mit HTML-Entities (ä und sowas) laufen lassen.
Beim Datenimport gibt es einige SQL Fehlermeldungen, da die Tabellen von der Installation aus nicht leer sind. Ich empfehle im neuen System die Tabellen-Liste erst einmal anzusehen, und jede Tabelle die nicht leer ist macht ziemlich sicher Probleme. Die kann man ja erst mal manuell abgleichen.
Bei mir waren das folgende Tabellen:
Zusätzliche Tabelleneinträge anlegen
Viele Extension legen in bereits vorhandenen Tabellen neue Einträge an, die fehlen natürlich dann beim Datenimport. Erste Möglichkeit ist die betroffenen Tabellen zu löschen, dann werden sie neu angelegt.
Ich wollte aber die neuen Tabellen beibehalten und die fehlenden Tabelleneinträge nur ergänzen. Betroffene Tabellen sind üblicherweise pages, tt_content und sys_template. Das geht relativ einfach mit SQL:
Es gibt im Backup immer den CREATE table Eintrag, in diesem Beispiel sind die letzten 2 Einträge die von RealURL.
CREATE TABLE IF NOT EXISTS `pages` (
`uid` int(11) NOT NULL auto_increment,
`pid` int(11) NOT NULL default '0',
`t3ver_oid` int(11) NOT NULL default '0',
`t3ver_id` int(11) NOT NULL default '0',
`t3ver_wsid` int(11) NOT NULL default '0',
`t3ver_label` varchar(30) NOT NULL default '',
(...)
`l18n_cfg` tinyint(4) NOT NULL default '0',
`fe_login_mode` tinyint(4) NOT NULL default '0',
`tx_realurl_pathsegment` varchar(60) NOT NULL default '',
`tx_realurl_exclude` int(1) NOT NULL default '0',
PRIMARY KEY (`uid`)
(usw.)
Diese Einträge einfach mit ALTER table hinzufügen:
ALTER TABLE `pages` ADD `tx_realurl_pathsegment` varchar(60) NOT NULL default '';
ALTER TABLE `pages` ADD `tx_realurl_exclude` int(1) NOT NULL default '0';
Das gleiche Prinzip funktioniert auf für alle anderen Extensions und Tabellen.
Im Hauptordner typo3conf gibt es eine wichtige Datei: localconf.php. Die muss auch aktualisiert werden, aber am besten manuell bzw. mit einem diff-Tool (z.B. WinMerge). Darin steht z.B. Username+Passwort zur Datenbank, und die ändert sich normalerweise bei einem Serverumzug.
Bitte localconf.php auf jedenfall vorher sichern, denn wenn die localconf.php Fehler hat (und da reicht ein falscher Strichpunkt), kann man sich nicht mal mehr ins Backend einloggen…
Folgende Ordner kann man unbesehen hochladen:
Der Ordner typo3temp wird evtl. für Extensions benötigt, Details dazu siehe hier
Dateiberechtigungen setzen
Die Liste der installierten Extensions steht in der localconf.php. Allerdings in dem Teil der vom Install-Skript automatisch erzeugt wird, ich habe die gelassen und einfach alle Extensions im Extension Manager neu hinzugefügt. Vorteil: Datenbanktabellen werden auch gleich nochmal überprüft und bei Bedarf ergänzt.
Achtung Fehlerquelle: shy Extensions anzeigen – sonst kann man eine Extension übersehen.
Kommentar hinterlassen