Contao 5 für Unternehmen: Sicherheit, Wartbarkeit, DSGVO
Ein CMS ist kein Möbelstück: Contao 5 verbindet lange Supportzyklen mit klaren Update-Wegen – vorausgesetzt, Wartung ist Teil des Betriebskonzepts.
Der Anruf kommt an einem Freitagnachmittag: Die Website eines Zulieferers ist nicht erreichbar, stattdessen eine weiße Seite mit einer PHP-Fehlermeldung. Der Hoster hatte über Nacht auf eine neue PHP-Version umgestellt – angekündigt, dreimal, per E-Mail an eine Adresse, die niemand mehr liest. Die Contao-Installation stammt aus 2019, seit vier Jahren ohne Update.
Kurz gesagt: Ein CMS ist kein Möbelstück. Contao 5 macht den Betrieb planbar – über Langzeitversionen mit vier Jahren Absicherung, klare Update-Wege über Composer und Werkzeuge, die Sicherheit und Datenschutz unterstützen. Dieser Beitrag zeigt den LTS-Zyklus, den realen Wartungsaufwand, die Absicherung des Backends und den konkreten Ablauf eines Updates – mit den Befehlen, die dabei tatsächlich laufen.
LTS: vier Jahre Ruhe, wenn man den Pfad hält
LTS steht für Long Term Support, also eine Version mit besonders langer Unterstützung. Contao veröffentlicht regelmäßig neue Versionen; nur bestimmte davon werden zur LTS erklärt. Diese erhalten rund drei Jahre lang Fehlerbehebungen und anschließend ein weiteres Jahr sicherheitsrelevante Updates – zusammen vier Jahre Planungssicherheit.
Die aktuelle Langzeitversion ist Contao 5.3, die Anfang 2024 erschien. Mit Contao 5.7 steht die nächste LTS unmittelbar bevor; sie löst 5.3 als empfohlene Version ab und wird bis Ende des Jahrzehnts mit Sicherheitsupdates versorgt. Wichtig für die Praxis: Zwischenversionen wie 5.4, 5.5 oder 5.6 erhalten nur etwa ein halbes Jahr aktiven Support. Für Unternehmens-Websites, die stabil laufen sollen, ist deshalb der LTS-Pfad die richtige Wahl – wer stets die neuesten Funktionen braucht, kann den kurzen Zyklen folgen, muss dann aber häufiger aktualisieren.
PHP 8.3, OPcache, Composer – die Basis
Contao 5 basiert auf Symfony und einer aktuellen PHP-Version. Für die kommende LTS wird mindestens PHP 8.3 vorausgesetzt, während ältere Ausgaben noch mit PHP 8.2 zurechtkamen. Beim Hosting ist das selten ein Hindernis: Moderne Anbieter liefern die passenden Versionen längst mit.
Wichtiger als die reine Versionsnummer ist die Ausstattung: ausreichend Arbeitsspeicher für PHP, aktivierter OPcache, eine MySQL- oder MariaDB-Datenbank in aktueller Version sowie die Möglichkeit, Composer auszuführen – entweder über den Contao Manager im Browser oder über die Kommandozeile. Wer eine ältere Contao-4-Installation betreibt, sollte den Wechsel einplanen: Der Sprung ist mit einer sauber gepflegten Installation überschaubar, mit einer über Jahre gewachsenen Sammlung veralteter Erweiterungen jedoch aufwendig.
Was Wartung wirklich kostet (an Zeit)
Der reale Aufwand ist geringer, als viele befürchten – aber er ist nicht null. Typischerweise gehören dazu:
- Regelmäßige Updates von Contao-Kern und Erweiterungen, idealerweise monatlich, bei Sicherheitsmeldungen sofort;
- PHP-Updates im Blick behalten, damit die Umgebung nicht aus dem Support fällt;
- Backups von Datenbank und Dateien, automatisiert und regelmäßig auf Wiederherstellbarkeit geprüft;
- Testlauf vor dem Update auf einer Staging-Instanz, statt live zu experimentieren;
- Kontrolle der Erweiterungen: Was nicht genutzt wird, wird entfernt – jede Extension ist potenzielle Angriffsfläche und Ballast beim Update.
Ein kleiner Wartungsvertrag ist damit meist günstiger als eine einzige Notfallreparatur nach einem erfolgreichen Angriff oder einem missglückten Update.
Das Backend ist die eigentliche Angriffsfläche
Die häufigste Schwachstelle sitzt nicht im Code, sondern in der Organisation. Bewährte Maßnahmen:
- Persönliche Benutzerkonten statt eines gemeinsamen „Admin"-Zugangs – so bleibt nachvollziehbar, wer was geändert hat.
- Zwei-Faktor-Authentifizierung für alle Backend-Konten aktivieren; Contao bringt sie mit.
- Minimale Rechte: Redakteure brauchen keinen Zugriff auf Systemeinstellungen oder die Dateiverwaltung des gesamten Servers.
- Verlassene Konten entfernen, etwa von ausgeschiedenen Mitarbeitern oder früheren Dienstleistern.
- HTTPS erzwingen und das Backend nicht über eine ungeschützte Verbindung erreichbar machen.
Contao protokolliert Änderungen an Inhalten und erlaubt es, frühere Versionen wiederherzustellen – ein unterschätzter Schutz gegen versehentliches Löschen.
Datenschutz im Betrieb, nicht im Ordner
DSGVO ist kein einmaliges Projekt, sondern Teil des Betriebs. Auf technischer Seite zählen vor allem: Hosting in Deutschland oder der EU mit Auftragsverarbeitungsvertrag, TLS-Verschlüsselung, gekürzte IP-Adressen in Protokollen und eine begrenzte Aufbewahrungsdauer für Formulardaten. Contao speichert Formulareingaben auf Wunsch in der Datenbank – hier lohnt die Frage, ob das überhaupt nötig ist oder ob der Versand per E-Mail genügt.
Auf organisatorischer Seite gehören dazu ein Verzeichnis der Verarbeitungstätigkeiten, dokumentierte Zugriffsrechte und ein Löschkonzept. Wer externe Dienste einbindet – Karten, Videos, Schriften –, steuert sie über eine Consent-Lösung. Ein sauber gepflegtes CMS macht das einfacher, weil sich zentral nachvollziehen lässt, was tatsächlich geladen wird.
Ein Update, Schritt für Schritt
Der Weg führt über Composer, entweder im Contao Manager oder auf der Kommandozeile. Ein bewährter Ablauf: zunächst ein vollständiges Backup von Dateien und Datenbank, dann das Update auf einer Kopie der Website testen, anschließend live einspielen und die Datenbank aktualisieren. Danach folgt eine kurze Kontrolle der wichtigsten Seiten, Formulare und Module.
Beim Sprung auf eine neue LTS-Version ist zusätzlich zu prüfen, ob alle Erweiterungen die neue Version unterstützen. Erfahrungsgemäß sind es nicht die Kernkomponenten, die Probleme bereiten, sondern eine einzelne nicht mehr gepflegte Extension. Wer solche Abhängigkeiten früh erkennt, kann rechtzeitig auf Alternativen wechseln – oder die Funktion mit Bordmitteln nachbauen.
Auf der Kommandozeile sind es wenige Befehle – genau in dieser Reihenfolge:
# 1. Sicherung: Datenbank und Dateien
mysqldump -u USER -p DATENBANK > backup-$(date +%F).sql
tar czf files-$(date +%F).tar.gz files/ templates/
# 2. Abhängigkeiten prüfen, bevor irgendetwas passiert
composer outdated "contao/*"
composer why-not contao/core-bundle 5.7
# 3. Update einspielen
composer update contao/* --with-all-dependencies
# 4. Datenbank und Cache nachziehen
vendor/bin/contao-console contao:migrate
vendor/bin/contao-console cache:clear --env=prod
vendor/bin/contao-console cache:warmup --env=prodDer wichtigste Befehl ist der zweite: composer why-not beantwortet die Frage, welche Erweiterung dem Sprung auf die neue Version im Weg steht – bevor das Update läuft, nicht danach. Wer den Contao Manager im Browser nutzt, macht dasselbe mit Mausklicks; die Logik bleibt identisch.
Für die Absicherung des Backends lohnt zusätzlich ein Blick in die Konfiguration:
# config/config.yaml – Backend-Härtung
contao:
security:
two_factor:
enforce_backend: true # 2FA für alle Backend-Konten erzwingen
backend:
attributes:
custom_css: true
# .env.local
APP_ENV=prod
APP_SECRET=… # zufällig, nie im Repository
DATABASE_URL=…Mit enforce_backend: true ist die Zwei-Faktor-Authentifizierung keine Empfehlung mehr, sondern Pflicht – für jedes Konto, auch für den Dienstleister. Das ist die wirksamste Einzelmaßnahme gegen übernommene Zugänge.
Aus der Praxis: Wenn eine Extension das Update blockiert
Typisches Szenario – so läuft ein solcher Fall in der Praxis ab.
Ein Maschinenbauer will von Contao 4.13 auf die aktuelle LTS wechseln. Der Testlauf auf einer Kopie bricht ab: Eine Erweiterung für Produktfilter, vor sechs Jahren von einem Freelancer gebaut, ist nicht kompatibel und wird nicht mehr gepflegt. Klassische Sackgasse – und der Punkt, an dem viele Projekte jahrelang stehen bleiben.
Der Weg heraus führt über eine nüchterne Bestandsaufnahme. composer why-not nennt den Blocker beim Namen. Danach stehen drei Optionen auf dem Tisch:
- Ersetzen: Der Filter wird mit Bordmitteln nachgebaut – in diesem Fall genügt eine Kombination aus News-Archiv, Kategorien und einem Filtermodul aus dem Contao-Ökosystem.
- Anpassen: Die Erweiterung wird auf die neue Contao-Version portiert – lohnt sich nur, wenn die Funktion wirklich einzigartig ist.
- Weglassen: Die Auswertung zeigt, dass der Filter monatlich achtmal benutzt wurde. Er fliegt raus.
Man entscheidet sich für Variante drei plus eine schlanke Eigenlösung. Das Update läuft anschließend in zwei Stunden durch. Die Lehre ist unspektakulär, aber teuer erkauft: Jede Erweiterung ist eine Verbindlichkeit – sie muss über die gesamte Lebensdauer der Website gepflegt werden. Wer beim Bau spart und dafür an drei Stellen eine Extension einbaut, zahlt beim nächsten LTS-Sprung.
Wartungsvertrag: Versicherung, kein Luxus
Immer dann, wenn die Website geschäftskritisch ist und niemand im Haus die Zeit oder das Know-how hat, Updates verlässlich einzuspielen. Ein sinnvoller Wartungsumfang enthält: regelmäßige Updates von Kern und Erweiterungen, Überwachung von Sicherheitsmeldungen, automatische Backups mit Wiederherstellungstest, ein Auge auf Ladezeit und Erreichbarkeit sowie einen definierten Ansprechpartner im Störungsfall.
Der Nutzen zeigt sich selten im Alltag, sondern im Ernstfall: Wenn eine Sicherheitslücke bekannt wird, zählt die Reaktionszeit in Stunden, nicht in Wochen. Und wenn ein Update schiefgeht, entscheidet ein funktionierendes Backup darüber, ob die Website in zwanzig Minuten oder in zwei Tagen wieder online ist.
Fazit: Planbarkeit ist der eigentliche Gewinn
Contao 5 bietet dem Mittelstand eine seltene Kombination: ein professionelles, quelloffenes CMS mit klaren Supportzyklen, einer sauberen technischen Basis und Werkzeugen, die Sicherheit und Datenschutz unterstützen statt behindern. Entscheidend ist, den Betrieb mitzudenken – LTS-Version wählen, Updates einplanen, Backend absichern, Backups prüfen, externe Dienste kontrollieren. Wer das tut, hat für Jahre Ruhe. Wer es unterlässt, zahlt später drauf – oft zum ungünstigsten Zeitpunkt.
Häufige Fragen
Die häufigsten Fragen zu Contao 5, Updates, Sicherheit und Datenschutz – kurz beantwortet.
Eine Langzeitversion mit rund drei Jahren Fehlerbehebungen und einem weiteren Jahr Sicherheitsupdates – insgesamt vier Jahre Absicherung. Aktuelle LTS ist Contao 5.3, Contao 5.7 folgt als nächste.
Die kommende LTS setzt mindestens PHP 8.3 voraus; ältere Versionen liefen noch mit PHP 8.2. Moderne Hosting-Umgebungen bringen das in der Regel mit.
Regelmäßig, idealerweise monatlich – und bei Sicherheitsmeldungen umgehend. Vorher gehören Backup und Test auf einer Kopie der Website dazu.
Das hängt von der Installation ab. Eine gepflegte Website mit aktuellen Erweiterungen lässt sich überschaubar umstellen; kritisch sind veraltete oder nicht mehr gepflegte Extensions.
Updates von Kern und Erweiterungen, Beobachtung von Sicherheitsmeldungen, automatische Backups mit Wiederherstellungstest, Monitoring von Erreichbarkeit und Ladezeit sowie ein fester Ansprechpartner.