Das neue Typo3 7.6 LTS installieren

Das neue Backend von Typo3 (Ausschnitt)
Das neue Backend von Typo3 (Ausschnitt): flache, farbstarke Icons ersetzen die alten, blassen Symbole

Typo3 ist ein Content-Management-System, das sich gerade in Deutschland einiger Beliebtheit erfreut. Während das System selbst unter der GNU Public Licence steht und kostenfrei erhältlich ist, gibt es zahlreiche Firmen und Agenturen, die im Kundenauftrag Typo3-Websites einrichten, pflegen und Extensions (Erweiterungen) programmieren. Für alle, die sich selbst mit Typo3 beschäftigen wollen, gibt es hier eine Schritt-für-Schritt-Anleitung, um die gerade veröffentlichte LTS-Version 7.6 zu installieren. LTS steht für Long Term Support und besagt, dass sich die Typo3-Entwickler verpflichten, diese Version mindestens drei Jahre lang mit Sicherheits-Updates und anderen Fehlerbehebungen zu versorgen – im Falle der gerade veröffentlichten LTS Version 7.6 also bis November 2018. Aber auch der LTS-Vorgänger Typo3 6.2 wird noch bis mindestens März 2017 gepflegt.

Wer schon einmal die 6.2er-Version von Typo3 eingerichtet hat, dem fallen bei der neuen Version sofort Änderungen ins Auge: Das Backend wurde stark überarbeitet, das Design ist responsiv geworden. Am Installationsablauf hat sich wenig geändert; allerdings muss man aufpassen, da sich beim Erstellen der Verzeichnisstruktur eben doch etwas geändert hat.

Beschrieben wird hier die Installation am Beispiel einer typischen Debian– oder Ubuntu-Server-Ungebung mit MySQL-Datenbank und PHP als Modul im Apache-Webserver.

1. Herunterladen und entpacken

Die aktuelle LTS-Version findet man stets in der Download-Sektion der Typo3-Website. Auch wenn dort eine Nicht-LTS-Variante mit höherer Versionsnummer angeboten wird, sollte man zur LTS-Version greifen, wenn man Wert auf ein nach Ansicht der Entwickler stabiles CMS für den Produktiveinsatz legt. Sobald eine neue LTS-Version erscheint, wird es auch einen definierten und dokumentierten Upgrade-Pfad geben, um die alte CMS-Version und deren Extensions fit für die Zukunft zu machen.

Laden Sie das Installationspaket als tar.gz-Archiv herunter. Wo Sie es entpacken, hängt ganz davon ab, ob Sie Ihr System selbst per Terminal administrieren oder nur Zugriff per FTP haben. Im ersten Fall können Sie die von Typo3 empfohlene Verzeichnisstruktur mit Symlinks erstellen; im zweiten Fall nicht.

Empfohlene Verzeichnisstruktur: Im Wurzelverzeichnis für Web-Dokumente – unter Debian oder Ubuntu ist dies /var/www – wird ein weiteres Verzeichnis für die neue Website erstellt; nennen wir es meine-typo3-installation.de. In diesem Verzeichnis wird sodann das Typo3-Installationspaket entpackt. Und es wird dort ein weiteres Verzeichnis namens htdocs erstellt, das später als Document Root – also als jenes Verzeichnis, aus dem der Webserver die Website serviert – konfiguriert wird. Schließlich wird die .htaccess-Datei für den Apache-Webserver aus dem Source-Verzeichnis in das neue htdocs-Verzeichnis verschoben und erhält dabei ihren korrekten Namen ohne führenden Unterstrich.

$ mkdir /var/www/meine-typo3-installation.de
$ cd /var/www/meine-typo3-installation.de/
$ tar xzf /pfad/zum/download/typo3_src-7.6.x.tar.gz
$ mkdir htdocs
$ cp typo3_src-7.6.x/_.htaccess htdocs/.htaccess

Mit Hilfe von symbolischen Links werden nun die Typo3-Sourcen in htdocs eingebunden:

