370 - Das hier von TYPO3 ist nur geparkt !!! Es gehört hier gar nicht hin.
-
380 - der Dummi Bereich der Typo3 Version
Jetzt werden sowohl die entsprechenden Typo3 Sourcen in das /www/ Verzeichnis kopiert wie auch der zugehörige Dummi Bereich in das neue Ziel-Root- Verzeichnis im /www/ installiert.
Der neue DNS Eintrag muss mit der neuen vhost .conf Datei korrespondieren und der entsprechende vhost Eintrag muss auf dieses root Verzeichnis zeigen. Diese logische Verkettung muss stimmen.
-
400 - Der Import einer TYPO3 Installation kann beginnen.
Der Apache muss laufen, der "mysql_secure_installation" ist fertig ausgeführt, die mysql Datenbak muss dann laufen und phpmyadmin muss auch laufen.
Mit phpmyadmin müssen wir einen weiteren Benutzer (neben dem "root") anlegen, der die vollen Schreib-Rechte auf die jeweiligen Zieldatenbanken hat.
In einer neuen leeren mysql Installation unter Suse 12.1 sehen wir zuest nur 3 Datenbanken:
-
-
und
- Server: Localhost via UNIX socket
- Server Version: 5.5.16-log
- Protokoll-Version: 10
- Benutzer: root@localhost
- MySQL-Zeichensatz: UTF-8 Unicode (utf8)
-
und
- Apache/2.2.21 (Linux/SUSE)
- MySQL-Client-Version: mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $
- PHP Erweiterung: mysqli
-
und
- Versionsinformationen: 3.4.9, aktuelle stabile Version: 3.4.9
-
420 - Die Test-Datenbank anlegen
Die neue Zieldatenbank samt utf8 Kollation wird mit phpMyAdmin angelegt.
Ein Benutzer mit den vollen Rechten ist bereits angelegt und der Datenbank zugeordnet, Hilfsweise könnte das temporär auch der root User sein.
Wir haben uns 2 ganz spezielle Sicherungs- und Restore- Shellscripte geschrieben, mit den wir die "nackten" Inhalte von beliebigen TYPO3 Servern komplett und vor allen sehr effizient sichern. Das ist ebenfalls separat beschrieben.
Unser spezieller "restore" Shell-Script im /etc/bak-restore/ Verzeichnis wird mit den zu importierenden gepackten Dateien /vol2/bakup/ laufen lassen. Das ist eine längere Aktion, die darum separat beschrieben steht.
Die Datei-Rechte der neuen (leeren) Typo3 Umgebung samt Web-Root-Verzeichnis (jedenfalls bei Suse) werden auf "wwwrun:www" umgesetzt.
In /typo3conf/ wird die benötigte "Install-Datei" zur Aktivierung des Installtools erstellt und nun werden im Installtool user und pw der mysql Datenbank eingetragen und dann die richtige Datenbank ausgewählt und nochmal abgespeichert. Bei der Typo3 4.6.4 gibts da noch ein paar Besonderheiten, genannt Bugs.
Wichtig: User und PW müssen stimmen, sonst kommt man auf die mysql Ebene gar nicht drauf. Es ist in der typo3conf.php sowieso die alte Datenbank noch drinnen, die wir gegen die neue austauschen müssen. (Darum ging es bei der 4.6.4 auch auf Anhieb.)
Mit etwas Glück und wenigen Fehlern läuft es dann sofort wieder. Mit etwas Routine ist das alles (solch eine Rücksicherung einer ehemals laufenden Domaine) in 30 Minuten zu schaffen, wenn die Daten nicht zu üppig und die Kisten schnell genug sind.
Soeben am 7.2.2012 hat es 8 mal (als bei 8 Domains) super funktioniert.
450 - TYPO3 + Suse 12.1 + mysql - wieder mit Standard "myisam"
Es gibt Gründe, bei einfachen Redaktionsystemen nach wie vor nicht die innodb als default engine der mysql Datenbank zu benutzen, sondern nach wie vor "myisam".
Das bringt bei der Typo3 Version 4.6.4 so manche Kuriositäten zum Vorschein. Beim Anlegen der Datenbank im Installtool wird solange kein user und kein pw akzeptiert, wie nicht auch irgendeine Datenbank im localconf "benannt" (also eingetragen ist) wird. Ob der Name stimmt oder nicht, ist unwichtig. Von da an kann man eine neue Datenbank anlegen oder eine vorhandene Datenbank auswählen, die mit dem eingetragenen User und pw (auf einmal doch) harmoniert.
Das dicke Ende kommt dann beim "compare", wenn ca. 20 InnoDB- Tabellen nicht angelegt werden - mit einer ziemlich blöden Fehlermeldung:
Übersetzt steht da :
Benutze bitte "ENGINE = InnoDB" anstatt "TYPE = InnoDB". Ist natürlich Mist, schaut man in den SQL Code rein, dort steht korrekt nur noch "ENGINE = InnoDB".
Also geht nur die "Russische Methode". Laß Typo3 "compare" den Teil machen, der funktioniert und gehe ins zweite Browser-Fenster mit phpmyadmin und füttere dort die restlichen (fehlenden) Tabellen per SQL Code nach.
Das ist der SQL Code für das phpMyAdmin SQL Fenster :
Mit dem nachfolgenden Code werden die fehlenden Tabellen angelegt:
CREATE TABLE cache_imagesizes ( md5hash varchar(32) NOT NULL default '', md5filename varchar(32) NOT NULL default '', tstamp int(11) NOT NULL default '0', filename varchar(255) NOT NULL default '', imagewidth mediumint(11) unsigned NOT NULL default '0', imageheight mediumint(11) unsigned NOT NULL default '0', PRIMARY KEY (md5filename) ) ENGINE=InnoDB;
CREATE TABLE sys_history ( uid int(11) unsigned NOT NULL auto_increment, sys_log_uid int(11) NOT NULL default '0', history_data mediumtext, fieldlist text, recuid int(11) NOT NULL default '0', tablename varchar(255) NOT NULL default '', tstamp int(11) NOT NULL default '0', history_files mediumtext, snapshot tinyint(4) NOT NULL default '0', PRIMARY KEY (uid), KEY recordident_1 (tablename,recuid), KEY recordident_2 (tablename,tstamp), KEY sys_log_uid (sys_log_uid) ) ENGINE=InnoDB;
CREATE TABLE sys_log ( uid int(11) unsigned NOT NULL auto_increment, userid int(11) unsigned NOT NULL default '0', action tinyint(4) unsigned NOT NULL default '0', recuid int(11) unsigned NOT NULL default '0', tablename varchar(255) NOT NULL default '', recpid int(11) NOT NULL default '0', error tinyint(4) unsigned NOT NULL default '0', details text NOT NULL, tstamp int(11) unsigned NOT NULL default '0', type tinyint(3) unsigned NOT NULL default '0', details_nr tinyint(3) unsigned NOT NULL default '0', IP varchar(39) NOT NULL default '', log_data varchar(255) NOT NULL default '', event_pid int(11) NOT NULL default '-1', workspace int(11) NOT NULL default '0', NEWid varchar(20) NOT NULL default '', PRIMARY KEY (uid), KEY event (userid,event_pid), KEY recuidIdx (recuid,uid) ) ENGINE=InnoDB;
CREATE TABLE cache_typo3temp_log ( md5hash varchar(32) NOT NULL default '', tstamp int(11) NOT NULL default '0', filename varchar(255) NOT NULL default '', orig_filename varchar(255) NOT NULL default '', PRIMARY KEY (md5hash) ) ENGINE=InnoDB;
CREATE TABLE cache_md5params ( md5hash varchar(20) NOT NULL default '', tstamp int(11) NOT NULL default '0', type tinyint(3) NOT NULL default '0', params text, PRIMARY KEY (md5hash) ) ENGINE=InnoDB;
CREATE TABLE cache_treelist ( md5hash char(32) NOT NULL default '', pid int(11) NOT NULL default '0', treelist text, tstamp int(11) NOT NULL default '0', expires int(11) unsigned NOT NULL default '0', PRIMARY KEY (md5hash) ) ENGINE=InnoDB;
CREATE TABLE fe_session_data ( hash varchar(32) NOT NULL default '', content mediumblob, tstamp int(11) unsigned NOT NULL default '0', PRIMARY KEY (hash), KEY tstamp (tstamp) ) ENGINE=InnoDB;
CREATE TABLE fe_sessions ( ses_id varchar(32) NOT NULL default '', ses_name varchar(32) NOT NULL default '', ses_iplock varchar(39) NOT NULL default '', ses_hashlock int(11) NOT NULL default '0', ses_userid int(11) unsigned NOT NULL default '0', ses_tstamp int(11) unsigned NOT NULL default '0', ses_data blob, ses_permanent tinyint(1) unsigned NOT NULL default '0', PRIMARY KEY (ses_id,ses_name), KEY ses_tstamp (ses_tstamp) ) ENGINE=InnoDB;
CREATE TABLE cf_cache_hash ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', expires int(11) unsigned NOT NULL default '0', content mediumblob, PRIMARY KEY (id), KEY cache_id (identifier,expires) ) ENGINE=InnoDB;
CREATE TABLE cf_cache_hash_tags ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', tag varchar(250) NOT NULL default '', PRIMARY KEY (id), KEY cache_id (identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;
CREATE TABLE cf_cache_pages ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', expires int(11) unsigned NOT NULL default '0', content mediumblob, PRIMARY KEY (id), KEY cache_id (identifier,expires) ) ENGINE=InnoDB;
CREATE TABLE cf_cache_pages_tags ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', tag varchar(250) NOT NULL default '', PRIMARY KEY (id), KEY cache_id (identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;
CREATE TABLE cf_cache_pagesection ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', expires int(11) unsigned NOT NULL default '0', content mediumblob, PRIMARY KEY (id), KEY cache_id (identifier,expires) ) ENGINE=InnoDB;
CREATE TABLE cf_cache_pagesection_tags ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', tag varchar(250) NOT NULL default '', PRIMARY KEY (id), KEY cache_id (identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;
CREATE TABLE cf_extbase_reflection ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', expires int(11) unsigned NOT NULL default '0', content mediumblob, PRIMARY KEY (id), KEY cache_id (identifier,expires) ) ENGINE=InnoDB;
CREATE TABLE cf_extbase_reflection_tags ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', tag varchar(250) NOT NULL default '', PRIMARY KEY (id), KEY cache_id (identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;
CREATE TABLE cf_extbase_object ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', expires int(11) unsigned NOT NULL default '0', content mediumblob, PRIMARY KEY (id), KEY cache_id (identifier,expires) ) ENGINE=InnoDB;
CREATE TABLE cf_extbase_object_tags ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', tag varchar(250) NOT NULL default '', PRIMARY KEY (id), KEY cache_id (identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;
CREATE TABLE cf_workspaces_cache ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', expires int(11) unsigned NOT NULL default '0', content mediumblob, PRIMARY KEY (id), KEY cache_id (identifier,expires) ) ENGINE=InnoDB;
CREATE TABLE cf_workspaces_cache_tags ( id int(11) unsigned NOT NULL auto_increment, identifier varchar(250) NOT NULL default '', tag varchar(250) NOT NULL default '', PRIMARY KEY (id), KEY cache_id (identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;
(nur den nackten Code markieren und per Drag and Drop ins
-
Die Typo3 Version 4.6.4 läuft soweit.
28.2.2011 - Suse 12.1 /64 und Typo3 4.6.4 laufen rudimentär. Jetzt werden die Inhalte der Version 4.2.17 eingespielt. Mal sehen.