So installieren Sie Discourse unter Ubuntu 14.04

Ein Artikel von Discourse

Einführung

Discourse ist eine Open-Source-Diskussionsplattform, die für das nächste Jahrzehnt des Internets entwickelt wurde. Wir werden alle Schritte ausführen, die erforderlich sind, damit Discourse auf Ihrem DigitalOcean Droplet ausgeführt wird.

Voraussetzungen

Bevor wir anfangen, müssen wir einige Dinge zuerst einrichten:

  • Ubuntu 14.04 Droplet (64 Bit) mit mindestens 2 GB RAM. Wenn Sie Hilfe zu diesem Teil benötigen, können Sie mit this tutorial loslegen. + Discourse empfiehlt 1 GB RAM für kleine Communities und 2 GB RAM für größere Communities. Außerdem ist eine Auslagerungsdatei erforderlich, wenn Sie 1 GB RAM verwenden. Obwohl Swap generell für Systeme empfohlen wird, die herkömmliche rotierende Festplatten verwenden, kann die Verwendung von Swap mit SSDs zu Problemen mit der Verschlechterung der Hardware im Laufe der Zeit führen. Aus diesem Grund empfehlen wir nicht, Swap für DigitalOcean oder einen anderen Anbieter zu aktivieren, der SSD-Speicher verwendet. Dies kann die Zuverlässigkeit der zugrunde liegenden Hardware für Sie und Ihre Nachbarn beeinträchtigen. Daher empfehlen wir mindestens 2 GB RAM, um Discourse auf einem DigitalOcean Droplet auszuführen. Weitere Informationen zur Verwendung von Swap unter Ubuntu 14.04 finden Sie unter How To Add Swap unter Ubuntu 14.04. + Wenn Sie die Leistung Ihres Servers verbessern müssen, empfehlen wir Ihnen, Ihr Droplet zu aktualisieren. Dies führt im Allgemeinen zu besseren Ergebnissen und verringert die Wahrscheinlichkeit, zu Hardwareproblemen beizutragen, die sich auf Ihren Service auswirken können.

  • Sie können eine IP-Adresse als Ihre Domäne zum Testen verwenden. Für einen Produktionsserver sollte jedoch eine Domäne vorhanden sein, die in Ihr Droplet aufgelöst wird. This tutorial kann helfen.

  • Nicht-Root-Benutzer mit Sudo-Rechten (Initial Server Setup with Ubuntu 14.04 erklärt, wie dies eingerichtet wird. )

  • Kostenloses Konto unter Mandrill und get SMTP credentials. Es würde nicht schaden, die Gültigkeit dieser Anmeldeinformationen im Voraus zu testen, obwohl Sie sie zum ersten Mal mit Discourse verwenden können.

Alle Befehle in diesem Lernprogramm sollten als Benutzer ohne Rootberechtigung ausgeführt werden. Wenn für den Befehl root-Zugriff erforderlich ist, wird vor + sudo + angezeigt. Initial Server Setup mit Ubuntu 14.04 erläutert, wie Benutzer hinzugefügt und ihnen sudo-Zugriff gewährt werden.

Schritt 1 - Installieren Sie Git

In diesem Abschnitt installieren wir Git, um die Discourse-Quelldateien herunterzuladen. Git ist ein Open Source verteiltes Versionskontroll- und Quellcodeverwaltungssystem.

Es wird dringend empfohlen, vor dem Start sicherzustellen, dass Ihr System auf dem neuesten Stand ist. SSH in Ihr Droplet als Root-Benutzer:

ssh sammy@

Führen Sie die folgenden Befehle auf Ihrem Droplet aus, um das System zu aktualisieren:

sudo apt-get update
sudo apt-get upgrade

Sobald dies abgeschlossen ist, installieren Sie Git, indem Sie den folgenden Befehl ausführen:

sudo apt-get install git

Schritt 2 - Installieren Sie Docker

In diesem Abschnitt installieren wir Docker, damit Discourse in einer isolierten Umgebung ausgeführt werden kann. Docker ist ein Open Source-Projekt, das jede Anwendung in einem kompakten Container packen, versenden und ausführen kann. Weitere einführende Informationen zu Docker finden Sie unter this tutorial.

Docker bietet ein öffentliches Skript, mit dem Docker installiert werden kann:

wget -qO- https://get.docker.io/ | sh

Sie müssen Ihren Nicht-Root-Benutzer zur Gruppe "+ docker +" hinzufügen, um einen Docker-Container als dieser Benutzer ausführen zu können:

sudo usermod -aG docker

Sie müssen sich auch als dieser Benutzer abmelden und wieder anmelden, um die Änderung zu aktivieren:

exit
su - sammy

Schritt 3 - Diskurs herunterladen

In diesem Abschnitt werden wir Diskurs herunterladen.

Erstellen Sie einen Ordner, in dem sich alle Diskursdateien befinden:

sudo mkdir /var/discourse