$ cd /var/www/meine-typo3-installation.de/htdocs/
$ ln -s ../typo3_src-7.6.x typo3_src
$ ln -s typo3_src/typo3 typo3
$ ln -s typo3_src/index.php index.php

Warum symbolische Links? Im Falle eines Updates braucht man den Symlink typo3_src einfach nur auf das Source-Verzeichnis der neuen Version umschwenken.

Struktur ohne Symlinks: Können oder wollen Sie keine Symlinks setzen, entpacken Sie das Typo3-Installationspaket nach /var/www und benennen dann das resultierende Verzeichnis typo3_src-7.6.x einfach um in meine-typo3-installation.de – dieses Verzeichnis kann direkt als Document Root fungieren; ein weiteres Verzeichnis htdocs wird in diesem Fall nicht benötigt. Zum Schluss brauchen Sie die .htaccess-Datei für den Apache-Webserver nur umzubenennen, damit sie verarbeitet wird:

$ cd /var/www/
$ tar xzf /pfad/zum/download/typo3_src-7.6.x.tar.gz
$ mv typo3_src-7.6.x/ meine-typo3-installation.de
$ cd meine-typo3-installation.de/
$ mv _.htaccess .htaccess

2. Verzeichnis- und Dateirechte setzen

Wenn sich der Webspace, auf dem Typo3 installiert werden soll, auf einem Managed Server oder im Shared Hosting befindet, dann läuft normalerweise der Webserver unter dem selben Benutzer, mit dem Sie auch per FTP Zugriff auf den Webspace haben.

Wenn Sie Ihren Webserver selbst administrieren, können und müssen Sie sich mehr Gedanken machen. Aus Sicherheitsgründen sollte der Zugriff für den Webserver nicht zu großzügig sein; Schreibrechte sollte man ihm nur dort geben, wo er auch wirklich etwas schreiben soll.

Unter Debian/Ubuntu läuft der Apache-Webserver unter dem Benutzer www-data mit der Gruppe www-data. Für die Rechtevergabe gibt es – unabhängig von Typo3 – mehrere Strategien. Hier sei vorgeschlagen, dass alle Verzeichnisse und Dateien Root oder ihrem eigenen User gehören, für die Gruppe www-data (und damit für den Webserver) lesbar (und bei Verzeichnissen zusätzlich ausführbar) sind, und dass alle anderen keinen Zugriff haben. Ein ziemlich restriktives Rechte-Management also. Die folgenden Befehle setzen die Rechte wie zuvor beschrieben (auszuführen mit Root-Rechten):

$ cd /var/www/meine-typo3-installation.de/typo3_src-7.6.x/ # Empfohlene Verzeichnuisstruktur
$ cd /var/www/meine-typo3-installation.de/ # Ohne Symlinks
$ chown root:www-data -R .
$ chmod 640 -R .
$ find . -type d -exec chmod 750 {} \;
$ chmod 770 .

Mit dem letzten Kommando müssen wir leider unser straffes Rechte-Regime wieder aufweichen, da der Typo3-Installer mäkelt, wenn er nicht in sein Installationsverzeichnis schreiben kann; er möchte dort im Laufe der Installation weitere Verzeichnisse anlegen.

3. Webserver startklar machen

Beim Shared-Hosting oder auf einem Managed Server können Sie die Zuordnung einer Domain (über die Ihre Typo3-Website erreichbar sein soll) zur Document Root über das Kunden-Interface einstellen. Wenn Sie den Webserver selbst administrieren, müssen Sie einen Virtual Host einrichten, der diese Zuordnung widerspiegelt. Eine entsprechende Konfigurations-Datei des Apache-Webservers für meine-typo3-installation.de könnte so aussehen:

<VirtualHost *:80>
        DocumentRoot /var/www/meine-typo3-installation.de/htdocs # empfohlene Struktur
        DocumentRoot /var/www/meine-typo3-installation.de # ohne Symlinks
        ServerName meine-typo3-installation.de
        Options -Indexes
        DirectoryIndex index.php index.html
</VirtualHost>

