FAQ zum Demo-Modus
Kurze Antworten zum Demo-Modus, für alle, die mit einer öffentlichen Demo von Exponential arbeiten, sie vorführen, verkaufen oder damit schulen. Die vollständige Referenz ist Demo-Modus: der Upgrade-Hinweis; die Sicht des Administrators beschreibt Demo-Modus.
Warnung
.htaccessbremst jede Anfrage. Sind.htaccess-Dateien erlaubt (AllowOverridealles außerNone), geschweige denn genutzt, sucht Apache sie bei jeder Anfrage in jedem Verzeichnis des Pfads und liest und wertet sie aus, und die Ladezeiten der Seiten steigen drastisch (gemessen). Die einzige wirkliche Abhilfe ist, die Funktion für den virtuellen Host abzuschalten:AllowOverride Noneim virtuellen HTTPS-Host, und die Regeln in der Konfiguration des virtuellen Hosts selbst als mod_rewrite-Regeln. Das ist in Geschwindigkeitstests im Produktivbetrieb weit schneller und die Zeit für die Optimierung einer Produktivkonfiguration unbedingt wert. Stellen Sie sofort um: Übernehmen Sie die Regeln des Beispiels für einen virtuellen HTTPS-Host in Ihren virtuellen Host (mit dem statischen Cache auchstaticcache_offload.conf), setzen SieAllowOverride None, führen Sieapachectl configtestaus, laden Sie Apache neu und testen Sie die Website. Dieselben Regeln für andere Server: nginx, LiteSpeed, Caddy, IIS, Velocity (eingebaut); wohin Regeln für virtuelle Hosts in einem Control Panel gehören: Plesk, cPanel, DirectAdmin, ISPConfig. Unter LiteSpeed oder OpenLiteSpeed kann zusätzlich der Seiten-Cache des Servers anonyme Besucher und Crawler ohne PHP bedienen: Seiten-Caching mit LiteSpeed und OpenLiteSpeed.
Inhalt
- Wofür ist der Demo-Modus da?
- Was sperrt er?
- Was sperrt er nicht?
- Wie schalte ich ihn ein?
- Warum gibt es keine Einstellung dafür?
- Welche Passwörter akzeptieren die Installer im Demo-Modus?
- Woran erkenne ich, dass er eingeschaltet ist?
- Wer gilt als Administrator?
- Kann ich ihn auf einer echten Site verwenden?
- Wie schalte ich ihn aus?
- Verwandte Seiten
Wofür ist der Demo-Modus da?
Für eine öffentliche Demo: eine Site, deren Anmeldedaten für den Administrator veröffentlicht sind, damit jeder die Administration ausprobieren kann. Ohne Demo-Modus könnte der erste Besucher das Administratorpasswort ändern und alle anderen aussperren. Mit ihm lassen sich Administratorpasswörter weder ändern noch zurücksetzen, so funktionieren die veröffentlichten Anmeldedaten bis zum nächsten Neuaufbau.
Was sperrt er?
Jeden Weg, ein neues Passwort für einen Administrator zu setzen: die Seite Passwort ändern, Passwort
vergessen? (es wird keine Mail zum Zurücksetzen verschickt; die Seite sagt jedem Besucher, dass Administratorpasswörter
nicht zurückgesetzt werden können), das Passwortfeld des Benutzerkontos im Bearbeitungsformular,
exp:resetuserpassword (auch mit --allow-root-user), die Webservices, die Operationen user/password und
user/forgotpassword sowie jeden Code, der einen Benutzer speichert: Der Kernel behält das gespeicherte Passwort
eines Administrators bei. Jede Ablehnung lautet „Diese Installation ist eine öffentliche Demo: Die Passwörter von
Administratoren können nicht geändert oder zurückgesetzt werden.“ und wird im Audit mit dem Grund demo_mode
festgehalten.
Was sperrt er nicht?
Alles andere. Ein Administrator kann auf einer Demo weiterhin Inhalte bearbeiten, Konten anlegen, Rollen und Einstellungen ändern, Pakete installieren und Dateien hochladen; deshalb wird eine Demo nach einem Zeitplan neu aufgebaut. Andere Konten (Redakteure, Mitglieder) ändern ihre eigenen Passwörter und setzen sie wie gewohnt zurück, mit allen üblichen Regeln. Die Anmeldung ist nie betroffen.
Wie schalte ich ihn ein?
Setzen Sie die Umgebungsvariable EXP_DEMO_MODE=1 für jeden PHP-Prozess der Demo: das PHP des Webservers
(.htaccess oder SetEnv des virtuellen Hosts, der PHP-FPM-Pool, fastcgi_param von nginx, die Umgebung von
Exponential Velocity), die Cronjobs und die Konsole. Fertige Dateien: Beispiele zum Demo-Modus;
eine vollständige Einrichtung:
Rezept: eine öffentliche Demo unter LiteSpeed und Plesk betreiben.
Warum gibt es keine Einstellung dafür?
Damit er nicht versehentlich eingeschaltet werden kann. Eine INI-Einstellung würde mit einem kopierten
Einstellungsverzeichnis, einer wiederhergestellten Datenbank oder einem Paket mitwandern; einen Anfrageparameter könnte
jeder senden. Die Umgebung gehört zum Server einer einzelnen Site. Nur genau der Wert 1 zählt; 0, true, yes und
on lassen ihn ausgeschaltet.
Welche Passwörter akzeptieren die Installer im Demo-Modus?
Das Administratorpasswort einer neuen Installation darf allgemein bekannt und kürzer als MinPasswordLength sein, so
werden publish und publishing vom Einrichtungsassistenten, vom Kickstarter und von exp:install so installiert,
wie sie angegeben sind. Ein leeres Passwort wird weiterhin abgelehnt (der Kickstarter und exp:install erzeugen
eines). Jedes andere Konto und jedes Passwort, das nach der Installation gesetzt wird, unterliegt allen Regeln. Ohne
Demo-Modus ersetzen die Installer ein solches Passwort durch ein erzeugtes.
Woran erkenne ich, dass er eingeschaltet ist?
- Die Administration zeigt auf jeder Seite einen gelben Hinweisbalken Demo-Modus.
var/log/security.logenthält für jeden Prozess, der mit ihm gestartet ist, eine Zeiledemo/mode on pid=... sapi=....- Das Audit enthält ein Ereignis
system.demo.modeje Prozess. - Konsolenbefehle geben
Demo mode is on (EXP_DEMO_MODE=1) ...auf der Standardfehlerausgabe aus.
Wer gilt als Administrator?
Ein Konto, dessen Rollen ihm uneingeschränkten Zugriff auf jedes Modul und jede Funktion geben: admin, alle in
Administrator users und jeder mit der Rolle Administrator. Ein Konto, dessen Rollen sich nicht lesen lassen,
gilt ebenfalls als Administrator.
Kann ich ihn auf einer echten Site verwenden?
Nein. Demo-Modus bedeutet, dass das Administratorpasswort bekannt sein soll und nicht geändert werden kann. Setzen Sie
die Variable nie serverweit, in einem gemeinsamen Pool, einem Basis-Image oder einer Vorlage, aus der andere Sites
gebaut werden. Erscheint der Hinweisbalken oder eine Zeile demo/mode jemals auf einer echten Site, entfernen Sie die
Variable sofort: Probleme mit dem Demo-Modus.
Wie schalte ich ihn aus?
Entfernen Sie die Variable überall, wo sie gesetzt war, und laden Sie den betreffenden Dienst neu oder starten Sie ihn neu (PHP-FPM, den Webserver, Velocity) sowie die Crontab. In der Datenbank ist nichts rückgängig zu machen: Sobald die Variable weg ist, lassen sich Passwörter wieder ändern, und der Hinweisbalken verschwindet mit der nächsten Anfrage.
Verwandte Seiten
- Demo-Modus, Demo-Modus: der Upgrade-Hinweis
- Demo-Modus für Hoster, Demo-Modus für Entwickler
- Probleme mit dem Demo-Modus
- Umgebungsvariablen
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.