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.
Est-ce toujours le cas en 2020, à savoir que Discourse ne peut pas ou ne devrait pas être installé sur un port autre que 80/443 ? Ou ce problème a-t-il finalement été résolu ?
Installer nginx semble être une opération bien trop lourde pour résoudre un problème aussi simple ! La plupart des logiciels permettent simplement de spécifier le port sur lequel ils doivent se lier. Et je vois bien les ports http/https dans app.yml.
C’est un peu exagéré de qualifier cela de problème ; il y a très peu de raisons d’exécuter quoi que ce soit sur des ports non standard de nos jours. Il est désormais facile de configurer un proxy avec nginx ou Traefik, et les certificats SSL gratuits sont omniprésents.
Pourriez-vous peut-être préciser pourquoi cela constitue un problème ?
Parce que le serveur scolaire K-12 sur lequel je tente de l’installer limite les logiciels que je peux installer et les ports auxquels je peux me lier. De plus, ce serveur exécute déjà Apache sur les ports 80, 443 et 8080 pour d’autres services gérés par l’établissement.
Je ne comprends pas pourquoi, à notre époque, un logiciel de serveur Linux ne permettrait pas de définir le port dans un fichier de configuration afin que les utilisateurs puissent le modifier. C’est ce que fait tout le logiciel auquel je peux penser, depuis les époques du telnet et du FTP jusqu’à l’SSH, Apache, etc., à l’ère moderne.
Bien sûr, à l’époque où il était plus difficile d’obtenir plusieurs adresses IP sur un hôte et où la configuration des en-têtes d’hôte était plus complexe.
Aujourd’hui, vous pouvez configurer un seul certificat SAN avec une multitude de domaines et utiliser un proxy inverse pour acheminer le trafic vers différents sockets, le tout gratuitement free .
Les jours où il fallait exécuter des applications sur des ports non standard sont longtemps révolus.
On m’a donné la permission d’installer un seul package serveur et d’utiliser un seul port pour tester Discourse. Leur dire que nous devons impliquer d’autres équipes au niveau du conseil scolaire, car je dois installer un autre logiciel de proxy inverse, puisque Discourse est codé en dur pour se lier à un port déjà utilisé par une autre équipe, est un point de blocage. Ils n’autoriseront jamais de tels changements.
Dans ce cas, vos seules options seraient de l’installer hors site ou peut-être de chercher un produit différent. Un VPS à 5 $ vous permettrait de tester Discourse de manière approfondie. Vous pourriez même obtenir une période d’essai gratuite.
Il pourrait être utile de les informer sur certaines des tendances adoptées par de nombreux projets. Les installations automatisées utilisant des technologies telles que Docker et des dépendances de ports standard deviennent désormais la norme.
Nous offrons une période d’essai de 3 mois sans engagement pour toutes les écoles, selon COVID-19 and Discourse
Vous pouvez simplement en profiter pour vos besoins d’essai. Si vous êtes contraint de l’héberger vous-même à la fin, ce n’est pas un problème. Vous pourrez emporter vos données.
En tant que parent essayant d’aider une école locale du primaire au secondaire en ces temps de COVID-19, convaincre un conseil scolaire entier de modifier le fonctionnement de son infrastructure informatique est… peu probable.
En ce qui concerne la sensibilisation des personnes à l’adoption des tendances en cours, je recommande de proposer une option de « port » prise en charge, comme le font tous les autres logiciels de serveur Linux, afin que les utilisateurs puissent facilement changer le port TCP sans avoir à installer de reverse proxy.
Merci pour le lien sur le covid-19, Sam. Je vais les informer. Je ne peux pas imaginer qu’on me permette d’apporter d’autres modifications à leur serveur, alors j’espère qu’ils emprunteront cette voie.
J’ai été professeur à l’université et j’ai essayé de faire cela tout le temps. Je sais de quoi vous parlez. La solution la plus simple sera de l’héberger à l’extérieur. Espérons qu’ils aient la bande passante nécessaire et qu’aucune règle n’exige que les données soient stockées sur le campus.
Si vous préférez l’hébergement autonome plutôt que l’hébergement chez cdck comme proposé, je vous offrirai une installation gratuite sur DigitalOcean avec Mailgun. Il sera probablement plus facile d’enregistrer votre propre domaine, à moins que les spécialistes de la technologie ne soient disposés à créer un grand nombre d’enregistrements DNS pour vous.
Je pense que nous avons manqué notre chance de réaliser cela. Le directeur a maintenant annulé ce projet, indiquant que les solutions doivent provenir du conseil scolaire et que je ne peux pas l’installer sur le serveur. Cela valait la peine d’essayer. Apparemment, le conseil scolaire examine l’utilisation de Microsoft Teams comme solution.