Je nach gewählter Verzeichnisstruktur darf natürlich nur eine von beiden DocumentRoot-Direktiven übernommen werden; die andere muss gelöscht werden. Wenn Sie diese Datei mit dem Editor Ihres Vertrauens anlegen und unter /etc/apache2/sites-available/meine-typo3-installation.conf abspeichern, kann die Konfiguration anschließend wie folgt „scharf“ geschaltet werden:

$ a2ensite /etc/apache2/sites-available/meine-typo3-installation.conf
$ service apache2 reload

4. Installations-Assistent starten

Nicht ohne Datei FIRST_INSTALL: Installation einer neuen Typo3-Website
Nicht ohne Datei FIRST_INSTALL: Installation einer neuen Typo3-Website

Nun sollte Ihre (noch leere) Typo3-Website per Browser unter der Adresse http://meine-typo3-installation.de erreichbar sein. Der erste Aufruf der Domain im Browser zaubert natürlich noch keine fertige Website hervor, sondern startet den Installations-Assistenten von Typo3. Aus Sicherheitsgründen muss, damit die Installation durchläuft, im Verzeichnis Document Root eine (leere) Datei mit dem Namen FIRST_INSTALL liegen:

$ touch /var/www/meine-typo3-installation.de/htdocs/FIRST_INSTALL # Struktur mit Symlinks
$ touch /var/www/meine-typo3-installation.de/FIRST_INSTALL # Struktur ohne Symlinks

Exkurs: Das Install Tool

Der Installations-Assistent ist die Schritt-für-Schritt-Variante des eigentlichen Typo3-Installations-Werkzeugs (Install Tool); er fragt nur die wichtigsten Konfigurations-Parameter ab – aber nicht alle, wie wir gleich noch sehen werden – und führt automatisch Tests durch, um zu prüfen, ob das System korrekt vorkonfiguriert ist. Alle Systemvoraussetzungen sind in der im Source-Verzeichnis liegenden Datei INSTALL.md aufgeführt. Das Install Tool selbst ermöglicht hingegen nach der Installation (insofern ist der Name „Install“ Tool schlecht gewählt) per Browser die Manipulation aller Konfigurations-Variablen, die in einer Datei namens typo3conf/LocalConfiguration.php gespeichert sind. Diese Datei wird während der Installation angelegt und kann dann auch im Terminal bearbeitet werden. Den Komfort, sie direkt im Browser editieren zu können, bezahlt man wiederum mit einem Sicherheitsrisiko. Um die Gefahr zu mindern, sperrt Typo3 den direkten Zugriff auf das Install Tool über http://meine-typo3-installation.de/typo3/install (Fehlermeldung: „The install tool is locked“); zuvor muss im Verzeichnis typo3conf eine (leere) Datei ENABLE_INSTALL_TOOL angelegt werden. Per Knopfdruck lässt sich dies erledigen, wenn man das Install Tool über das Backend aufruft. Die Datei ENABLE_INSTALL_TOOL wird übrigens aus Sicherheitsgründen nach einer Stunde automatisch wieder gelöscht.

5. System checken

Installations-Assistent, Schritt 1
Installations-Assistent, Schritt 1

Zunächst führt der Assistent eine Prüfung der Typo3-Installation und des Webservers durch. Erscheint wie im Bild die rot markierte Fehlermeldung „/typo3_src should be a link, but it does not exist“, dann haben Sie nicht die oben empfohlene Verzeichnis-Struktur mit Symlinks eingerichtet und müssen die Fehlermeldung notgedrungen ignorieren.

Eine weitere Fehlermeldung bekommt man auf Standard-Installationen von Debian/Ubuntu mit PHP als Apache-Modul: „PHP always_populate_raw_post_data is deprecated“. Abhilfe schafft es, in der PHP-Konfigurationsdatei /etc/apache2/php5/php.ini das Kommentarzeichen vor der Zeile

always_populate_raw_post_data = -1

zu entfernen, die Datei erneut zu speichern und den Webserver neu zu laden.

