I am installing this on the production server, which I already have a website running on port 80.
How do I specify a different port to install Discourse?
Currently it won’t let me install and says:
# ./discourse-setup
Port 80 appears to already be in use.
If you are trying to run Discourse simultaneously with another web
server like Apache or nginx, you will need to bind to a different port
See https://meta.discourse.org/t/17247
However the above link says “assumes you already have Discourse working”, but I don’t.
Yes, that does appear to be something of a chicken-and-egg problem… what the discourse-setup script does, more-or-less, is just copy samples/standalone.yml to containers/app.yml and edit a bunch of stuff in response to your answers to a bunch of questions. You can do the same thing yourself – copy the file, edit to suit. It’s how all installs used to be done before @codinghorror decided he wanted to show he could write bash scripts with the best of 'em.
what is it that actually isn’t working when using different ports? did it some months ago for a little test install and can’t see any issues …
now would have to do a more serious installation and am not sure if i should bother doing the nginx-proxy-thing or just change the ports as i did with the other…
It breaks some parts, and since isn’t a priority for us (you can just use a reverse-proxy + subdomain or subfolder) we won’t be spending time to add support for this.
well, what are these parts? i still couldn’t uncover any…
and for me at least - on a plesk managed server where it’s a bit harder to see what’s actually happening behind the scenes - this reverse-proxying so far seems over my head… and from what i found so far most plesk related howtos and threads essentially end up using different ports as well…
That’s mostly unknown, but when you use a port and find out that it didn’t work, you’ll know. And then you can’t get help here, because it’s not supposed to work.
Gilt das im Jahr 2020 immer noch, dass Discourse nicht auf einem anderen Port als 80/443 installiert werden kann oder sollte? Oder wurde dieses Problem schließlich behoben?
Die Installation von nginx scheint eine ziemlich große Sache zu sein, um ein so einfaches Problem zu lösen! Bei den meisten Softwareprodukten kann man einfach den Port angeben, an den sie binden sollen. Und ich sehe die HTTP-/HTTPS-Ports in der app.yml-Datei.
Es ist etwas weit hergeholt, dies als Problem zu bezeichnen; heutzutage gibt es sehr wenige Gründe, irgendetwas auf nichtstandardmäßigen Ports laufen zu lassen. Es ist leicht, mit nginx/traefik zu proxyen, und kostenlose SSL-Zertifikate sind allgegenwärtig.
Könntest du vielleicht näher erläutern, warum es ein Problem ist?
Da der K-12-Schulserver, auf dem ich es installieren möchte, einschränkt, welche Software ich installieren und an welche Ports ich binden kann. Und dieser Server betreibt bereits Apache auf den Ports 80, 443 und 8080 für andere Dienste, die die Schule nutzt.
Ich kann mir nicht vorstellen, warum eine Linux-Server-Software in dieser Zeit und in diesem Alter keine Port-Definition in einer Konfigurationsdatei unterstützen würde, damit Benutzer den Port ändern können. Das machen alle Software, an die ich denken kann, von den Zeiten von Telnet und FTP bis hin zu modernem SSH, Apache usw.
Sicher, damals war es schwieriger, mehrere IP-Adressen auf einem Host unterzubringen, und die Konfiguration von Host-Headern war komplizierter.
Heute kannst du ein einzelnes SAN-Zertifikat mit einer Reihe von Domains konfigurieren und einen Reverse-Proxy verwenden, um den Verkehr an verschiedene Sockets weiterzuleiten – alles für gratis .
Die Zeit, in der Apps auf nichtstandardisierten Ports laufen mussten, ist längst vorbei.
Mir wurde die Erlaubnis erteilt, ein einzelnes Server-Paket zu installieren, sowie einen einzelnen Port, den wir zum Testen von Discourse nutzen können. Zu sagen, dass wir andere Teams auf Ebene des Schulvorstands einbeziehen müssen, weil ich zusätzliche Reverse-Proxy-Software installieren muss, da Discourse fest codiert ist, um an einem Port zu binden, der bereits von einem anderen Team genutzt wird, wäre ein Deal-Breaker. Sie werden solche Änderungen niemals genehmigen.
Dann wären Ihre einzigen Optionen eine Installation außerhalb der Site oder die Suche nach einem anderen Produkt. Ein VPS für 5 $ würde es Ihnen ermöglichen, Discourse umfassend zu testen. Vielleicht können Sie sogar eine kostenlose Testversion erhalten.
Es könnte sich lohnen, sie über einige der Trends aufzuklären, die viele Projekte übernehmen. Automatisierte Installationen mit Technologien wie Docker und standardmäßigen Port-Abhängigkeiten werden mittlerweile zum Standard.
Wir bieten allen Schulen eine dreimonatige, unverbindliche Testphase an, siehe COVID-19 and Discourse
Sie können diese einfach für Ihre Testzwecke nutzen. Falls Sie am Ende gezwungen sein sollten, selbst zu hosten, ist das kein Problem. Sie können Ihre Daten mitnehmen.
Als Elternteil, das in diesen COVID-19-Zeiten versucht, einer lokalen K-12-Schule zu helfen, ist es unwahrscheinlich, dass ich einen gesamten Schulrat überzeugen kann, die Funktionsweise ihrer IT-Infrastruktur zu ändern.
Was die Aufklärung der Menschen über die Übernahme von Trends angeht, die andere nutzen, empfehle ich eine unterstützte „Port“-Option, wie sie auch von anderer Linux-Server-Software unterstützt wird, damit die Leute den TCP-Port einfach ändern können, ohne zusätzliche Reverse-Proxies installieren zu müssen.
Danke für den COVID-19-Link, Sam. Ich werde sie darauf hinweisen. Ich kann mir nicht vorstellen, dass mir weitere Änderungen an ihrem Server erlaubt werden, also hoffe ich, dass sie diesen Weg gehen werden.
Ich war früher Universitätsprofessor und habe das die ganze Zeit versucht. Ich weiß, wovon du sprichst. Die einfachste Lösung wäre, alles extern zu hosten. Hoffentlich haben sie genug Bandbreite und es gibt keine Vorschriften, die verlangen, dass Daten auf dem Campus gespeichert werden müssen.
Wenn du lieber selbst hosten möchtest, anstatt das von cdck angebotene Hosting zu nutzen, biete ich eine kostenlose Installation auf Digital Ocean mit Mailgun an. Es wird wahrscheinlich einfacher sein, deine eigene Domain zu registrieren, es sei denn, die Technikexperten sind bereit, eine ganze Reihe von DNS-Einträgen für dich zu erstellen.
Ich glaube, wir haben das Zeitfenster verpasst, um das zu erledigen. Der Schulleiter hat das Projekt jetzt gestrichen und gesagt, dass Lösungen vom Schulrat kommen müssen, und ich kann dies nicht auf dem Server installieren. Es hat sich trotzdem gelohnt, es zu versuchen. Offenbar prüft der Schulrat, Microsoft Teams als Lösung einzusetzen.