Dieses Handbuch enthält schrittweise Anleitungen zur manuellen Aktualisierung von Discourse, dem Docker-Container und dem Ubuntu-Betriebssystem in einer selbst gehosteten Umgebung.
Erforderliches Benutzerniveau: Systemadministrator
SSH-Zugriff auf den Server.
Wenn Sie Discourse selbst hosten, müssen Sie gelegentlich ein manuelles Update über die Befehlszeile durchführen, um die neuesten Sicherheits-Releases und neuesten Bibliotheken zu erhalten.
Diese Updates werden auf admin/upgrade nicht übernommen. Deshalb müssen Sie gelegentlich diese zusätzlichen Schritte durchführen:
Discourse aktualisieren
-
Discourse selbst sollte etwa zweimal im Monat aktualisiert werden, indem Sie in Ihrem Admin-Dashboard auf die Schaltfläche „Auf neueste Version aktualisieren“ klicken (
admin/upgrade). -
Alle zwei Monate empfehlen wir, sich per SSH mit Ihrem Webserver zu verbinden (mit PuTTY oder Ihrem bevorzugten SSH-Client) und die folgenden Befehle auszuführen, insbesondere wenn die Upgrade-Seite nicht angezeigt wird oder Sie Probleme beim Versuch des Upgrades haben.
cd /var/discourse
./launcher rebuild app
Docker-Image und Ubuntu OS aktualisieren
Stellen Sie bei Ubuntu-Updates sicher, dass Sie automatische Sicherheitsupdates für Ihr Ubuntu aktiviert haben! Der Befehl lautet:
dpkg-reconfigure -plow unattended-upgrades
Dadurch werden jedoch nur kritische Sicherheits-Updates abgedeckt. Gelegentlich sollten Sie alle OS-Updates wie folgt durchführen:
apt-get update
apt-get dist-upgrade
Dadurch wird auch Docker über die Standardpakete docker-ce aktuell gehalten.
Zusammenfassend lässt sich sagen:
- Discourse zweimal im Monat über den Web-Updater aktualisieren
- den Container alle zwei Monate aktualisieren
- das OS alle sechs Monate aktualisieren
Sie könnten diese Zahlen verdoppeln und wären immer noch ziemlich sicher, z. B. Discourse einmal im Monat, Container alle 4 Monate, OS einmal alle 12 Monate usw. aktualisieren.
Aber Sie möchten wirklich, wirklich automatische Sicherheitsupdates in Ubuntu aktiviert haben, wie oben aufgeführt.
FAQ
Wann ist der richtige Zeitpunkt für ein Update?
Das hängt von der Ihnen zur Verfügung stehenden Zeit und davon ab, wie nah am neuesten Stand Sie sein möchten. Wenn Sie inoffizielle Plugins haben, ist es sehr ratsam, eine Test-/Staging-Umgebung zu nutzen. Wenn Sie keine inoffiziellen Plugins haben, können Sie wahrscheinlich sofort aktualisieren, aber selbst dann können einige Plugins für ein paar Tage ausfallen, während das Team sie behebt (es gibt viele davon).
Was ist die gängige Vorgehensweise beim Aktualisieren mit vielen installierten Plugins?
Wenn Sie viele Plugins haben, wird dringend empfohlen, lokal oder auf einem Testserver zu testen. Besonders wenn Sie inoffizielle Plugins haben, da etwas kaputt gegangen sein könnte. Wenn Sie feststellen, dass etwas kaputt geht, kommt es darauf an: Haben Sie Zeit, es zu reparieren? Hat der ursprüngliche Plugin-Autor Zeit, es zu reparieren? Beides kann Wochen dauern. Auf diese Weise haben Sie zumindest eine defekte Testseite und keine defekte Produktionsseite.
Mir geht der Speicherplatz aus
Wenn Ihnen der Speicherplatz ausgeht (prüfen Sie mit df), versuchen Sie, alte Images mit folgenden Befehlen zu bereinigen:
./launcher cleanup
apt-get autoclean
apt-get autoremove
Spielt die Aktualisierung der eigentlichen Serverversion von Ubuntu eine Rolle, da Discourse immer in Docker läuft?
Es spielt eine viel geringere Rolle. Aber Sie sollten sich auf mindestens einer derzeit unterstützten LTS-Version von Ubuntu Server befinden. Ein 64-Bit-Linux-OS mit einer modernen Kernel-Version ist erforderlich.
