Como especificar uma porta diferente (não 80) durante a instalação?

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.

Isso ainda é o caso em 2020, que o Discourse não pode ou não deve ser instalado em uma porta diferente de 80/443? Ou esse problema foi eventualmente resolvido?

Instalar o nginx parece ser algo muito grande para lidar com uma questão tão simples! A maioria dos softwares permite simplesmente especificar a porta na qual ele precisa se vincular. E eu vejo as portas http/https no app.yml.

Sim, uma porta não padrão ainda é uma configuração de produção não suportada.

É um pouco forçado chamar isso de problema; hoje em dia, há muito poucos motivos para executar algo em portas não padrão. É fácil fazer proxy com nginx/traefik agora, e certificados SSL gratuitos são onipresentes.

Você poderia talvez elaborar sobre por que isso é um problema?

Como o servidor da escola K-12, onde estou tentando instalá-lo, limita quais softwares posso instalar e em quais portas posso vincular. E esse servidor já executa o Apache nas portas 80, 443 e 8080 para outros serviços oferecidos pela escola.

Não consigo imaginar por que, nos dias de hoje, um software de servidor Linux não suportaria a definição de porta em um arquivo de configuração, para que as pessoas possam alterá-la. É isso que todo o software que consigo pensar faz, desde os tempos antigos do telnet e FTP até os dias atuais com SSH, Apache, etc.

Claro, era mais difícil obter vários endereços IP em um único host, e a configuração de host-header era mais complicada.

Agora, você pode configurar um único certificado SAN com uma série de domínios e usar um proxy reverso para encaminhar o tráfego para diferentes sockets, tudo isso de :money_with_wings:grátis :money_with_wings:.

Os dias em que era necessário executar aplicativos em portas não padrão já estão há muito mortos.

Fui autorizado a instalar um pacote de servidor único e a usar uma única porta para testar o Discourse. Informar que precisamos envolver outras equipes no nível da diretoria escolar, pois preciso instalar outro software de proxy reverso — já que o Discourse está programado para se vincular a uma porta que já está sendo usada por outra equipe — é um impeditivo. Eles nunca autorizarão tais alterações.

Nesse caso, suas únicas opções seriam instalá-lo em outro servidor ou talvez procurar um produto diferente. Um VPS de US$ 5 permitiria que você testasse o Discourse extensivamente. Você até pode conseguir um período de avaliação gratuito.

Pode valer a pena educá-los sobre algumas das tendências que muitos projetos estão adotando. Instalações automatizadas usando tecnologias como Docker e dependências de portas padrão estão se tornando a norma hoje em dia.

Oferecemos um teste de 3 meses sem compromisso para todas as escolas, conforme descrito em COVID-19 and Discourse

Você pode simplesmente aproveitar isso para fins de teste e, se for obrigado a fazer o auto-hospedagem no final, não há problema. Você leva seus dados consigo.

Como pai tentando ajudar uma escola local do ensino fundamental e médio nestes tempos de COVID-19, tentar convencer todo um conselho escolar de que eles precisam mudar a forma como sua infraestrutura de TI funciona é… improvável.

Quanto a educar as pessoas sobre a adoção de tendências que estão sendo utilizadas, recomendo oferecer uma opção de “porta” suportada, como todo o outro software de servidor Linux suporta, para que as pessoas possam alterar facilmente a porta TCP sem precisar também instalar proxies reversos.

Obrigado pelo link sobre a covid-19, Sam. Vou avisá-los. Não imagino que me permitam fazer mais modificações no servidor deles, então espero que sigam por esse caminho.

Eu já fui professor universitário e tentei fazer isso o tempo todo, então sei do que você está falando. A solução mais fácil será hospedar externamente. Esperemos que eles tenham banda larga e não haja regras exigindo que os dados sejam armazenados no campus.

Se preferir hospedar você mesmo em vez de usar a hospedagem oferecida pela cdck, posso fornecer uma instalação gratuita no Digital Ocean com o Mailgun. Provavelmente será mais fácil registrar seu próprio domínio, a menos que os profissionais de TI estejam dispostos a criar várias registros DNS para você.

Obrigado pela oferta.

Acho que perdemos a janela de oportunidade para realizar isso. O diretor acabou de cancelar o projeto, dizendo que as soluções precisam vir do conselho escolar e que não posso instalar isso no servidor. Valeu a pena tentar. Aparentemente, o conselho escolar está investigando o uso do Microsoft Teams como solução.