ich versuche zum ersten Mal, Discourse auf dem offiziellen Weg mit dem discourse-setup-Skript zu installieren… auf einem Arch VPS (zu Testzwecken mit einer Gruppe) - der eine frische Nginx-Installation hat - ich habe ihn vorerst gestoppt und deaktiviert… um ein funktionierendes Build zu erhalten.
Das Skript hängt bei “Checking your domain Name…” - ich habe mir das Skript angesehen und das ist ein Aufruf an “connect_to_port” - ich vermute, er versucht, sich dort mit einem 443 zu verbinden… netcat ist installiert… wenn ich zum Beispiel “nc host 443” in die Shell eingebe, erhalte ich keine Ausgabe und nichts passiert… ich vermute, weil das “äußere” Nginx nicht läuft - also ist nichts auf diesem Port… ich bin mir nicht sicher, was das Skript dort genau macht.
Ich habe auch versucht, diesen Test zu überspringen, aber es scheint, dass er am Ende - nach dem Build - etwas Ähnliches versucht, das auch nicht funktioniert hat. Also habe ich alles gelöscht und jetzt frisch begonnen… was kann ich tun, um diesen Netcat-Verbindungstest zum Laufen zu bringen? Vielleicht löst das auch die anderen Probleme…
(Entschuldigung für mein schreckliches Englisch… - ich bin kein Muttersprachler…)
Ich habe es noch einmal ohne Netcat versucht - das Build endet mit dieser Meldung…
docker: Error response from daemon: driver failed programming external connectivity on endpoint app (80e0a31158301339ff7c9567079017bb795b1172ee47e1c6417c29acda3c699a): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.17.0.2:443 ! -i docker0: Warning: Extension tcp revision 0 not supported, missing kernel module?
Warning: Extension DNAT revision 0 not supported, missing kernel module?
iptables: No chain/target/match by that name.
Sie müssen Nginx für eine Standardinstallation entfernen. Discourse enthält sein eigenes Nginx, sodass Sie kein weiteres benötigen (es sei denn, Sie möchten aus einem anderen Grund eines, was die Installation komplizierter macht).
Das Skript versucht, eine Verbindung zu sich selbst über Ihren Domainnamen herzustellen. Wenn der Domainname auf Ihre VM zeigt, sollte es in der Lage sein, sich über diesen Hostnamen zu kontaktieren, vorausgesetzt, die DNS-Einstellungen sind korrekt und nichts anderes verwendet die Ports 443 und 80.
Wenn Sie die Prüfung mehrmals umgehen, erreichen Sie die Grenzwerte für die Anzahl der Versuche, ein HTTPS-Zertifikat von Let’s Encrypt zu erhalten.
Ich möchte eine Multisite-Einrichtung – also benötige ich die Reverse-Proxy-Sache… aber für jede weiterführende Anleitung, die ich hier gefunden habe – benötige ich zuerst eine funktionierende Basisinstallation.
Gibt es irgendwo eine manuelle Installationsanleitung – oder muss die Maschine wirklich zuerst komplett reduziert werden, um sie später aufzubauen…?
Discourse sollte nicht die einzige Software sein, die auf dieser Maschine läuft… und ich möchte nur eine Vorstellung davon bekommen, wie ich sie auf ihrer eigenen Ebene halten kann – während ich über eine öffentliche Proxy-Ebene darauf zugreife…
Da dies sowieso eine Wegwerfmaschine ist, werde ich es auf jeden Fall versuchen… es ist das erste Mal überhaupt, dass ich es für eine Webanwendung tun muss, nur weil es “einfach gehalten” werden soll…
Nun, Sie richten vhost wie gewöhnlich in „äußerem“ Nginx ein, indem Sie proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:; verwenden und dort natürlich SSL beenden.
Dann müssen Sie in app.yml Port-Umleitungen und Let’s Encrypt auskommentieren und stattdessen Socket verwenden.
Wenn Sie Nginx neu starten und Discourse neu erstellen, erhalten Sie ein offenes Forum