Keine Verbindung möglich - Neuinstallation auf DO

Ich habe gerade zwei Versuche unternommen, Discourse auf Digital Ocean zu installieren.

Versuch 1:
Beim ersten Versuch habe ich die offiziellen Github-Anleitungen mit einem DO Ubuntu 22.04 LTS-Image und einem 1GB-Droplet verwendet.

Ich habe eine Subdomain einer bestehenden Domain und Anmeldedaten von einem bestehenden Mailjet-Konto verwendet, das seit Jahren problemlos funktioniert.

Ich wusste nicht, dass ich Docker installieren muss, also als ich Folgendes eingab:

discourse-setup

sagte das Installationsprogramm:

Failed to find docker or docker.io on your PATH.

und ich drückte Enter, um Docker zu installieren.

Danach schien die Installation problemlos zu laufen.

Sie endete mit:

117:M 25 May 2023 01:14:46.500 * DB saved on disk
117:M 25 May 2023 01:14:46.501 # Redis is now ready to exit, bye bye...

und ein paar zusätzlichen Zeilen.

Ich war mir nicht sicher, wie schnell DNS propagieren würde, also gab ich die DO-IP in meine /etc/hosts-Datei ein.

Ich habe versucht, meinen Browser auf meine Subdomain-URL zu richten; Ich erhielt “Can’t connect to the server”.

Ich habe versucht, meinen Browser auf die IP-Adresse zu richten; Ich erhielt “Can’t connect to the server”.

Also habe ich einen weiteren Versuch unternommen.

Versuch 2:
Ich folgte den Anweisungen unter linuxhandbook, um eine DO-Ein-Klick-Installation über den Marketplace-Tab zu verwenden, was mir ein 2GB-Droplet gab.

Nach dem Einloggen über SSH lief das Installationsprogramm automatisch und schien ohne Probleme zu laufen. Am Ende sagte es:

Discourse is now installed. Log into your admin account in a browser to continue configuring Discourse.

Aber wieder, als ich versuchte, meinen Browser auf meine Subdomain-URL oder die (für dieses zweite Droplet neue) DO-IP-Adresse zu richten, konnten meine Browser keine Verbindung herstellen (ich habe Firefox und Safari ausprobiert).

Ausführen von

./launcher start app

zeigt

x86_64 arch detected.
cadd91ccd0cd
Nothing to do, your container has already started!

discourse-doctor zeigt (unter anderem)

Discourse container app is running

und gibt die korrekte

DISCOURSE_HOSTNAME

Was kann ich versuchen, damit diese Installation (entweder oder beide) auf meinen Browser reagiert?

(Die zweite IP-Adresse befindet sich immer noch in meiner hosts-Datei, aber sie wurde laut DNS-Checkern auch propagiert, so dass es so aussieht, als sollte sie entweder über die Subdomain-URL oder nur über die IP-Adresse funktionieren.)

Vielen Dank für jede Hilfe.

Ich habe noch ein paar Details:

Soweit ich weiß, habe ich keine Art von Control Panel für eines der Droplets (kein Plesk, kein cPanel).

Normalerweise würde ich bei einem typischen Shared-Hosting-Setup in public_html gehen und eine einfache Testdatei wie testfile.html erstellen, um zu sehen, ob ich zumindest eine einfache HTML-Datei laden kann, aber ich weiß nicht, wo ich das tun kann (oder ob ich das überhaupt kann) auf einem DO-Droplet.

Wenn ./discourse-setup gut verlief, dann bedeutet das, dass Ihre Domain aufgelöst werden konnte, sodass Sie sich darum nicht kümmern müssen. Die Weitergabe wurde zu diesem Zeitpunkt bereits für Ihren Server durchgeführt.

Beachten Sie, dass die 1-Klick-Installation von DigitalOcean Discourse eine unsupported-install ist, was bedeutet, dass Sie hier wahrscheinlich weniger Unterstützung finden werden. :slight_smile:

Ich schlage vor, Sie beginnen von vorne und verwenden die Standardinstallation.

  1. Erstellen Sie einen Droplet

  2. Melden Sie sich über SSH an

  3. Führen Sie ping yourdomain.com aus und prüfen Sie, ob es zu Ihrer Server-IP aufgelöst wird (./discourse-setup zeigt ohnehin eine Warnung an, wenn dies nicht der Fall ist).

    • Wenn nicht, warten Sie, bis es soweit ist.
  4. Wenn es soweit ist, installieren Sie Discourse mithilfe der offiziellen Anleitung discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Bitte geben Sie Rückmeldung :slight_smile:

Natürlich bin ich kein Experte, und vielleicht kann jemand Ihr aktuelles Problem identifizieren.

2 „Gefällt mir“

Das ist nicht nötig und wird nicht helfen. Wie oben gesagt, wird discourse-setup einen Test durchführen, um zu sehen, ob es mit sich selbst über den Hostnamen sprechen kann. Wenn Sie /etc/hosts bearbeitet haben, bevor Sie discourse-setup ausgeführt haben, funktionierte DNS nicht und Sie haben kein Zertifikat von Let’s Encrypt erhalten, weshalb der Webserver nicht startet. Wenn Sie es oft genug versuchen, werden Sie ratenlimitiert und müssen eine Woche warten oder eine andere Subdomain verwenden.

Sie können sich die Datei /var/discourse/shared/logs/var-log/nginx/access.log (oder etwas sehr Ähnliches) ansehen, um das Problem zu erkennen.

Am einfachsten ist es zu diesem Zeitpunkt, eine neue Subdomain zu verwenden, DNS einzurichten, auf die Weitergabe zu warten (es gibt Tools, die Ihnen das zeigen) und dann discourse-setup auszuführen.

2 „Gefällt mir“

Vielen Dank an euch beide für die Antworten.

Ich habe eine neue Subdomain und ein neues Droplet erstellt und diese für einen dritten Versuch verwendet, und jetzt läuft alles.

Als ich bei meinem ersten Versuch ./discourse-setup ausführte, gab es keine Anzeige in der Ausgabe, dass es ein Problem mit der Domain oder SSL gab; es ist möglich, dass ein Fehler gemeldet wurde und ich ihn einfach übersehen habe, aber wenn ja, wäre es vielleicht gut, eine solche Fehlermeldung deutlicher zu machen.

Ich bin froh, dass mein neues Discourse eingerichtet ist und läuft. Nochmals vielen Dank für die Hilfe für einen Neuling.

Wäre es möglich, discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub um einen Abschnitt mit Troubleshooting-Tipps zu erweitern, und wenn ja, könnte ich dazu beitragen?

1 „Gefällt mir“

Es stoppt abrupt. Das hättest du nicht übersehen. Ich vermute, dass du das Problem geschickt mit /etc/hosts gelöst hast, was das Skript zufriedenstellte, aber Let’s Encrypt nicht, als es ein Zertifikat abrufen wollte. discourse-setup ist ein Shell-Skript und für die unerfahrensten Benutzer konzipiert, daher sind seine Tests eher naiv.

Vielleicht sieh dir das Standard-Installations-Topic an?

EDIT: Nun, da ist nicht viel.

Welchen Troubleshooting-Rat möchtest du hinzufügen? Ich denke, da gibt es einige Hinweise. Zu vermuten, dass jemand einen /etc/hosts-Eintrag erstellt und die DNS-Prüfung umgeht, ist etwas, von dem ich noch nie gehört habe, dass es jemand tut. :slight_smile: