Dieser Leitfaden richtet sich an alle, die eine Discourse-Website in Azure selbst hosten möchten. Er führt Sie durch die erforderlichen ersten Schritte im Azure-Portal, um Ihre Linux-VM zu erstellen, damit Sie anschließend der regulären Cloud-Installationsanleitung folgen können, die unabhängig vom Webhoster ist. Falls Sie keine Selbsthosting-Lösung wünschen, sondern möchten, dass wir Ihr Discourse-Forum für Sie hosten, melden Sie sich bitte hier an.
1) Eine Ressourcengruppe erstellen
Bevor wir die VM erstellen, legen wir eine Ressourcengruppe an. Hier werden alle mit Ihrer Discourse-Website verbundenen Ressourcen gespeichert, wie z. B. die Festplatten Ihrer VM, Netzwerkeinstellungen, Sicherheitsgruppen, Blob-Speicher usw. Um eine Ressourcengruppe zu erstellen, klicken Sie auf das grüne Pluszeichen, wählen Sie „Ressourcengruppe" aus, füllen Sie das Feld „Name der Ressourcengruppe" aus, wählen Sie Ihr „Abonnement" und Ihren „Standort der Ressourcengruppe" aus und klicken Sie dann auf „Erstellen".
2) Die Linux-VM erstellen
Für diesen Leitfaden erstellen wir eine Ubuntu 16.04 LTS-VM. Klicken Sie dazu erneut auf das grüne Pluszeichen und suchen Sie nach „Ubuntu Server 16.04 LTS". Die VM sollte als eine der verfügbaren Optionen erscheinen.
Wählen Sie sie aus, stellen Sie sicher, dass das Bereitstellungsmodell auf „Resource Manager" eingestellt ist, und klicken Sie dann auf „Erstellen".
3) Grundlegende Einstellungen konfigurieren
Sie sollten sich nun auf der Registerkarte „Grundlagen" unter „Virtuelle Maschine erstellen" befinden. Füllen Sie alle erforderlichen Felder zur Einrichtung der VM aus. Wählen Sie die zuvor erstellte Ressourcengruppe „discourse" aus, vergeben Sie einen Namen für Ihre VM, z. B. „discourse", und wählen Sie die gewünschte Region aus.
Im selben Tab „Grundlagen" müssen Sie die Größe Ihrer VM auswählen. Standardmäßig ist dies eine „Standard D2s v3" mit 8 GB Arbeitsspeicher, die 71,42 $ pro Monat kostet. Stellen Sie daher sicher, dass Sie auf „Größe ändern" klicken und eine für Ihre Arbeitslast geeignete VM-Größe auswählen.
Für das absolute Minimum wählen Sie die Option „B1ms" mit 2 GB RAM. Die Option „B1s" wird zwar mit 1 GB beworben, bietet auf Betriebssystemebene jedoch nur etwa 800 MB RAM, was nicht ausreicht, um Discourse ordnungsgemäß zu betreiben. Die „B1ms" kostet 17,11 $ pro Monat.
Füllen Sie nun den Linux-Benutzernamen aus und laden Sie Ihren SSH-öffentlichen Schlüssel hoch. Alternativ können Sie auch eine Anmeldung per Passwort konfigurieren, jedoch wird die SSH-Schlüssel-basierte Anmeldung bevorzugt.
Stellen Sie sicher, dass Sie Web- und SSH-Zugriff auf die Maschine haben, indem Sie die Option „Ausgewählte Ports zulassen" auswählen und im Dropdown-Menü „Eingehende Ports auswählen" HTTP, HTTPS und SSH wählen. Nach Abschluss der Einrichtung ist es ratsam, den SSH-Zugriff nur auf Ihre IP-Adresse zu beschränken.
Wählen Sie „Überprüfen + erstellen". Überprüfen Sie auf der Zusammenfassungsseite, ob alles korrekt ist, und klicken Sie dann auf „Erstellen". Die Erstellung der VM dauert einige Minuten.
4) Per SSH auf die VM zugreifen
Für die Einrichtung von Swap und die Installation von Discourse benötigen wir Zugriff über die Befehlszeile. Sobald die VM erstellt wurde, können Sie sie im Azure-Portal auswählen. Auf dem Bildschirm „Übersicht" wird die öffentliche IP-Adresse angezeigt. Öffnen Sie Ihr Terminal und verbinden Sie sich per SSH mit der VM unter Verwendung des in Schritt 3 dieses Leitfadens angegebenen Benutzernamens.
Falls Sie unsicher sind, wie Sie eine SSH-Verbindung zur VM herstellen, können Sie alternativ die „Serienkonsole" im Azure-Portal verwenden. Wählen Sie dazu die VM aus und klicken Sie unten in der linken Navigation auf „Serienkonsole".
Dadurch wird eine Shell geöffnet, in der Sie Ihren Benutzernamen und das Passwort eingeben können, die Sie vor der Erstellung der VM festgelegt haben. Falls Sie Ihr Passwort nicht kennen, können Sie die Option „Passwort zurücksetzen" verwenden.
Sie sollten sich nun in einem Terminal befinden, in dem Sie Befehle eingeben können:
5) Swap einrichten
Jede Azure-VM verfügt über eine temporäre Festplatte, die separat von Ihrer OS-Festplatte ist und normalerweise unter /dev/sdb1 eingehängt ist. Stellen Sie sicher, dass Ihr Swap auf dieser temporären Festplatte und nicht auf der OS-Festplatte eingerichtet ist, denn:
Diese temporäre Speicherfestplatte befindet sich auf der physischen Maschine, die Ihre VM hostet, und kann daher im Vergleich zu persistentem Speicher wie Datenträgern eine höhere IOPS und geringere Latenz aufweisen. – Verstehen der temporären Festplatte auf Azure-Virtual-Machines
Bearbeiten Sie die Datei /etc/waagent.conf und aktualisieren Sie folgende Zeilen:
ResourceDisk.Format=y
ResourceDisk.EnableSwap=y
ResourceDisk.SwapSizeMB=2048
Hinweis: Falls Sie bereits einen Swap auf der OS-Festplatte eingerichtet haben (möglicherweise weil ./discourse-setup dies für Sie konfiguriert hat), können Sie ihn deaktivieren, indem Sie die Zeile mit /swapfile in /etc/fstab auskommentieren.
Falls Sie unsicher sind, wie Sie die Datei /etc/waagent.conf mit einem Befehlszeilen-Editor wie vim bearbeiten, können Sie einfach den folgenden Befehl in Ihr Terminal kopieren und einfügen und dann Enter drücken:
sudo sed -i '/ResourceDisk.Format=n/c\\ResourceDisk.Format=y' /etc/waagent.conf && sudo sed -i '/ResourceDisk.EnableSwap=n/c\\ResourceDisk.EnableSwap=y' /etc/waagent.conf && sudo sed -i '/ResourceDisk.SwapSizeMB=0/c\\ResourceDisk.SwapSizeMB=2048' /etc/waagent.conf
Falls dies das erste Mal ist, dass Sie einen sudo-Befehl ausführen, wird möglicherweise nach Ihrem Passwort gefragt.
Starten Sie dann Ihre VM mit sudo shutdown -r now neu.
Um zu überprüfen, ob Swap funktioniert, melden Sie sich erneut bei Ihrer VM an und geben Sie swapon --show ein. Sie sollten etwas Ähnliches wie folgt sehen:
root@azure:~# swapon --show
NAME TYPE SIZE USED PRIO
/mnt/swapfile file 2G 0B -2
Beachten Sie, dass sich die Swap-Datei in /mnt befindet. Das ist gut, da dies unser temporärer Laufwerk ist.
Sie können auch free -h eingeben und etwas Ähnliches wie folgt sehen:
root@azure:~# free -h
total used free shared buff/cache available
Mem: 1.9G 174M 1.5G 3.0M 172M 1.5G
Swap: 2.0G 0B 2.0G
Der Swap-Spalte sollte ein Wert in der Spalte „total" zugeordnet sein, was bedeutet, dass er eingerichtet wurde.
6) Discourse installieren
Da nun Ihre Linux-VM in Azure erstellt wurde und eine Swap-Partition vorhanden ist, können Sie nun der offiziellen Cloud-Installationsanleitung folgen.
7) Das Azure Blob Storage-Plugin installieren (optional)
Nach der Installation von Discourse können Sie die Installationsanweisungen im Thema Azure Blob Storage-Plugin befolgen. Die Installation und Aktivierung dieses Plugins sorgt dafür, dass von Benutzern hochgeladene Bilder im Blob-Speicher und nicht auf Ihrer Linux-VM gespeichert werden. Dies sollte die Leistung verbessern und verhindern, dass Ihre OS-Festplatte voll läuft.









