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)
- Zeitgesteuerte Wartung: Automatische Aktivierung/Deaktivierung zu festgelegten Zeiten (neu in Version 3.5.0)
Die zeitgesteuerte Wartung ermöglicht es, den Wartungsmodus automatisch zu einem bestimmten Zeitpunkt zu aktivieren und zu deaktivieren:
- Cronjob-basiert: Die Ausführung erfolgt ausschließlich über den Cronjob "Geplante Wartung prüfen"
- Automatische Bereinigung: Nach erfolgreicher Deaktivierung werden die geplanten Zeiten automatisch gelöscht
Verwendung:
-
Cronjob einrichten (erforderlich):
- Im REDAXO-Backend zu System > Cronjobs navigieren
- Auf "+" klicken, um einen neuen Cronjob zu erstellen
- Folgende Einstellungen vornehmen:
- Name: z.B. "Geplante Wartung prüfen"
- Typ:
Geplante Wartung prüfen(aus Dropdown wählen) - Ausführungsart: z.B. "Jede Minute" oder "Alle 5 Minuten"
- Umgebung: "Frontend, Backend, Skript"
- Speichern
-
In den Frontend-Einstellungen unter "Zeitgesteuerte Wartung":
- Startzeitpunkt eingeben (z.B.
2025-12-31 02:00:00) - Endzeitpunkt eingeben (z.B.
2025-12-31 06:00:00)
- Startzeitpunkt eingeben (z.B.
-
Speichern - der Wartungsmodus wird zur konfigurierten Zeit automatisch aktiviert und deaktiviert
Format: YYYY-MM-DD HH:MM:SS (z.B. 2025-12-31 23:59:59)
Wichtig: Ohne eingerichteten Cronjob funktioniert die zeitgesteuerte Wartung nicht!
- 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 offDanke an:
-
Christian Gehrke // first version
-
u.v.a