Klonen Sie das official Discourse Docker Image in diesen Ordner:

sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse

Schritt 4 - Diskurs konfigurieren

In diesem Abschnitt konfigurieren wir Ihre anfänglichen Diskurseinstellungen.

Wechseln Sie in das Verzeichnis:

cd /var/discourse

Kopieren Sie die Datei in den Ordner "+ containers " als " app.yml +":

sudo cp samples/standalone.yml containers/app.yml

Bearbeiten Sie die Discourse-Konfiguration in der Datei "+ app.yml +":

sudo nano containers/app.yml

Die Konfigurationsdatei wird im nano Texteditor geöffnet.

Suchen Sie den Abschnitt und aktualisieren Sie ihn mit Ihren benutzerdefinierten E-Mail-, Domänen- und SMTP-Serverinformationen (siehe unten). Die einzelnen Zeilen werden nach dem Beispielblock erklärt:

app.yml

...
env:
 LANG: en_US.UTF-8
 ## TODO: How many concurrent web requests are supported?
 ## With 2GB we recommend 3-4 workers, with 1GB only 2
 #UNICORN_WORKERS: 3
 ##
 ## TODO: List of comma delimited emails that will be made admin and developer
 ## on initial signup example '[email protected],[email protected]'
 DISCOURSE_DEVELOPER_EMAILS: ''
 ##
 ## TODO: The domain name this Discourse instance will respond to
 DISCOURSE_HOSTNAME: ''
 ##
 ## TODO: The mailserver this Discourse instance will use
 DISCOURSE_SMTP_ADDRESS:          # (mandatory)
 DISCOURSE_SMTP_PORT:                         # (optional)
 DISCOURSE_SMTP_USER_NAME:       # (optional)
 DISCOURSE_SMTP_PASSWORD:                # (optional)
 ##
 ## The CDN address for this Discourse instance (configured to pull)
 #DISCOURSE_CDN_URL: //discourse-cdn.example.com
 ...

Hier sind die einzelnen Zeilen, die geändert werden müssen:

{leer} 1) * Admin-E-Mail festlegen *

Wählen Sie die E-Mail-Adresse aus, die Sie für das Discourse-Administratorkonto verwenden möchten. Dies kann völlig unabhängig von Ihrer Discourse-Domain sein und eine beliebige E-Mail-Adresse sein, die Sie für bequem halten. Stellen Sie diese E-Mail-Adresse in der Zeile ein. Diese E-Mail-Adresse wird standardmäßig zum Discourse-Administrator gemacht, sobald sich ein Benutzer bei dieser E-Mail registriert. Sie benötigen diese E-Mail-Adresse später, wenn Sie Discourse über das Web-Steuerungsfeld einrichten.

DISCOURSE_DEVELOPER_EMAILS: ''

Ersetzen Sie mit Ihrer E-Mail.

Das E-Mail-Setup für Entwickler ist erforderlich, um Ihr erstes Administratorkonto zu erstellen und zu aktivieren.

{leer} 2) * Domain festlegen *

Einstellen . Das heißt, Sie möchten, dass Ihr Diskursforum unter verfügbar ist. Sie können hier stattdessen eine IP-Adresse verwenden, wenn Sie noch keine Domain haben, die auf Ihren Server verweist. Hier kann nur eine Domain (oder IP) aufgeführt werden.

DISCOURSE_HOSTNAME: ''

Ersetzen Sie durch Ihre Domain. Ein Hostname ist erforderlich, um über das Web auf Ihre Discourse-Instanz zuzugreifen.

{leer} 3) * E-Mail-Anmeldeinformationen festlegen *

Wir empfehlen Mandrill für Ihren SMTP-Mailserver. Holen Sie Ihre SMTP-Anmeldeinformationen von Mandrill.

Geben Sie Ihre SMTP-Anmeldeinformationen in die Zeilen für,, und ein. (Entfernen Sie gegebenenfalls das Kommentarzeichen * # * am Anfang dieser Zeilen.)

DISCOURSE_SMTP_ADDRESS:          # (mandatory)
DISCOURSE_SMTP_PORT:                         # (optional)
DISCOURSE_SMTP_USER_NAME:       # (optional)
DISCOURSE_SMTP_PASSWORD:                # (optional)

Die SMTP-Einstellungen sind erforderlich, um E-Mails von Ihrer Discourse-Instanz aus zu senden. Zum Beispiel, um Registrierungs-E-Mails, E-Mails zum Zurücksetzen des Passworts, Antwortbenachrichtigungen usw. zu senden.

Probleme beim Einrichten von E-Mail-Anmeldeinformationen? Weitere Informationen finden Sie im Discourse Email Troubleshooting guide.

Das Einrichten von E-Mail-Anmeldeinformationen ist erforderlich, sonst können Sie Ihre Discourse-Instanz nicht booten. Die Anmeldeinformationen müssen korrekt sein, sonst können Sie keine Benutzer (einschließlich des Administrators) für das Forum registrieren.

{leer} 4) * Optional: Speichereinstellungen anpassen (bevorzugt für 1 GB Droplet) *

