Verwendung versteckter Website-Einstellungen

:bookmark: Dies ist eine #how-to-Anleitung zu versteckten Website-Einstellungen, wie man sie aktiviert und warum man sie möglicherweise anpassen möchte.

:person_raising_hand: Erforderliche Benutzerstufe: Administrator
:warning: 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.

:warning: 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:

  1. Zugriff auf die Rails-Konsole:

    cd /var/discourse
    ./launcher enter app
    rails c
    
  2. 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.

  1. 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:

  1. Zugriff auf die Datei app.yml:
    Öffnen Sie die Datei app.yml in Ihrem bevorzugten Texteditor:

    nano /var/discourse/containers/app.yml
    
  2. Umgebungsvariablen hinzufügen:
    Umgebungsvariablen können im Abschnitt env der Datei app.yml konfiguriert werden. Sie folgen dem Muster DISCOURSE_SETTING_NAME: value. Um beispielsweise die Einstellung max_category_nesting über eine Umgebungsvariable auf 3 zu setzen, würden Sie Folgendes verwenden:

    env:
      DISCOURSE_MAX_CATEGORY_NESTING: 3
    
  3. Den Container neu erstellen:
    Nachdem Sie Änderungen an der Datei app.yml gespeichert 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 sql ermö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 delete ermö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_backups kann 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.

Zusätzliche Ressourcen

8 „Gefällt mir“