Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Wartungsmodus: Sperrung des Frontends fur Besucher und des Backends fur Redakteure

License

Notifications You must be signed in to change notification settings

FriendsOfREDAXO/maintenance

Repository files navigation

Wartung (Maintenance) fur REDAXO 5.x

Das AddOn ermoglicht es Administratoren, das Frontend und/oder des Backend von REDAXO fur Besucher und/oder Redakteure zu sperren. Zum Beispiel bei Wartungsarbeiten oder in der Entwicklungsphase.

Funktionen

Sperren des Frontends

  • Wahl der Authentifizierung: Geheime URL oder Passwort
  • Optionales Sperren des Frontends auch fur REDAXO-Benutzer (ausser 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 fur Staging/Development)
  • Anpassen der Sperrseite durch eigenes Fragment (maintenance/frontend.php)
  • Definieren von Ausnahmen, die dennoch Zugriff erhalten, z.B. fur
    • IP-Adressen
    • Hosts
    • YRewrite-Domains (neu in Version 3.0.0)
  • Meldung und Zeitraum zur Ankundigung eines Wartungsfensters definieren (neu in Version 3.0.0)
  • Zeitgesteuerte Wartung: Automatische Aktivierung/Deaktivierung zu festgelegten Zeiten (neu in Version 3.5.0)

Zeitgesteuerte Wartung

Die zeitgesteuerte Wartung ermoglicht es, den Wartungsmodus automatisch zu einem bestimmten Zeitpunkt zu aktivieren und zu deaktivieren:

  • Cronjob-basiert: Die Ausfuhrung erfolgt ausschliesslich uber den Cronjob "Geplante Wartung prufen"
  • Automatische Bereinigung: Nach erfolgreicher Deaktivierung werden die geplanten Zeiten automatisch geloscht

Verwendung:

  1. 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 prufen"
      • Typ: Geplante Wartung prufen (aus Dropdown wahlen)
      • Ausfuhrungsart: z.B. "Jede Minute" oder "Alle 5 Minuten"
      • Umgebung: "Frontend, Backend, Skript"
    • Speichern
  2. 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)
  3. 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

  • Sperren des REDAXO-Backends fur alle Benutzer (ausser Admins)

Wartungsmodus ankundigen

Eine Meldung und Zeitraum zur Ankundigung eines Wartungsfensters definieren (neu in Version 3.0.0). Die Ausgabe erfolgt uber FriendsOfRedaxo\Maintenance\Maintenance::getAnnouncement(), z.B.

'.$announcement.'
'; }">$announcement = FriendsOfRedaxo\Maintenance\Maintenance::getAnnouncement();
if($announcement) {
echo '
'.$announcement.'
'
;
}

Eine fur 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 moglicherweise nicht erreichbar.

Eigene HTML-Seite fur den Wartungsmodus

Standardmassig 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.

Silent Mode fur Staging/Development-Umgebungen

Der Silent Mode ist ideal fur 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 Ruckschlusse auf das verwendete CMS
  • Perfekt fur Produktiv-Vorschau-Systeme, die nur nach Login zuganglich sein sollen

Aktivierung: In den erweiterten Einstellungen (Einstellungen) unter "HTTP-Einstellungen" die Option "Silent Mode" aktivieren.

Anzeige des aktuellen Status im REDAXO-Hauptmenu

Der Menueintrag erhalt bei Aktivierung einer der Wartungsmodi ein zusatzliches Tag.

  • Standard: Alle Funktionen sind deaktiviert.
  • F in rotem Tag: Der Wartungsmodus ist fur das Frontend aktiv.
  • B in blauem Tag: Der Wartungsmodus ist fur das Backend aktiv.

Extensionpoint MAINTENANCE_MEDIA_UNBLOCK_LIST

Uber diesen Extension-Point kann ein Array mit Medien ubergeben werden, die das Addon nicht sperren soll.

search_it und Wartungs-Modus

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 hinzufugen. Schon kann search_it wieder crawlen.

Konsole

Das Addon bietet verschiedene Konsolen-Befehle zur Verwaltung des Wartungsmodus:

Status anzeigen

Zeigt den aktuellen Status aller Wartungsmodi an:

php redaxo/bin/console maintenance:mode status

Frontend-Wartungsmodus

Aktivieren:

php redaxo/bin/console maintenance:mode frontend on

Deaktivieren:

php redaxo/bin/console maintenance:mode frontend off

Backend-Wartungsmodus

Aktivieren:

php redaxo/bin/console maintenance:mode backend on

Deaktivieren:

php redaxo/bin/console maintenance:mode backend off

Alle Modi gleichzeitig

Alle Wartungsmodi (Frontend, Backend und alle Domains) aktivieren:

php redaxo/bin/console maintenance:mode all on

Alle Wartungsmodi deaktivieren:

php redaxo/bin/console maintenance:mode all off

Domain-spezifische Wartung (YRewrite)

Einzelne Domain sperren:

php redaxo/bin/console maintenance:mode domain example.com --lock

Einzelne Domain entsperren:

php redaxo/bin/console maintenance:mode domain example.com --unlock

Legacy-Unterstutzung

Die alten Befehle funktionieren weiterhin (steuern nur den Frontend-Modus):

php redaxo/bin/console maintenance:mode on
php redaxo/bin/console maintenance:mode off

Autor

FriendsOfREDAXO

Projekt-Lead

Credits

Danke an:

About

Wartungsmodus: Sperrung des Frontends fur Besucher und des Backends fur Redakteure

Topics

Resources

Readme

License

MIT license

Code of conduct

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 19