Stellen Sie auch im Abschnitt der Konfigurationsdatei * 128MB * und * 2 * ein, damit Sie mehr Speicherplatz haben.

db_shared_buffers: "128MB"

and

UNICORN_WORKERS: 2

Durch Optimieren dieser Speichereinstellungen wird die Diskursleistung auf einem 1-GB-Droplet optimiert.

  • HINWEIS: * Die oben genannten Änderungen sind obligatorisch und sollten nicht übersprungen werden, da sonst ein defektes Diskursforum entsteht.

Speichern Sie die Datei "+ app.yml +" und beenden Sie den Texteditor.

Schritt 5 - Bootstrap-Diskurs

In diesem Abschnitt werden wir den Diskurs starten.

Zunächst müssen wir sicherstellen, dass Docker auf alle benötigten externen Ressourcen zugreifen kann. Öffnen Sie die Docker-Einstellungsdatei "+ / etc / default / docker":

sudo nano /etc/default/docker

Deaktivieren Sie die Zeile, damit Docker Googles DNS verwendet:

/ etc / default / docker

...

# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

...

Starten Sie Docker neu, um die neuen Einstellungen zu übernehmen:

sudo service docker restart
  • Hinweis: * Wenn Sie die DNS-Einstellungen von Docker nicht ändern, bevor Sie den Bootstrap-Befehl ausführen, wird möglicherweise die Fehlermeldung "Schwerwiegend: Kein Zugriff auf" https://github.com/SamSaffron/pups.git/ ":[https" angezeigt : //github.com/SamSaffron/pups.git/ ':] Host konnte nicht aufgelöst werden: github.com ”.

Verwenden Sie jetzt den Bootstrap-Prozess, um Discourse zu erstellen und mit allen Einstellungen zu initialisieren, die Sie im vorherigen Abschnitt konfiguriert haben. Dadurch wird auch der Docker-Container gestartet. Sie müssen sich im Verzeichnis befinden:

cd /var/discourse

Bootstrap-Diskurs:

sudo ./launcher bootstrap app

Die Ausführung dieses Befehls dauert ca. 8 Minuten, während die Discourse-Umgebung konfiguriert wird. (Zu Beginn dieses Vorgangs werden Sie aufgefordert, einen SSH-Schlüssel zu generieren. Drücken Sie zum Akzeptieren * Y *.)

Starten Sie nach Abschluss des Bootstrap-Vorgangs Discourse:

sudo ./launcher start app

Herzliche Glückwünsche! Sie haben jetzt Ihre eigene Diskursinstanz!

Schritt 6 - Diskurs aufrufen

Besuchen Sie die Domain oder IP-Adresse (die Sie zuvor für den Discourse-Hostnamen festgelegt haben) in Ihrem Webbrowser, um die Standard-Discourse-Webseite anzuzeigen.

Wenn Sie einen 502 Bad Gateway-Fehler erhalten, warten Sie ein oder zwei Minuten und aktualisieren Sie dann, damit Discourse den Start beenden kann.

Schritt 7 - Registrieren Sie sich und erstellen Sie ein Administratorkonto

Verwenden Sie die Schaltfläche * Registrieren * oben rechts auf der Seite, um ein neues Discourse-Konto zu registrieren. Sie sollten die E-Mail-Adresse verwenden, die Sie zuvor in der Einstellung angegeben haben. Sobald Sie Ihr Konto bestätigt haben, werden diesem Konto automatisch Administratorrechte gewährt.

Sobald Sie sich angemeldet haben, sollten Sie die Themen für Mitarbeiter und die Admin Quick Start Guide sehen. Es enthält die nächsten Schritte zur weiteren Konfiguration und Anpassung Ihrer Discourse-Installation.

Sie können auf das Administrator-Dashboard zugreifen, indem Sie besuchen.

Wenn Sie bei der Anmeldung keine E-Mail erhalten und kein neues Administratorkonto erstellen können, lesen Sie bitte die Informationen unter https://meta.discourse.org/t/troubleshooter-email-on-a-new-discourse-. install / 16326 [Checkliste zur Fehlerbehebung per E-Mail].

Wenn Sie immer noch kein neues Administratorkonto per E-Mail registrieren können, lesen Sie die exemplarische Vorgehensweise unter Create Admin Account from Console Beachten Sie, dass Sie eine kaputte Site haben werden, bis Sie normale SMTP-E-Mails erhalten.

Das ist es! Sie können jetzt Benutzern erlauben, sich anzumelden und mit der Verwaltung Ihres Diskursforums zu beginnen.

Upgrade nach der Installation

Um * ein Upgrade von Discourse auf die neueste Version * durchzuführen, rufen Sie + / admin / upgrade + auf und befolgen Sie die Anweisungen.