¿Cómo especificar un puerto diferente (que no sea el 80) durante la instalación?

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. :grinning:

Just bear in mind that running on a different port that 80 and 443 isn’t really supported, and there will be some things broken.

If you really need to reuse the server you can set nginx in front to proxy request between discourse and he other site. There’s an howto for that.

Thank you for the answers!

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…

tia,
markus.

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… :roll_eyes:

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.

Your best bet is to install on a separate server.

¿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.

Sí, un puerto no predeterminado sigue siendo una configuración de producción no compatible.

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.

¿Podrías quizás explicar por qué es un problema?

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 :money_with_wings:gratis :money_with_wings:.

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.

Ofrecemos una prueba de 3 meses sin compromisos para todas las escuelas en COVID-19 and Discourse

Puedes simplemente usarla con fines de prueba y, si al final te ves obligado a alojarlo tú mismo, no hay problema. Podrás llevarte tus datos.

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.

Gracias por la oferta.

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.