Discourse-Installation auf Lightsail

Hallo zusammen, ich versuche, mein erstes Discourse-Forum zum Laufen zu bringen und brauche etwas Hilfe…

Die Einstellungen in app.yml sehen alle in Ordnung aus. Ich habe einen Neustart versucht, aber Discourse ist nicht erreichbar. Jeder Hinweis darauf, wie ich mit der Fehlersuche beginnen kann, wäre sehr willkommen.

Bei Lightsail bin ich mir nicht so sicher, aber im Fall von AWS liegt es in 90 % der Fälle an den Sicherheitsgruppen, wenn eine Domain nicht korrekt auf deren IP zeigt. Könntest du versuchen, die erforderlichen Ports (80, 443, 587 usw.) in der AWS-Sicherheitsgruppe für deinen VPS freizugeben?

Vielen Dank für deine Antwort. Ich habe diese Ports geöffnet (443 und 587 waren geschlossen) und die App neu erstellt, aber leider ohne Erfolg. Ich vermute, dass das Problem auf der DNS-Seite liegt, bin mir aber nicht sicher, was ich sonst noch ändern soll. Der Domainname becomeachiron.com ist derzeit noch nicht eingerichtet, nur das Subdomain. Es ist wahrscheinlich, dass dies das Subdomain beeinträchtigen könnte, aber ich bin mir nicht sicher, wo ich es auf Lightsail hosten soll.

Wie hast du nur die Subdomain eingerichtet?

Wir sind kürzlich auf Discourse und Amazon Lightsail umgestiegen (daher habe ich wenig Expertise). Ich habe exakt diese Konfiguration und konnte Discourse problemlos installieren.

Zuerst habe ich das offizielle Debian-AMI von Amazon installiert. Anschließend habe ich den Hostnamen auf meine Domain (discourse.becomeachiron.com) konfiguriert und Debian auf die neueste Version aktualisiert:

sudo apt update
sudo apt upgrade

Danach habe ich die Anweisungen zur Installation von Discourse befolgt (Git installieren und dann Discourse).

Kein Problem, es hat funktioniert.

Ich musste Port 443 öffnen, damit HTTPS funktioniert (und es in Discourse konfigurieren).

Das von dir beschriebene Problem scheint mit DNS und der IP-Auflösung zusammenzuhängen.

In Lightsail gibt es drei IP-Adressen für eine Maschine:

  • Die statische private IP, die nur von Maschinen im internen Netzwerk derselben Region wie du erreichbar ist.
  • Die dynamische öffentliche IP, die beim Starten der Instanz dynamisch zugewiesen wird. Diese geht verloren, wenn die Maschine gestoppt wird, und du erhältst beim Neustart eine andere.
  • Die öffentliche statische IP-Adresse, die du der Maschine zuweisen kannst. Diese Adresse ist dauerhaft (aber du wirst dafür berechnet, wenn die Maschine gestoppt ist; es ist sehr wenig, aber du zahlst pro Stunde, wenn die Maschine nicht läuft).

Hast du deiner Maschine eine statische öffentliche IP-Adresse zugewiesen?

Wenn ja, ist dies die IP, die du in deinem DNS konfigurieren musst.

Wenn nicht, musst du die öffentliche IP-Adresse verwenden und sie jedes Mal ändern, wenn du die Maschine startest, da sie sich ändert (ich nehme an, du kannst einen dynamischen IP-Client auf deiner Maschine installieren, der dies automatisch erledigt, falls du einen findest, der mit Amazon DNS kompatibel ist).

Anschließend musst du einige Zeit warten, bis sich die DNS-Änderungen propagiert haben.

Es sieht nicht so aus, als hättest du die Domain eingerichtet:

 pfaffman@balloon:~$ dig +short discourse.becomeachiron.com @NS-1041.AWSDNS-02.ORG

liefert keine Antwort. Dieser Link überprüft die Propagierung, aber derzeit gibt es bei den AWS-Nameservern keinen Eintrag für deine Subdomain.

Es gibt keinen Eintrag, da er anscheinend keinen Amazon DNS verwendet. Er sagt, dass es mit Google DNS funktioniert.

Daher muss er dies bei Google konfigurieren.

discourse.becomeachiron.com wird derzeit auf 99.79.192.57 aufgelöst.

Vielen Dank für eure Antworten. Idealerweise würde ich Discourse auf der Hauptdomain hosten – nicht auf einer Subdomain. Doch jede Anleitung, die ich finden kann, besteht auf einer Subdomain. Ist das zwingend erforderlich?

Ich hacke gerade auch daran herum :slight_smile:

Ich habe gelesen, dass es möglich ist, die reine Domain ohne www oder Discourse-Subdomain zu verwenden.

Dies ist jedoch nicht die Standardkonfiguration und scheint nicht so einfach zu sein. Vielleicht ist es besser, zunächst die Standardmethode zu versuchen, wie Sie es getan haben.

Ich betone noch einmal: Haben Sie für Ihre Lightsail-Instanz eine statische IP-Adresse konfiguriert?

Standardmäßig ist diese dynamisch.

Falls nicht, erstellen Sie eine statische IP.

Gehen Sie zum Lightsail-Bedienfeld, wählen Sie Ihre Instanz aus und öffnen Sie den Tab „Netzwerk“.
Wählen Sie dann „Statische IP erstellen“.

Ihre Instanz erhält eine neue permanente IP-Adresse.

Gehen Sie dann zu Google DNS und registrieren Sie diese IP-Adresse mit Ihrem Computernamen.

