Dies ist eine #how-to-Anleitung zu versteckten Website-Einstellungen, wie man sie aktiviert und warum man sie möglicherweise anpassen möchte.
Erforderliche Benutzerstufe: Administrator
Wichtig: Für einige Schritte ist Konsolenzugriff erforderlich.
In Discourse beziehen sich versteckte Website-Einstellungen auf Konfigurationsoptionen, die über das Standard-Admin-Dashboard nicht ohne Weiteres sichtbar oder zugänglich sind. Diese Einstellungen sind Teil der Backend-Konfiguration, die verschiedene erweiterte oder potenziell wirkungsvolle Funktionen der Website steuern können.
Diese versteckten Einstellungen haben voreingestellte Standardwerte, die so festgelegt sind, dass sie eine optimale Leistung und Sicherheit auf der Grundlage gängiger Anwendungsfälle und bewährter Verfahren gewährleisten.
Versteckte Einstellungen sind in der Standard-Einstellungsoberfläche verborgen, um versehentliche Fehlkonfigurationen durch Administratoren zu verhindern, die ihre Auswirkungen möglicherweise nicht vollständig verstehen. Sie sind bestimmt für:
- Administratoren, die ein tiefes Verständnis der internen Funktionsweise von Discourse haben.
- Spezifische Fälle, in denen eine ungewöhnliche oder sehr spezifische Website-Konfiguration erforderlich ist.
- Test- oder experimentelle Funktionen, die noch nicht für den allgemeinen Gebrauch bereit sind.
Administratoren, die versteckte Einstellungen ändern möchten, tun dies in der Regel, weil die Standardkonfiguration nicht perfekt mit ihren Bedürfnissen übereinstimmt.
Wichtige Hinweise zu versteckten Einstellungen:
Die Anpassung versteckter Website-Einstellungen in Discourse kann zu verschiedenen Problemen führen, wie z. B. Sicherheitslücken, negativen Auswirkungen auf die Leistung, Beeinträchtigung der Benutzererfahrung oder Datenverlust, wenn sie nicht sorgfältig durchgeführt wird!
Versteckte Website-Einstellungen sollten nur von sachkundigen Discourse-Administratoren geändert werden. Bevor Sie eine Einstellung ändern, stellen Sie sicher, dass Sie verstehen, was sie bewirkt und welche Auswirkungen die Änderung hat. Implementieren Sie nach Möglichkeit wesentliche Konfigurationsänderungen in einer Staging- oder Entwicklungsumgebung. Stellen Sie sicher, dass Backups auf dem neuesten Stand sind, um den Zustand des Forums wiederherzustellen, falls etwas schiefgeht, bevor Sie weitreichende oder kritische Änderungen vornehmen.
So bearbeiten Sie versteckte Website-Einstellungen
Option 1: Rails-Konsole
Um versteckte Website-Einstellungen zu ändern, müssen Sie in der Regel die Rails-Konsole verwenden, ein Befehlszeilentool, mit dem Sie direkt mit dem Backend Ihrer Discourse-Installation interagieren können. Um Einstellungen über die Rails-Konsole anzupassen, können Sie die folgenden Schritte ausführen:
-
Zugriff auf die Rails-Konsole:
cd /var/discourse ./launcher enter app rails c -
Eine Einstellung ändern:
SiteSetting.your_setting_name = new_value
Ersetzen Sie your_setting_name durch den Namen der Einstellung, die Sie ändern möchten, und new_value durch den Wert, den Sie festlegen möchten.
-
Die Konsole verlassen:
exit
Option 2: Umgebungsvariablen in app.yml einrichten
Sie können auch Umgebungsvariablen verwenden, um versteckte Website-Einstellungen anzupassen. Die Datei app.yml ist eine Konfigurationsdatei, die in Docker-basierten Bereitstellungen von Discourse verwendet wird. Sie befindet sich normalerweise im Verzeichnis /containers Ihrer Discourse-Installation. Hier erfahren Sie, wie Sie Umgebungsvariablen hinzufügen oder ändern können:
-
Zugriff auf die Datei
app.yml:
Öffnen Sie die Dateiapp.ymlin Ihrem bevorzugten Texteditor:nano /var/discourse/containers/app.yml -
Umgebungsvariablen hinzufügen:
Umgebungsvariablen können im Abschnittenvder Dateiapp.ymlkonfiguriert werden. Sie folgen dem MusterDISCOURSE_SETTING_NAME: value. Um beispielsweise die Einstellungmax_category_nestingüber eine Umgebungsvariable auf3zu setzen, würden Sie Folgendes verwenden:env: DISCOURSE_MAX_CATEGORY_NESTING: 3 -
Den Container neu erstellen:
Nachdem Sie Änderungen an der Dateiapp.ymlgespeichert haben, erstellen Sie den Discourse Docker-Container neu, um die Änderungen zu übernehmen:cd /var/discourse ./launcher rebuild app
Warum versteckte Einstellungen aktivieren
Das Aktivieren oder Anpassen versteckter Website-Einstellungen in Discourse ermöglicht es Administratoren, ihre Forum-Einrichtung tiefgreifend anzupassen, um spezifische technische Anforderungen zu erfüllen, die Leistung zu verbessern oder Sicherheit und Compliance zu gewährleisten, und unterstützt so ein fein abgestimmtes Benutzererlebnis und operative Effizienz.
Beispiele für versteckte Website-Einstellungen sind:
- Badge SQL: Die Aktivierung von
enable badge sqlermöglicht es Website-Administratoren, benutzerdefinierte SQL-Abfragen für Badge-Kriterien zu erstellen, was Flexibilität bei der Zuweisung von Badges basierend auf komplexen Bedingungen bietet. - Permanente Beitrags löschung: Die Aktivierung von
can permanently deleteermöglicht die permanente Löschung von Beiträgen aus Compliance- oder Datenschutzgründen. - S3-Backup-Einstellungen: Das Einbeziehen von S3-Uploads in Backups mit
include_s3_uploads_in_backupskann für verbesserte Backup-Strategien verwendet werden. - Suchratenbegrenzungen: Anpassen von Suchratenbegrenzungen mit Einstellungen wie
rate_limit_search_user, um Drosselungen in Szenarien mit hoher Auslastung zu verhindern.
FAQs
F: Können versteckte Einstellungen in der Benutzeroberfläche sichtbar gemacht werden?
A: Versteckte Einstellungen in Discourse sind aus Sicherheits- und Komplexitätsgründen nicht direkt über die Benutzeroberfläche konfigurierbar.
F: Wo finde ich Informationen zu jeder versteckten Einstellung?
A: Detaillierte Informationen zu jeder Einstellung finden Sie im Referenzhandbuch für versteckte Website-Einstellungen und im Discourse-Quellcode, insbesondere in der Datei site_settings.yml im GitHub-Repository. Zusätzliche Informationen zu einigen Einstellungen sind auch in den Discourse Meta-Foren verfügbar.
F: Bleiben Änderungen, die über Umgebungsvariablen vorgenommen werden, bei Updates erhalten?
A: Ja, wenn sie in app.yml oder im permanenten Systemprofil festgelegt sind, bleiben diese Einstellungen bei Updates erhalten, es sei denn, sie werden durch andere Konfigurationen überschrieben.
F: Woher weiß ich, welche Einstellungen über Umgebungsvariablen gesteuert werden können?
A: Typischerweise kann jede Discourse-Website-Einstellung mit DISCOURSE_ präfigiert und als Umgebungsvariable gesetzt werden.
F: Ist es sicher, sensible Informationen über Umgebungsvariablen zu konfigurieren?
A: Umgebungsvariablen gelten im Allgemeinen als sicher für die Konfigurationsverwaltung. Stellen Sie jedoch sicher, dass sie nicht in gemeinsam genutzten oder unsicheren Umgebungen offengelegt werden.
F: Muss ich einen Rebuild durchführen, wenn ich eine Website-Einstellung ändere?
A: In den meisten Fällen erfordert das Ändern einer Website-Einstellung über die Rails-Konsole keinen Rebuild Ihrer Discourse-Einrichtung. Diese Änderungen werden in der Regel sofort oder nach einem Refresh Ihrer Instanz wirksam. Einige spezifische Einstellungen, insbesondere solche, die die grundlegenden Aspekte des Systems beeinflussen, erfordern jedoch möglicherweise einen Neustart oder Rebuild, damit die Änderungen wirksam werden. Für Änderungen, die in der Datei app.yml vorgenommen werden, ist ein Rebuild Ihres Discourse-Containers erforderlich, damit diese Änderungen wirksam werden.
F: Kann ich eine Einstellungsänderung einfach rückgängig machen?
A: Ja, die meisten Einstellungen können rückgängig gemacht werden, es sei denn, sie beinhalten Datenlöschung.