Installation von Typo3 8.7
Hinweis: Für diese Seite steht unter Installation_von_Typo3_10.4 eine an Typo3 10.4 angepasste Version zur Verfügung.
Typo3 ermöglicht zwei Arten der Installation. Bei der Installation für ein Einzelsystem wird das SRC-Paket direkt in das Verzeichnis des Webservers kopiert. Bei der Installation für mehrere Systeme, wie ich sie in der Regel benutze, wird das SRC-Paket außerhalb des Hauptverzeichnisses vom Webserver abgelegt und von dort nur verlinkt. Dadurch ist dieser Teil nur ein einziges Mal auf dem Server vorhanden, was auch die Aktualisierung erleichtert. Für eine Aktualisierung müssen nur die Links auf das neue SRC-Paket umgebogen werden.
Meine Beschreibung geht von der Installation mit verlinktem SRC-Paket aus.
Bei dem verwendeten Server handelt es sich um einen Strato-Server mit Ubuntu 16.04 konfiguriert gemäß Beschreibung unter Root-Server mit Ubuntu 16.04
Inhaltsverzeichnis
Vorbereitungen
Die Installation erfordert folgende vorbereitenden Schritte:
- Herunterladen des aktuellen SRC-Paketes von http://typo3.org/download/
- Installation des SRC-Paketes, z.B. nach /srv/www/typo3src/typo3_src-8.7
- Erstellen einiger Links in dem Webserver-Verzeichnis httpdocs:
- ln -s /srv/www/typo3src/typo3_src-8.7 typo3_src
- ln -s typo3_src/index.php index.php
- ln -s typo3_src/typo3 typo3
- Kopieren der .htaccess: cp typo3_src/_.htaccess .htaccess
- Korrigieren des Eigentümers, z.B. www-data.www-data
- Erstellen folgender Datei mittels: touch FIRST_INSTALL
Installation
Die eigentliche Installation startet man dann, indem man das System im Browser aufruft.
Bei einem neu eingerichteten Server bekomme ich dann in der Regel erst einmal ein paar Fehlermeldungen (siehe Installation von Typo3 7.6), die beseitigt werden müssen. Dann kann man mit gutem Gewissen auf System looks good. Continue! klicken.
Im nächsten Schritt geht es um den Datenbankzugriff. Ich habe vor dem Installationsbeginn bereits eine Datenbank und einen Benutzer angelegt. Dessen Daten werden hier erfragt.
Nach einem erneuten Klick auf Continue erfolgt die Auswahl der Datenbank, wobei nur solche angezeigt werden, auf die der vorher angegeben Benutzer auch Zugriff hat.
Gegebenenfalls kann man hier auch eine Datenbank anlegen, aber auch dafür müsste der Benutzer ja die Rechte besitzen.
An dieser Stelle bekomme ich gelegentlich die Fehlermeldung
Invalid Charset Your database uses character set "latin1", but only "utf8" is supported with TYPO3. You probably want to change this before proceeding.
Dann hilft folgende Zeile im SQL-Fenster von phpmyadmin weiter:
ALTER DATABASE <datenbankname> CHARACTER SET utf8 COLLATE utf8_general_ci;
Wenn die Rechte in Ordnung sind, dann wird im nächsten Schritt das Passwort für den Benutzer admin und das Install Tool angelegt.
Das Installations-Tool ist sehr pingelig, was das Passwort betrifft. Nach dem nächsten Klick auf Continue vergeht etwas Zeit, weil die Datenbank und das Grundsystem eingerichtet wird. Im letzten Schritt kann man dann noch aus einer Liste von vorinstallierten Systemen auswählen. Das habe ich noch nie gemacht, ich möchte mein System selber einrichten.
Also die letzte Option aktivieren und auf ins Backend.
Hier meldet man sich mit dem Benutzernamen admin und dem vorher erstellten Passwort an. Es sollte sich folgendes Bild ergeben.
Konfiguration
Bevor man an die Erstellung von Seiten denken kann, muss man erst einmal die Konfiguration des Systems überprüfen und ggf. nachbessern.
Im ersten Schritt sollte man die Sprachunterstützung erweitern, indem man im Menü links den Menüpunkt Languages anwählt und dann im mittleren Fenster auf das +-Zeichen von German klickt. Daraufhin erscheint weiter rechts ein Download-Button, klickt man auf den, so wird die gewünschte Übersetzung geladen.
In der aktuellen Version aber erst, wenn man auch den Download-Button in der Zeile klickt.
Der Prozess dauert etwas, da die Pakete einzeln durchgegangen werden. Den Ablauf kann man in dem rechten Feld verfolgen, wenn man ggf. auch herunter scrollt. Die Spracheinstellungen sollte man immer mal wieder aktualisieren, vor allem wenn man neue Extensions installiert hat.
Danach kann man für sich und auch die anderen Benutzer die eben geladene Sprache als Benutzersprache einstellen.
Zum Speichern immer das Disketten-Icon suchen, meist relativ weit oben im Fenster.
Man sieht hier übrigens, dass sich die Spracheinstellungen auch sofort auswirken, auch wenn Typo3 hier vorsichtshalber etwas anderes angibt.
Wichtig ist jetzt erst einmal das Install-Tool, welches man über den Links Installation aufruft.
In der Regel wird das Tool nicht willig starten, weil es zur Absicherung das Vorhandensein einer Datei ENABLE_INSTALL_TOOL im Verzeichnis typo3conf erwartet. Diese Datei kann man per Hand anlegen, oder indem man auf den Button im Hinweistext klickt. Wenn dies erledigt ist, dann ist noch die Eingabe des Install-Tool Passwortes erforderlich.
Das Passwort wurde bei der Installation angelegt und stimmt ursprünglich mit dem Admin-Passwort überein (kann man im Install Tool ändern). Danach landet man dann endlich im Tool.
Einstellung für die Datenbank
Über das Installtool muss man in der Konfigurationsdatei im Bereich SYS folgenden Wert setzen:
'initCommands' => 'SET SESSION sql_mode=\'\'',
bzw. SET SESSION sql_mode= im Feld [SYS][setDBinit]
ohne diese Einstellung gibt es Fehler beim Einfügen von Elementen in die Datenbank. Bei Typo3 8.7 gelöst?? https://forge.typo3.org/issues/81043
In der Version 8.7 ist diese Einstellung verschoben worden (https://docs.typo3.org/typo3cms/extensions/core/Changelog/8.1/Breaking-75454-LocalConfigurationDBConfigStructureHasChanged.html):
SYS/setDBinit wurde zu DB/Connections/Default/initCommands
Bei mir sieht jetzt der DB Bereich folgendermaßen aus
'DB' => [ 'Connections' => [ 'Default' => [ 'charset' => 'utf8', 'dbname' => '<datenbank>', 'driver' => 'mysqli', 'host' => '127.0.0.1', 'initCommands' => 'SET SESSION sql_mode=\'\'', 'password' => '<passwort>', 'port' => 3306, 'user' => '<benutzer>', ], ], ],
Die Einstellung ist aber wohl nicht überflüssig, man kann sie aber anscheinend nur direkt in der Konfigurationsdatei vornehmen.
Problem mit Zugriffsrechten
Die folgende Einstellung in AllComfiguration entscheidet darüber, ob man Zugriffe für Benutzer und Gruppen explizit erlauben oder explizit verbieten muss:
[BE][explicitADmode] = explicitAllow
oder
[BE][explicitADmode] = explicitDeny
Das macht sich dann in der Rubrik
Feldwerte explizit erlauben/verbieten: Seiteninhalt: Typ:
bemerkbar.
Nachtrag 1 - Update Problem Typo3 8.7.3
Es geht schon wieder los (wie bei Version 6.2). Auf meinem Server hatte ich Typo3 8.7.1 installiert und eigentlich funktionierte alles so, wie ich es wollte. Nun habe ich versucht das Update auf 8.7.3 einzurichten. Was mich dabei gewundert hat, ist die deutlich geringere Größe der Archivdatei und auch des Installationsverzeichnisses nur 87MB gegen 103 MB bei 8.7.2 und 110 MB bei 8.7.1.
Nach der Umstellung blieben viele meiner Seiten weiß. Auch eine Anmeldung im Backend war nicht möglich. Ich musste über das Install-Tool gehen und alle Caches löschen. Erst später ist mir aufgefallen, dass keine News mehr angezeigt wurden. Das Problem trat bei allen Seiten auf, die mit dem News-Modul von Georg Ringer arbeiten. Mobbt der uns, oder mobben die anderen Entwickler ihn????
Ich habe jetzt also erst einmal auf 8.7.1 zurück gestellt, musste natürlich wieder in das Install-Tool, aber immerhin läuft alles wieder. Mal sehen, ob irgendwann ein Update mit einer Problemlösung kommt.
Nachtrag 2 - Update auf Typo3 8.7.8
So, jetzt ein neuer Anlauf für eine Aktualisierung der 8.7er Systeme. Aber ganz vorsichtig und einzeln, damit mir große Überraschungen möglichst erspart bleiben. Nach dem Umsetzen des typo3_src Links wird mir im Backend fast überall folgender Inhalt angezeigt:
The requested URL /typo3/undefined was not found on this server.
Das lässt sich mit dem Löschen des Caches beseitigen. Auch alle News sind anfangs verschwunden, wenn ich aber alle Caches lösche, dann sind sie wieder da. Ich muss also unbedingt den Cache löschen.
Dazu kommt, dass nun das Update-Tool ein unvollständiges Update vermeldet. Ursache sind die folgenden Änderungen an der Datenbank
ALTER TABLE `sys_file_metadata` CHANGE `l10n_diffsource` `l10n_diffsource` MEDIUMBLOB DEFAULT NULL Current value: l10n_diffsource MEDIUMBLOB NOT NULL ALTER TABLE `sys_file_reference` CHANGE `l10n_diffsource` `l10n_diffsource` MEDIUMBLOB DEFAULT NULL Current value: l10n_diffsource MEDIUMBLOB NOT NULL ALTER TABLE `sys_category` CHANGE `l10n_diffsource` `l10n_diffsource` MEDIUMBLOB DEFAULT NULL Current value: l10n_diffsource MEDIUMBLOB NOT NULL ALTER TABLE `sys_domain` CHANGE `domainName` `domainName` VARCHAR(255) DEFAULT NOT NULL Current value: domainName VARCHAR(80) DEFAULT NOT NULL COLLATE utf8_general_ci
Nervig, weil ich damit ja an jede Installation heran muss. Hoffentlich wird das alles bei den späteren Updates besser.