Das AddOn ermöglicht es Administratoren, das Frontend und/oder des Backend von REDAXO für Besucher und/oder Redakteure zu sperren. Zum Beispiel bei Wartungsarbeiten oder in der Entwicklungsphase.
- Wahl der Authentifizierung: Geheime URL oder Passwort
- Optionales Sperren des Frontends auch für REDAXO-Benutzer (außer Admins)
- Optionale Weiterleitung zu einer festgelegten URL, z.B. REDAXO-Login
- Festlegen des HTTP-Statuscodes (z.B. 503 Service Unavailable)
- Silent Mode: Nur HTTP-Status ohne HTML-Content (ideal für Staging/Development)
- Anpassen der Sperrseite durch eigenes Fragment (
maintenance/frontend.php) - Definieren von Ausnahmen, die dennoch Zugriff erhalten, z.B. für
- IP-Adressen
- Hosts
- YRewrite-Domains (neu in Version 3.0.0)
- Meldung und Zeitraum zur Ankündigung eines Wartungsfensters definieren (neu in Version 3.0.0)
- Sperren des REDAXO-Backends für alle Benutzer (außer Admins)
Eine Meldung und Zeitraum zur Ankündigung eines Wartungsfensters definieren (neu in Version 3.0.0). Die Ausgabe erfolgt über FriendsOfRedaxo\Maintenance\Maintenance::getAnnouncement(), z.B.
$announcement = FriendsOfRedaxo\Maintenance\Maintenance::getAnnouncement();
if($announcement) {
echo '<div class="alert alert-danger">'.$announcement.'</div>';
}Eine für Nutzer*innen hilfreiche Meldung ist beispielsweise:
Geplante Wartungsarbeiten am 01.01.2022 von 00:00 bis 06:00 Uhr. In dieser Zeit ist die Website möglicherweise nicht erreichbar.
Standardmäßig wird eine einfache HTML-Seite angezeigt, die den Wartungsmodus anzeigt.
Diese kann durch eine eigene HTML-Seite ersetzt werden. Dazu muss im Projekt-AddOn ein Ordner fragments/maintenance angelegt werden. In diesem Ordner kann eine Datei frontend.php mit eigenem HTML-Code erstellt werden. D.h. /src/addons/maintenance/fragments/maintenance/frontend.php
So kann bspw. eigener Text, Logo oder komplett andere Gestaltung erfolgen.
Der Silent Mode ist ideal für Staging-Systeme und Development-Umgebungen, die permanent gesperrt sein sollen:
- Sendet nur den HTTP-Status-Code (z.B. 503 oder 403)
- Zeigt keine HTML-Wartungsseite an
- Verhindert Rückschlüsse auf das verwendete CMS
- Perfekt für Produktiv-Vorschau-Systeme, die nur nach Login zugänglich sein sollen
Aktivierung: In den erweiterten Einstellungen (Einstellungen) unter "HTTP-Einstellungen" die Option "Silent Mode" aktivieren.
Der Menüeintrag erhält bei Aktivierung einer der Wartungsmodi ein zusätzliches Tag.
- Standard: Alle Funktionen sind deaktiviert.
Fin rotem Tag: Der Wartungsmodus ist für das Frontend aktiv.Bin blauem Tag: Der Wartungsmodus ist für das Backend aktiv.
Über diesen Extension-Point kann ein Array mit Medien übergeben werden, die das Addon nicht sperren soll.
Ist die Frontendsperre aktiviert, kann search_it den Index nicht erstellen.
Dazu einfach die aktuelle IP des Servers, auf dem REDAXO installiert ist und von dem aus gecrawlt wird, als Ausnahme hinzufügen. Schon kann search_it wieder crawlen. 🕵🏻
Das Addon bietet verschiedene Konsolen-Befehle zur Verwaltung des Wartungsmodus:
Zeigt den aktuellen Status aller Wartungsmodi an:
php redaxo/bin/console maintenance:mode statusAktivieren:
php redaxo/bin/console maintenance:mode frontend onDeaktivieren:
php redaxo/bin/console maintenance:mode frontend offAktivieren:
php redaxo/bin/console maintenance:mode backend onDeaktivieren:
php redaxo/bin/console maintenance:mode backend offAlle Wartungsmodi (Frontend, Backend und alle Domains) aktivieren:
php redaxo/bin/console maintenance:mode all onAlle Wartungsmodi deaktivieren:
php redaxo/bin/console maintenance:mode all offEinzelne Domain sperren:
php redaxo/bin/console maintenance:mode domain example.com --lockEinzelne Domain entsperren:
php redaxo/bin/console maintenance:mode domain example.com --unlockDie alten Befehle funktionieren weiterhin (steuern nur den Frontend-Modus):
php redaxo/bin/console maintenance:mode on
php redaxo/bin/console maintenance:mode offThomas Skerbis – KLXM Crossmedia
Danke an:
- Christian Gehrke // first version
- Thorben
- Oliver Kreischer
- Alexander Walther
- Simon Krull
- u.v.a
