Einfach erklärt: Die korrekten Einstellungen für den TYPO3 Live-Betrieb

Einfach erklärt: Die korrekten Einstellungen für den TYPO3 Live-Betrieb

Das Content Management System TYPO3 ist ein sehr mächtiges Programm zur Erstellung von Webseiten – egal ob für Entwickler, Administratoren oder Redakteure. Doch eins steht fest: Mächtige Anwendungen haben auch ihre Tücken. Denn es müssen viele verschiedene Einstellungs- und Konfigurationsmöglichkeiten beachtet und entsprechend gesetzt werden.

In meinem heutigen Artikel möchte ich euch daher aufzeigen, wie ihr eure TYPO3 Seite „fit für den Live-Betrieb“ bekommt, d.h. welche Einstellungen unbedingt gesetzt bzw. nicht gesetzt werden sollten.

  1. Wie und wo können Einstellungen für meine TYPO3 Installation gesetzt werden?
  2. Was hat es mit dem TYPO3 Debug-Modus bzw. Produktiv-Modus auf sich?
  3. Welche Einstellungen benötige ich für die Entwicklung?
  4. Welche Einstellungen benötige ich zwingend für den Live-Betrieb?
  5. Ich will nicht lauter Einstellungen setzen. Wie geht das per 1-Klick?
  6. Was kann passieren, wenn ich die Einstellungen falsch setze?
  7. Tiefer ins Detail: Was machen die Konfigurationsparameter überhaupt?

Wie und wo können Einstellungen für meine TYPO3 Installation gesetzt werden?

Alle für TYPO3 relevanten Einstellungen können sowohl über die LocalConfiguration.php im Ordner typo3conf der Installation als auch über Install-Tool im Backend gesetzt werden. Wir benutzen hier die etwas benutzerfreundliche Variante über das Install-Tool und verwenden TYPO3 in der Version 8.7 LTS.

Nach einem Login in das TYPO3 Backend sehen wir unter System > Installation den Punkt Install-Tool. Hier befinden sich alle im TYPO3 konfigurierbaren Einstellungen (All configuration) – eingeteilt nach Backend, Extension Installation, Frontend und vielem mehr. Ihr könnt für die Einstellungsmöglichkeiten auch den Suchfilter benutzen.

Zur Änderung einer Einstellung klicken wir die gewünschte Option (z. B. fileadminDir) an, tragen den gewünschten Wert ein und speichern die geänderte Konfiguration am Ende des Popups mit einem Klick auf Write configuration. Die Einstellungen sind nun in der LocalConfiguration.php auf Dateiebene geschrieben und werden genutzt.

Was hat es mit dem TYPO3 Debug-Modus bzw. Produktiv-Modus auf sich?

Eure TYPO3 Installation kann in zwei unterschiedlichen Modi betrieben werden – zum einen im Debug-Modus und zum anderen im Produktiv-Modus. Einfach erklärt: Der Debug-Modus hilft euch beim Entwickeln der Seite mit besonderen Ausgaben, der Produktiv-Modus ist beim Betrieb der Seite zwingend nötig und unterdrückt alle eventuell auftretenden Fehlermeldungen.

Welche Einstellungen benötige ich für die Entwicklung?

Für die Entwicklung empfiehlt TYPO3 folgende Standardeinstellungen:

'BE/debug' => '1',
'FE/debug' => '1',
'SYS/devIPmask' => 'EUREIPADRESSE',
'SYS/displayErrors' => '1',
'SYS/systemLogLevel' => '0',
'SYS/exceptionalErrors' => '12290'

Welche Einstellungen benötige ich zwingend für den Live-Betrieb?

Für den Live-Betrieb werden folgende Konfigurationen gesetzt:

'BE/debug' => '',
'FE/debug' => '',
'SYS/devIPmask' => '',
'SYS/displayErrors' => '0',
'SYS/systemLogLevel' => '2',
'SYS/exceptionalErrors' => '4096'

Ich will nicht lauter Einstellungen setzen. Wie geht das per 1-Klick?

