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.
¿Sigue siendo esto cierto en 2020, que Discourse no puede o no debe instalarse en un puerto distinto al 80/443? ¿O se resolvió finalmente este problema?
¡Instalar nginx parece un gran lío para solucionar un problema tan sencillo! La mayoría del software permite simplemente especificar el puerto al que debe enlazarse. Y veo los puertos HTTP/HTTPS en app.yml.
Es un poco exagerado calificarlo de problema; hoy en día hay muy pocas razones para ejecutar algo en puertos no estándar. Ahora es sencillo configurar un proxy con nginx/traefik y los certificados SSL gratuitos son omnipresentes.
Porque el servidor de la escuela de primaria y secundaria donde intento instalarlo limita el software que puedo instalar y los puertos a los que puedo enlazar. Además, ese servidor ya ejecuta Apache en los puertos 80, 443 y 8080 para otros servicios que ofrece la escuela.
No puedo imaginar por qué, en estos tiempos, un software de servidor Linux no soportaría la definición de un puerto en un archivo de configuración para que los usuarios puedan cambiarlo. Esto es lo que hace todo el software que se me ocurre, desde los días del telnet y el FTP hasta el ssh, Apache, etc., en la actualidad.
Claro, antes era más difícil obtener varias direcciones IP en un mismo host y la configuración basada en encabezados de host era más complicada.
Ahora puedes configurar un único certificado SAN con una lista de dominios y usar un proxy inverso para redirigir el tráfico a diferentes sockets, todo eso gratis .
Los días en los que era necesario ejecutar aplicaciones en puertos no estándar han pasado :long: hace mucho tiempo.
Me han dado permiso para instalar un paquete de servidor único y un único puerto que podemos usar para probar Discourse. Decirles que necesitamos involucrar a otros equipos a nivel de la junta escolar porque debo instalar otro software de proxy inverso, ya que Discourse está programado para vincularse a un puerto que ya está en uso por otro equipo, es un impedimento definitivo. Nunca autorizarán tales cambios.
Entonces, tus únicas opciones serían instalarlo fuera del sitio o buscar un producto diferente. Un VPS de 5 dólares te permitiría probar Discourse de manera exhaustiva. Incluso podrías conseguir una prueba gratuita.
Podría valer la pena informarles sobre algunas de las tendencias que muchos proyectos están adoptando. Las instalaciones automatizadas mediante tecnologías como Docker y dependencias de puertos estándar se están convirtiendo en la norma.
Como padre que intenta ayudar a una escuela local de primaria y secundaria en estos tiempos de COVID-19, convencer a todo un consejo escolar de que deben cambiar la forma en que funciona su infraestructura de TI es… poco probable.
En cuanto a educar a las personas sobre la adopción de tendencias que la gente está utilizando, recomiendo tener una opción de “puerto” compatible, como lo hace todo el software de servidores Linux, para que las personas puedan cambiar fácilmente el puerto TCP sin tener que instalar también proxies inversos.
Gracias por ese enlace sobre la COVID-19, Sam. Se lo haré saber. No me imagino que me permitan hacer más modificaciones en su servidor, así que espero que sigan ese camino.
Antes fui profesor universitario y traté de hacer eso todo el tiempo, así que sé de lo que hablas. La solución más sencilla será alojarlo externamente. Ojalá tengan ancho de banda suficiente y no existan normas que exijan que los datos se almacenen en el campus.
Si prefieres el autoalojamiento en lugar de usar el ofrecido por cdck, puedo proporcionarte una instalación gratuita en DigitalOcean con Mailgun. Probablemente sea más fácil registrar tu propio dominio, a menos que los técnicos estén dispuestos a crear una serie de registros DNS para ti.
Creo que hemos perdido la oportunidad de llevar esto a cabo. El director ha cancelado este proyecto, indicando que las soluciones deben provenir de la junta escolar y que no puedo instalar esto en el servidor. Valió la pena intentarlo. Aparentemente, la junta escolar está investigando el uso de Microsoft Teams como solución.