Discourse auf Amazon Web Services (AWS) mit Lightsail, SES und Route 53 installieren

:information_source: Dieses Thema behandelt die Installation von Discourse mithilfe der offiziellen Installationsanweisungen, wobei AWS-Dienste für den DNS-Anbieter (Route 53), den E-Mail-Anbieter (SES) und den Cloud-Server-Anbieter (Lightsail) verwendet werden.

Cloud-Server

Lightsail

  • Die Standardeinstellung von 1 GB RAM funktioniert gut für kleine Discourse-Communities. Wir empfehlen 2 GB RAM für größere Communities.

^ Für 5 /Monat erhalten Sie einen Server, der die Mindestanforderungen von Discourse erfüllt. Ich verwende einen für 10 /Monat, aber ich dachte, 5 $/Monat würden auch funktionieren.

Mailserver

Sie können den geheimen Schlüssel nicht zurückerhalten, aber wenn Sie ihn verloren haben, können Sie einen neuen erstellen, den Sie verwenden können.

Domain

Schritt-für-Schritt-Einrichtung

  1. Folgen Sie der Route 53-Dokumentation, um eine Domain zu kaufen.

Wenn Sie bei diesem Schritt eine E-Mail mit der Meldung „unable to process“ erhalten, muss AWS möglicherweise zuerst Ihr Konto überprüfen. Erstellen Sie einen Supportfall, damit sie Sie benachrichtigen, wenn Ihr Konto überprüft wurde und Sie mit dem Kauf beginnen können.

  1. DNS-Eintrag einrichten
    Geben Sie die Route 53-Konsole ein

Wählen Sie „Hosted zones“ → „create hosted zone“ → geben Sie Ihren Domainnamen ein → scrollen Sie nach unten und klicken Sie auf „create hosted zone“

Klicken Sie auf den Domainnamen und fügen Sie einen A-Eintrag mit dem Wert der IP-Adresse Ihres Lightsail-Cloud-Servers hinzu. Diese finden Sie in Ihrer Lightsail-Konsole. (Roter Block)

  1. SES einrichten
    Geben Sie die SES-Konsole ein

Wählen Sie „Verified Identities“ → „create identity“ → geben Sie Ihren Domainnamen ein (Typ: Domain) → scrollen Sie nach unten und klicken Sie auf „create identity“
Erstellen Sie Identität → geben Sie eine E-Mail-Adresse ein, die Sie für die Registrierung des Admin-Kontos verwenden werden (Typ: E-Mail-Adresse) → scrollen Sie nach unten und klicken Sie auf „create identity“


Da wir die Domain in Route 53 registriert haben, dauert die Verifizierung etwa 5 Minuten. Sie erhalten eine E-Mail zur Verifizierung der E-Mail-Adresse.

Wenn beide verifiziert sind, klicken Sie auf den Domainnamen, suchen Sie nach Publish DNS records, kopieren Sie das DNS-Paar und fügen Sie es in Ihre Route 53 unter der von Ihnen in Schritt 2 erstellten gehosteten Zone ein.

Gehen Sie zu den SMTP-Einstellungen und klicken Sie auf „create SMTP credential“. Folgen Sie den Schritten und laden Sie eine CSV-Datei herunter, die den SMTP-Benutzernamen und das Passwort enthält.

Der SMTP-Endpunkt wird ebenfalls auf dieser Seite aufgeführt.

  1. Discourse konfigurieren

Die obigen Schritte decken die Schritte 1-3 in den offiziellen Installationsanweisungen ab. Fahren Sie mit den Schritten 4-6 fort.

Hostname für Ihr Discourse? [discourse.example.com]: // Ihre Domain
E-Mail-Adresse für Admin-Konto(s)? /[me@example.com,you@example.com]: // die, die Sie in SES Verified Identities verifiziert haben
SMTP-Serveradresse? [smtp.example.com]: // SMTP-Endpunkt
SMTP-Port? [587]: // Standard verwenden
SMTP-Benutzername? [user@example.com]: // in Ihrer heruntergeladenen CSV-Datei
SMTP-Passwort? [pa$$word]: // in Ihrer heruntergeladenen CSV-Datei
E-Mail-Adresse für Let's Encrypt-Konto? (ENTER zum Überspringen) [me@example.com]: // Standard verwenden
Optionale Maxmind-Lizenzschlüssel () [xxxxxxxxxxxxxxxx]: // Standard verwenden