Hier ist mein aktueller Stand:

In Lightsail

  • eine statische IP erstellt und an meine Instanz angehängt (danke, fernando)
  • eine DNS-Zone erstellt

In Google Domains

  • die Nameserver auf die der DNS-Zone aktualisiert
  • eine Subdomain erstellt und auf die statische IP gezeigt

Discourse ist korrekt eingerichtet – ich kann über die öffentliche IP darauf zugreifen. Soweit ich nichts übersehen habe, warte ich nun auf die Propagierung.

Du machst etwas falsch.

Deine SOA-Einträge verweisen auf AWS-DNS-Server, nicht auf Google, und du sagst, du würdest die DNS-Einträge bei Google ändern.

becomeachiron.com
primärer Nameserver = ns-612.awsdns-12.net
zuständige Mail-Adresse = awsdns-hostmaster.amazon.com
Serial = 1
Refresh = 7200 (2 Stunden)
Retry = 900 (15 Minuten)
Expire = 1209600 (14 Tage)
Standard-TTL = 86400 (1 Tag)

becomeachiron.com Nameserver = ns-1041.awsdns-02.org
becomeachiron.com Nameserver = ns-1824.awsdns-36.co.uk
becomeachiron.com Nameserver = ns-216.awsdns-27.com
becomeachiron.com Nameserver = ns-612.awsdns-12.net

Ändere deine DNS-Einstellungen bei AWS DNS oder ändere deine SOA-Einträge, damit sie auf Google verweisen, wenn du Google DNS verwendest.

Richtig! Das habe ich auch gemeint. Ich hätte wohl den Whois-Eintrag hinzufügen sollen. Sie haben es besser erklärt als ich.

Ändern Sie also entweder den Whois-Eintrag oder aktualisieren Sie die AWS-Nameserver.

Ich habe dich nicht verstanden, sorry.

Ich bin verwirrt… Ich habe mich über Google Domains registriert, aber Lightsail hat die Nameserver generiert.

Sie können die Domain bei einem Registrar registrieren und die DNS-Dienste eines anderen Anbieters nutzen.

Beim Kauf einer Domain erwerben Sie lediglich den Namen und den SOA-Eintrag, der auf dem Server des Domain-Registrars gespeichert ist.

DNS-Dienste sind unabhängig vom Domain-Anbieter.
Der SOA-Eintrag gibt an, wo sich Ihre DNS-Server befinden.

Natürlich bieten viele Domain-Registrare DNS-Dienste im Preis inbegriffen an, wie beispielsweise Google Domains.

Sie haben jedoch DNS-Dienste bei Amazon Lightsail gekauft, wodurch sich Ihr SOA-Eintrag bei Google geändert hat.

Ich habe keine DNS-Dienste bei Amazon gekauft; ich nutze externe DNS-Dienste (soweit ich weiß, berechnet Amazon Gebühren für DNS-Dienste).

In diesem Fall müssen Sie die DNS-Einträge selbst bei Ihrem Anbieter aktualisieren (in Ihrem Fall bei Google).
Dabei müssen Sie den SOA-Eintrag auf die Standardkonfiguration von Google DNS zurücksetzen.

Alternativ können Sie die DNS-Dienste von Amazon nutzen und die Einträge dort aktualisieren. In diesem Fall bleibt der SOA-Eintrag unverändert, und Sie verwenden die Amazon-Tools, um die DNS-Einträge zu ändern.

Falls Sie einen E-Mail-Dienst bei Amazon nutzen, haben Sie möglicherweise zugestimmt, Ihren SOA-Eintrag zu ändern und auf die Amazon-Dienste umzuleiten.

Im Wesentlichen benötigen Sie die öffentliche IP-Adresse Ihres Lightsail-VPS und können dann Ihren DNS-Verwaltungsdienst nach Belieben wählen.

Wenn Sie dies über Amazon verwalten möchten, können Sie Route 53 verwenden. Ihnen werden dann Nameserver ausgegeben, die Sie in den Einstellungen Ihrer Domain beim Registrar (z. B. Google) aktualisieren können.

Alternativ können Sie die aktuelle Zonendatei bearbeiten (im Bereich DNS-Verwaltung Ihrer Domain) und dort Ihren A-Eintrag aktualisieren.

Wie oben erwähnt, möchten Sie auf der Hauptdomain hosten. Ich kann Ihnen dabei helfen, dies einzurichten. Das ist genauso wie eine normale Installation und völlig in Ordnung, da manche Nutzer ihr Forum einfach auf einer anderen Domain haben möchten.

Beispiel: Twitter-Community-Forum

Nochmals vielen Dank an alle! Ich bin im Geschäft: http://discourse.becomeachiron.com/

Ich bin gerade noch dabei herauszufinden, wie diese Teile genau zusammenarbeiten – ich beschäftige mich nicht regelmäßig mit DNS-Themen. Jetzt muss ich irgendwie meine Hauptdomain online bringen :slight_smile:

Es sieht so aus, als würdest du AWS Route53 zur Verwaltung deiner DNS-Einstellungen nutzen.

Für die primäre Domain gehe wie folgt vor:

  1. Erstelle einen Alias (A)-Eintrag für die primäre Domain (gekennzeichnet durch @), der auf deine Lightsail-IP zeigt.
  2. Bearbeite deine app.yml-Datei, um die primäre Domain zu verwenden.
  3. Führe einen Neuaufbau durch.
  4. Führe ein Discourse Remap aus.

Das ist alles, was du tun musst.