Grundsätzlich muss man nicht alle Beanstandungen des Typo3-Installers reparieren. Die vom Installer empfohlene maximale Dateigröße für Uploads erscheint mir als zu hoch, so dass ich sie nur bei tatsächlichem Bedarf anpassen werde. Immerhin markiert der Assistent diese Einstellung nicht mehr rot (wie bei der Installation von Typo3 6.2 LTS), sondern nur noch gelb (Warnung). Aus einem ähnlichen Grund ignoriere ich auch die Warnung zur Script Execution Time (maximale Ausführungszeit von PHP-Skripten).

Um den Installer trotzdem zum nächsten Schritt zu bewegen, wird forsch auf die Schaltfläche „I know what I’m doing, continue!“ geklickt. Wer unsicher ist oder alles richtig machen will, arbeitet notgedrungen alle Fehlermeldungen solange mit „Fixed. check again“ ab, bis nur noch der Button „System looks good. Continue!“ erscheint. Bei weiteren Problemen sollte der Abschnitt Troubleshooting in der offiziellen Typo3-Dokumentation konsultiert werden.

6. Datenbank einrichten

Wenn noch nicht geschehen, ist es jetzt Zeit, eine MySQL-Datenbank für Typo3 anzulegen. Als Admin erledigt man das auf der Kommandozeile im MySQL-Monitor:

$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
[...]
mysql> create database `meine-typo3-installation`;
Query OK, 1 row affected (0,00 sec)
mysql> grant all on `meine-typo3-installation`.* to `typo3-user`@`localhost` identified by 'geheim';
Query OK, 0 rows affected (0,00 sec)

Der vorstehende Dialog zeigt, wie eine Datenbank namens typo3 für den Benutzer typo3-user mit dem Passwort geheim eingerichtet wird. Diese Daten machen wir nun dem Installations-Assistenten bekannt. Dabei werden im Schritt zwei zunächst Benutzername und Passwort …

Zweiter Installations-Schritt
Zweiter Installations-Schritt

… und im Schritt drei der Name der Datenbank abgefragt, wobei die soeben angelegte leere Datenbank im Pulldown-Menü auswählbar ist.

Dritter Installations-Schritt
Dritter Installations-Schritt

Typo3 bietet in diesem Schritt zwar alternativ an, die Datenbank selbst einzurichten; das ist aber kein guter Deal. Normalerweise sollte nur der MySQL-Root-User Datenbanken einrichten können; umgekehrt möchte man Typo3 aber nicht das Root-Passwort geben, sondern legt aus Sicherheitsgründen für jede Datenbank, so auch für diejenige der Typo3-Website, einen eigenen Benutzer an, der nur darauf Zugriff hat.

7. Seitennamen und Admin-Benutzer einrichten

Im vierten Schritt legt der Assistent den Administrator an und setzt den Namen der neuen Website, der allerdings keine besondere Bedeutung hat, da er nur im Backend angezeigt wird. Früher wurde standardmäßig als Benutzername „admin“ vorgeschlagen. Der neue Installer schreibt „admin“ nur noch ausgegraut hin. Da sich die Brute-Force-Angriffe auf das Typo3-Backend häufen, sollte man nicht nur ein starkes Passwort wählen, sondern auch einen anderen Benutzernamen wählen.

Vierter Installations-Schritt
Vierter Installations-Schritt

8. Nach der Installation

Schritt fünf: Installation beendet!
Schritt fünf: Installation beendet!

Wenn der Assistent „Installation done!“ meldet, dann ist die Installation tatsächlich durchgelaufen. Ein Blick in die Document Root zeigt jetzt, dass der Installer die Datei FIRST_INSTALL wieder gelöscht und vier neue Verzeichnisse angelegt hat:

  • fileadmin – die Dateiablage
  • typo3conf – das Konfigurationsverzeichnis
  • typo3temp – Verzeichnis für temporäre Dateien
  • uploads – Verzeichnis für hochgeladene Dateien

