Dieses Dokument ist eine Übersetzung des Inhalts der Seite discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub.
Die Originalübersetzung wurde veröffentlicht unter: Discourse 云平台安装 - Discourse - iSharkFly. Wir laden zur Diskussion ein.
Installation auf Cloud-Plattformen
Die Installation von Discourse auf einer Cloud-Plattform dauert in der Regel nicht länger als 30 Minuten, selbst wenn Sie keine Kenntnisse über Rails oder Linux-Shell haben. Im Folgenden wird die Installation anhand des Anbieters DigitalOcean getestet. Alle Installationsschritte können jedoch auf allen Cloud-Computing-Plattformen durchgeführt werden, die mit Docker kompatibel sind, sowie auf lokalen Servern.
Haben Sie nicht einmal 30 Minuten Zeit? Sie können sich an die Discourse-Community wenden, die Ihnen bei der Installation hilft. Die Discourse-Community berechnet eine einmalige Gebühr von 150 USD. Klicken Sie hier, um den Service zu kaufen.
Vorbereitung vor dem Start
Domainname
Discourse kann nicht über eine IP-Adresse funktionieren. Sie müssen über eine Domain oder eine Subdomain verfügen, z. B.
example.com.
- Wenn Sie bereits eine Domain besitzen, können Sie eine beliebige Subdomain für die Installation auswählen, z. B.
discourse.example.com,talk.example.comoderforum.example.com, um Ihre Discourse-Instanz zu installieren. - Wenn Sie noch keine Domain haben, können Sie die Website NameCheap besuchen, um nach einer gewünschten Domain zu suchen, oder einfach eine Google-Suche nach great domain name registrars durchführen, um einen gewünschten Domain-Registrar auszuwählen.
- Ihr DNS-Verwaltungsbereich muss zugänglich sein. Nach dem Kauf einer Domain müssen Sie auf Ihre DNS-Konfiguration zugreifen, um DNS-Einstellungen vorzunehmen. Für Ihre Discourse-Website müssen Sie über Ihr DNS einen
A-Eintrag erstellen. Dieser A-Eintrag muss die zu installierende Domain auf eine bestimmte IP-Adresse verweisen. Diese IP-Adresse ist normalerweise die IP-Adresse des Servers, den Sie im ersten Schritt gekauft haben.
Das E-Mail-System ist im Benutzererstellungsprozess von Discourse von entscheidender Bedeutung. Wenn Sie vor der Installation von Discourse keinen E-Mail-SMTP-Server eingerichtet haben, ist Ihre installierte Discourse-Instanz weder zugänglich noch können Sie sich anmelden (HABEN SIE EINE DEFekte SEITE)!
- Wenn Sie bereits einen eigenen SMTP-E-Mail-Server besitzen, können Sie einfach die Konfigurationsinformationen Ihres vorhandenen E-Mail-Servers verwenden.
- Haben Sie noch keinen E-Mail-Server? Besuchen Sie Empfohlene E-Mail-Server für Discourse.
- Um sicherzustellen, dass Ihre E-Mails ordnungsgemäß zugestellt werden, müssen Sie in Ihrem DNS gültige SPF- und DKIM-Einträge hinzufügen. Bitte konsultieren Sie die Dokumentation Ihres E-Mail-Anbieters, um zu erfahren, wie diese Informationen eingerichtet werden.
Nach unseren praktischen Erfahrungen muss die Installation von Discourse eine funktionierende Domain und einen E-Mail-Server konfiguriert haben. Für den Fall in China können Sie das Unternehmens-E-Mail von Alibaba Cloud oder Tencent Cloud verwenden. In der Regel empfehlen wir die Verwendung von E-Mail-Servern im Ausland, wie z. B. AWS SES oder MailGun, die hervorragende Dienste bieten. Möglicherweise benötigen Sie eine internationale Kreditkarte zur Verifizierung. Dieser Schritt ist jedoch zwingend erforderlich, da sonst Ihre Discourse-Installation nicht abgeschlossen werden kann.
Installation
Erstellen eines neuen Cloud-Servers
Erstellen Sie einen neuen Cloud-Server, z. B. bei DigitalOcean. Sie können natürlich auch Server anderer Plattformen verwenden.
Wenn Sie einen Server wählen, der sich auf dem chinesischen Festland befindet, werden Sie höchstwahrscheinlich auf Netzwerkprobleme stoßen. Diese Übersetzung enthält zusätzlich ein Kapitel zur Lösung von Netzwerkproblemen.
- Die Standardkonfiguration mit dem aktuellen LTS-Ubuntu-Betriebssystem funktioniert gut. Mindestens ist ein 64-Bit-Linux-Betriebssystem erforderlich, dessen Kernel auf die neueste Version aktualisiert sein muss.
- Die Standardkonfiguration mit 1 GB Arbeitsspeicher reicht für kleine Discourse-Communities in der Regel aus. Für große Communities empfehlen wir jedoch 2 GB Arbeitsspeicher.
- Das Standard-Rechenzentrum in New York ist eine gute geografische Region für Nordamerika und Europa. Wenn Ihre Discourse-Nutzer hauptsächlich aus anderen geografischen Regionen stammen, können Sie ein Rechenzentrum wählen, das näher an Ihnen liegt.
- Geben Sie die Domain
discourse.example.comein, um in DigitalOcean einen Droplet zu erstellen (Droplet ist der von DigitalOcean verwendete Begriff für einen Server). Sie können auch Ihre eigene Domain kaufen. Normalerweise erfordert die Installation von Discourse eine echte Domain; eine Installation über eine IP-Adresse ist nicht möglich. Wir empfehlen daher, zunächst eine Domain zu kaufen oder eine Subdomain Ihrer vorhandenen Domain zu verwenden.
Erstellen Sie Ihren neuen Droplet. Dieser Vorgang entspricht dem Erstellen eines Servers auf DigitalOcean oder eines VPS/Servers auf anderen Plattformen. Nach Abschluss der Erstellung erhalten Sie eine E-Mail mit dem Root-Passwort. Wir empfehlen jedoch, SSH-Keys einzurichten, um die Sicherheit des Serverzugriffs zu erhöhen.
Zugriff auf Ihren Cloud-Server
Verbinden Sie sich über die IP-Adresse und SSH mit dem erstellten Server. Für Windows-Plattformen können Sie Putty installieren und den folgenden Befehl ausführen, um eine Verbindung herzustellen:
ssh root@192.168.1.1
Wenn Sie keinen SSH-Key konfiguriert haben, können Sie das Passwort verwenden, das in der von DigitalOcean gesendeten E-Mail enthalten ist, oder Ihren lokalen SSH-Key verwenden.
Installation von Docker / Git (optional)
sudo apt install docker.io
sudo apt install git
Wenn Sie Ihre eigene Docker-Version verwenden möchten, können Sie diese jetzt auf Ihrem neu eingerichteten Server installieren. Wenn Docker nicht standardmäßig auf Ihrem Server installiert ist, wird discourse-setup automatisch eine Installation von get.docker.com durchführen.
Installation von Discourse
Klonen Sie den Code aus dem offiziellen Discourse Docker-Installations-Repository in das Verzeichnis /var/discourse auf Ihrem lokalen Computer.
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
Führen Sie einfach die oben genannten Befehle aus. Für die Discourse-Installation sind Root-Rechte erforderlich.
Docker-Images hinzufügen (nur für Server auf dem chinesischen Festland)
Wenn sich Ihr Server auf dem chinesischen Festland befindet, werden Sie bei den Docker-Schritten höchstwahrscheinlich stecken bleiben. Versuchen Sie, Docker-Images hinzuzufügen.
Am Beispiel von Tencent Cloud: Bearbeiten Sie mit Ihrem bevorzugten Editor die Datei /etc/docker/daemon.json auf Linux und fügen Sie folgenden Inhalt hinzu. Sie können https://mirror.ccs.tencentyun.com durch die Docker-Image-URL Ihres Cloud-Server-Anbieters ersetzen:
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
Nachdem Sie das Docker-Image hinzugefügt haben, starten Sie die Docker-Anwendung mit sudo systemctl restart docker neu, um die Änderungen zu übernehmen.
Bearbeiten der Discourse-Konfiguration
Führen Sie das Konfigurations-Tool mit dem folgenden Befehl aus:
./discourse-setup
Sie müssen alle Parameter gemäß den folgenden Eingabeaufforderungen konfigurieren:
Hostname for your Discourse? [discourse.example.com]:
Email address for admin account(s)? [me@example.com,you@example.com]:
SMTP server address? [smtp.example.com]:
SMTP port? [587]:
SMTP user name? [user@example.com]:
SMTP password? [pa$word]:
Let's Encrypt account email? (ENTER to skip) [me@example.com]:
Die oben eingegebenen Daten erstellen eine app.yml-Datei für Ihre Discourse-Instanz, die nach der Installation Ihre Discourse-Instanz konfiguriert. Der gesamte Installationsstartvorgang kann 2–8 Minuten dauern, um Ihre Discourse zu konfigurieren. Wenn ein Fehler auftritt oder Sie nach der Installation Ihre Konfiguration noch ändern müssen, können Sie den Befehl ./discourse-setup erneut ausführen (dieser Befehl lädt die vorhandene app.yml-Datei erneut). Alternativ können Sie den Inhalt der Datei /containers/app.yml manuell bearbeiten und dann ./launcher rebuild app erneut ausführen, da Ihre Änderungen sonst nicht wirksam werden.
Optimierung für das chinesische Netzwerk
Wenn sich Ihr Cloud-Server auf dem chinesischen Festland befindet, werden Sie bei der Ausführung von ./discourse-setup oder ./launcher rebuild app höchstwahrscheinlich auf Netzwerkprobleme stoßen. Discourse hat bereits Image-Dienste außer Docker bereitgestellt. Fügen Sie einfach eine Zeile in Ihrem containers/app.yml an folgender Stelle hinzu:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.china.template.yml" # Fügen Sie diese Zeile hinzu, um Images für Paketmanager wie npm und rubygems zu konfigurieren
Damit ist das Problem gelöst.
Starten von Discourse
Sobald die anfängliche Installationskonfiguration abgeschlossen ist, sollte Ihre Discourse-Instanz über die konfigurierte Domain discourse.example.com im Browser erreichbar sein.
Für Server auf dem chinesischen Festland müssen Sie möglicherweise zuerst eine ICP-Registrierung gemäß den Anweisungen Ihres Cloud-Server-Anbieters durchführen, bevor Sie fortfahren können.
Registrierung eines neuen Administratorkontos
Registrieren Sie ein Administratorkonto mit der E-Mail-Adresse, die Sie während des Startkonfigurationsvorgangs eingegeben haben.
(Wenn Sie Ihr Administratorkonto nicht registrieren können, überprüfen Sie das Protokoll unter /var/discourse/shared/standalone/log/rails/production.log oder besuchen Sie die Checkliste für E-Mail-Probleme.)
Nachdem Sie das Administratorkonto registriert haben, startet der Einrichtungsassistent und führt Sie durch die Konfiguration Ihrer Discourse-Instanz.
Nachdem Sie den gesamten Einrichtungsassistenten durchlaufen haben, sehen Sie die Staff-Themen und READ ME FIRST: Admin Quick Start Guide. Dieser Konfigurationsassistent enthält Vorschläge für weitere Konfigurationen und Anweisungen zur Anpassung Ihrer Discourse-Instanz.
Wartung nach der Installation
- Wir empfehlen dringend, die automatischen Sicherheitsupdates für Ihr Betriebssystem zu aktivieren. Unter Ubuntu verwenden Sie den Befehl
dpkg-reconfigure -plow unattended-upgrades. Unter CentOS/RHEL verwenden Sie das Paketyum-cron. - Wenn Sie sich mit einem Passwort (anstatt mit einem SSH-Key) bei Ihrem Betriebssystem anmelden, stellen Sie sicher, dass Sie ein starkes Passwort verwenden. Unter Ubuntu installieren Sie das Paket
apt-get install libpam-cracklib. Wir empfehlen die Verwendung vonfail2ban, das IP-Adressen mit 3 fehlgeschlagenen Login-Versuchen für 10 Minuten sperrt.- Ubuntu:
apt-get install fail2ban - CentOS/RHEL:
sudo yum install fail2ban(erfordert EPEL)
- Ubuntu:
- Wenn Sie eine Firewall standardmäßig installieren möchten, aktivieren Sie unter Ubuntu ufw oder verwenden Sie unter CentOS/RHEL 7 und höheren Versionen
firewalld.
Wenn eine neue Version von Discourse verfügbar ist, erhalten Sie eine Benachrichtigung per E-Mail. Bitte halten Sie Ihre Discourse-Instanz stets auf dem neuesten Stand, um alle Sicherheitsprobleme zu beheben. You will get email reminders as new versions of Discourse are released. Please stay current to get the latest features and security fixes. Um Discourse auf die neueste Version zu aktualisieren, rufen Sie /admin/upgrade in Ihrem Browser auf und klicken Sie auf die Schaltfläche „Aktualisieren".
Der Befehl launcher im Verzeichnis /var/discourse wird für systemweite Wartungsaufgaben verwendet:
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commands:
start: Start/initialize a container (Starten/Initialisieren eines Containers)
stop: Stop a running container (Stoppen eines laufenden Containers)
restart: Restart a container (Neustart eines Containers)
destroy: Stop and remove a container (Stoppen und Entfernen eines Containers)
enter: Use nsenter to get a shell into a container (Verwenden von nsenter, um eine Shell im Container zu erhalten)
logs: View the Docker logs for a container (Anzeigen der Docker-Protokolle für einen Container)
bootstrap: Bootstrap a container for the config based on a template (Initialisieren der Konfiguration eines Containers basierend auf einer Vorlage)
rebuild: Rebuild a container (destroy old, bootstrap, start new) (Neu erstellen eines Containers: altes löschen, initialisieren, neues starten)
cleanup: Remove all containers that have stopped for > 24 hours (Entfernen aller Container, die seit über 24 Stunden gestoppt sind)
Options:
--skip-prereqs Don't check launcher prerequisites (Keine Überprüfung der Launcher-Voraussetzungen)
--docker-args Extra arguments to pass when running docker (Zusätzliche Argumente, die beim Ausführen von Docker übergeben werden)