Warten Sie auf die Installation, dann können Sie das Admin-Konto mit dem in den Einstellungen angegebenen Konto registrieren.

  1. Nach der Installation

Wenn Sie bereit sind, Ihre Community neuen Benutzern vorzustellen, beantragen Sie den SES-Produktionszugang.

Beschreiben Sie in „Use case description“, wie Sie Amazon SES zum Senden von E-Mails verwenden möchten. Um uns bei der Bearbeitung Ihrer Anfrage zu helfen, sollten Sie die folgenden Fragen beantworten:

Wie planen Sie, Ihre Mailingliste zu erstellen oder zu erwerben?

Wie planen Sie, mit Bounces und Beschwerden umzugehen?

Wie können Empfänger sich vom Erhalt von E-Mails von Ihnen abmelden?

Wie haben Sie die schreibrate oder das Sende-Kontingent ausgewählt, das Sie in dieser Anfrage angegeben haben?

Es wird empfohlen, der Anleitung in der URL zu folgen, aber dies garantiert keine Genehmigung. Wenn Sie eine Ablehnungs-E-Mail erhalten, versuchen Sie, Screenshots der neuen Benutzerregistrierungsliste hinzuzufügen und ihnen mitzuteilen, dass neue Benutzer auf die Aktivierungs-E-Mail warten.

3 „Gefällt mir“

Kann mir bitte jemand ein ordentliches Schritt-für-Schritt-Tutorial zum Hosten von Discourse auf AWS Lightsail mit SES zur Verfügung stellen?

Haben Sie Grund zu der Annahme, dass etwas nicht stimmt?

3 „Gefällt mir“

Ich fand den Leitfaden hier sehr hilfreich für einen Testlauf der SES-Konfigurationen

Kopieren Sie einfach das dort gezeigte Skript in eine neue Skriptdatei, ändern Sie den Endpunkt (z. B. email-smtp.us-east-1.amazonaws.com), und es scheint einwandfrei zu funktionieren. Aus irgendeinem Grund scheint die telnet-Methode mit SES nicht zu funktionieren, ich weiß nicht warum.

Oh ja, für diesen Leitfaden habe ich auch dies getan, um “einen Konfigurationssatz zu erstellen”, ich bin mir nicht sicher, ob es für Discourse tatsächlich erforderlich war oder nicht, aber ich habe es trotzdem getan, um SES testen zu können, wie im Skript beschrieben Creating configuration sets in SES - Amazon Simple Email Service

Hier ist eine weitere Sache, die mich gestolpert hat: Publishing an MX record for Amazon SES email receiving - Amazon Simple Email Service

Für den erforderlichen DNS-MX-Eintrag, der für Ihre Domain gilt, liefert AWS SES den “Wert” des Eintrags in einem Format wie diesem:

10 inbound-smtp.region.amazonaws.com

Mein Domain-Registrar gab mir jedoch einen Fehler, dass “der Wert ein Hostname sein muss”, d. h. er mochte das " 10 ", das davor stand, nicht. Die AWS-Konsole hat nicht direkt gesagt, was das bedeutet oder was damit zu tun ist. Gemäß den dort verlinkten Dokumenten müssen Sie für Ihren DNS-Registrar Folgendes tun:

Die Verwaltungskonsolen einiger DNS-Anbieter enthalten separate Felder für den Wert des Eintrags und die Priorität des Eintrags. Wenn dies bei Ihrem DNS-Anbieter der Fall ist, geben Sie 10 für den Prioritätswert ein und geben Sie die URL des eingehenden Mail-Endpunkts für den Wert ein.

So sollte es in Ihrem Domain-Registrar-Dashboard aussehen:

1 „Gefällt mir“

Als Nachlese könnten wir diesen Beitrag vielleicht um die Einrichtung von AWS Cloudfront CDN erweitern? Da es gut zum Rest des hier beschriebenen AWS-Stacks passt. Ich habe es zum Laufen gebracht, indem ich den Ratschlägen aus diesem Beitrag gefolgt bin

aber eine gründlichere Anleitung wäre großartig, um sie aufzunehmen.