Sie können nun mit dem Button „Open the Backend“ in eben jenes Backend – also den Administrations- und Redaktionsbereich der Website – wechseln. Sie können per Mausklick die Installation einer von mehreren vorgefertigten Beispiel-Websites oder auch nur einer leeren Seite anstoßen. Wenn Sie bei Null starten wollen, sagen Sie einfach „Do nothing …“. Ins Backend gelangt man übrigens auch direkt über den Link http://meine-typo3-installation.de/typo3.

Einloggen auf dem Backend mit dem zuvor erstellten Admin-Konto
Einloggen auf dem Backend mit dem zuvor erstellten Admin-Konto

Nach erfolgreichem Erst-Login ins neue Backend wollen Sie Typo3 vielleicht sofort die deutsche Sprache beibringen. Dazu im linken Menübereich auf Admin Tools > Languages klicken und dann aus der neu gestalteten Sprachenliste „German“ auswählen. Das Sprachpaket muss allerdings heruntergeladen werden. Dazu klickt man auf das nach der Auswahl erscheinende Download-Symbol und kann dann per Fortschrittsbalken das Herunterladen der Sprachdateien bis zur finalen Erfolgsmeldung beobachten.

Spracheinstellungen im Backend
Spracheinstellungen im Backend

Jetzt muss die Sprache noch für mich, den Benutzer, eingestellt werden. Dazu auf den Benutzernamen oben im Rahmen klicken und User Settings wählen (früher über das Menü Tools zu erreichen). Im Register „Personal Data“ lässt sich als Sprache „German“ auswählen. Wo Sie schon einmal da sind, sollten Sie die Gelegenheit nutzen und zumindest auch noch ihren richtigen Namen eintragen, der später auch als Autorenname für Ihre Artikel verwendet wird.

ist eine neue Sprache in den Benutzer-Einstellungen ausgewählt, fordert Typo3 dazu auf, sich aus- und wieder einzuloggen.
Persönliche Einstellungen in Typo3

Um die Änderungen zu speichern, klicken Sie oben auf den Save-Button und loggen sich wie empfohlen vom Backend aus und wieder ein. Fertig. Typo3 ist installiert und spricht deutsch. Jetzt geht die Arbeit an der Typo3-Website aber erst richtig los …

3 comments on “Das neue Typo3 7.6 LTS installieren”

  1. Hallo,

    tolle Schritt-für-Schritt Anleitung!!

    Leider bekomme ich bei mir im Backend im allerletzten Schritt eine Fehlermeldung. „Die Validierung des Sicherheitstokens dieses Formulars ist fehlgeschlagen. Bitte laden Sie das Formular erneut und schicken Sie es dann noch einmal ab.“

    Bei fast jedem Versuch die Sprache zu ändern kommt die o.g. Fehlermeldung. Nach mehrfachem Abschicken des Formular ist es mir letztendlich gelungen die Sprache umzustellen, trotzdem taucht diese Meldung in 95% der Fälle auf – auch beim Bearbeiten/Speicehrn von Inhaltselementen. So kann man mit dem Backend natürlich herzlich wenig anfangen …

    Hast Du eventuell einen Rat oder eine Idee, was man hier ausprobieren könnte, um dies Problem in den Griff zu bekommen?

    Beste Grüße,
    Nico

  2. Hallo Nico, bin etwas verwundert, denn Security Tokens gibt es in Typo3 schon seit Jahren (und das letzte Mal Probleme damit hatte ich auch schon vor Jahren). Hintergrund der Security Tokens ist es, das „Kapern“ von Formularen per Cross Site Request Forgery zu verhindern, indem eben ein individuelles Token erzeugt wird, dessen Existenz in den übermittelten Formulardaten abgeprüft wird. Natürlich solltest Du selbst dadurch nicht ausgesperrt werden. Ist mit Deiner PHP-Installation und den Sessions alles okay, hast Du eine spezielle System-Konfiguration, hast Du Typo3 frisch aufgesetzt wie hier beschrieben oder verwendest Du existierende Extensions? Ach ja, einen Bug hast Du wohl schon gemeldet: https://forge.typo3.org/issues/71582

Schreibe einen Kommentar