Einfacher geht’s natürlich mit einem Klick. Und auch das kann TYPO3 über das Install-Tool im Backend. Hierfür wählt ihr unter System > Installation den Punkt Configuration Presets aus. Dort findet ihr die Einstellungen Live und Debug, die ihr entsprechend für eure Seite im Betrieb oder während der Entwicklung nutzen könnt. Wählt das passende Preset aus und klickt auf Activate.

Was kann passieren, wenn ich die Einstellungen falsch setze?

In dieser Woche hat ein Vorfall nochmal verdeutlicht, wie wichtig die richtigen Einstellungen sind. Fehlerhafte Konfigurationen des Debug-Modus im Live-Betrieb der Seite stellen ein erhebliches Sicherheitsrisiko dar und verlangsamt diese außerdem. Überprüft daher unbedingt vor Liveschaltung eurer Seite, ob die Debug-Einstellungen deaktiviert oder wenigstens abgesichert sind, da euch andernfalls sensible Daten und Informationen verloren gehen können.

Tiefer ins Detail: Was machen die Konfigurationsparameter überhaupt?

Nun wisst ihr schon, welche Konfigurationen ihr für eure TYPO3 Modi verwenden solltet. Was genau diese bewirken, erkläre ich euch im Folgenden:

  • BE/debug
    Aktiviert ihr diese Option, so wird Loginrefresh deaktiviert und pageRenderer in den Debug-Modus versetzt. Außerdem wird der Feldname an die Bezeichnung der Felder angehängt.
  • FE/debug
    Wenn aktiviert, wird die gesamte Parsetime der Seite als HTTP-Response-Header "X-TYPO3-Parsetime" hinzugefügt.
  • SYS/devIPmask
    Definiert eine Liste von IP-Adressen, die es ermöglicht, die Entwicklungsausgabe anzuzeigen. Die Funktion debug() verwendet dies als Filter. Wird der Wert auf einen Leerwert gesetzt, wird alles abgelehnt. Die Einstellung auf „*“ erlaubt alle IP-Adressen.
    Wir empfehlen hier entweder einen Leerstring oder höchstens die statische IP-Adresse des Entwicklers zu setzen.
  • SYS/displayErrors
    Konfiguriert, ob PHP-Fehler angezeigt werden sollen, indem die PHP-Option display_errors während der Laufzeit gesetzt wird. Der Wert 0 deaktiviert die Fehlerausgabe, der Wert 1 hingegen zeigt PHP-Fehler während der Laufzeit an und sollte daher nur während der Entwicklung genutzt werden.
  • SYS/enableDeprecationLog
    Aktiviert das Logging von veralteten Methoden im Programmcode. Dies kann wahlweise in einer Datei (typo3conf-Ordner), in der Entwicklerkonsole oder auf der Debug-Konsole im Backend erfolgen. Der Standardwert ist hierbei file.
  • SYS/sqlDebug
    Der SQL-Debug-Modus sorgt dafür, dass fehlerhafte Queries im Frontend ausgegeben werden. Diese Einstellung sollte ebenfalls nur während der Entwicklung gesetzt werden.
  • SYS/systemLogLevel
    Konfiguriert welche Protokollmeldungen in das System-Log geschrieben werden. Die Werte reichen hier von 0 (Info) bis 4 (Fatal Error). Der Wert 2 stellt einen guten Mittelwert dar.
  • SYS/exceptionalErrors
    Diese Einstellung sorgt für eine erweiterte Einstellung von Fehlermeldungen. Der eingetragene Wert (Standard 4096) wird in E_ALL & ~(E_STRICT | E_NOTICE | E_COMPILE_WARNING | E_COMPILE_ERROR | E_CORE_WARNING | E_CORE_ERROR | E_PARSE | E_PARSE E_ERROR | E_DEPRECATED | E_USER_DEPRECATED | E_WARNING | E_USER_ERROR | E_USER_NOTICE | E_USER_WARNING) übersetzt.
    Weitere Informationen hierzu siehe: http://php.net/manual/de/errorfunc.constants.php

Solltet ihr noch weitere Fragen haben, meldet euch gerne bei unserem Kundenservice.

Kommentar hinzufügen