Problemas de Instalação... (Primeira Experiência de Instalação do Discourse)

Olá,

Estou tentando instalar o Discourse pela primeira vez da maneira oficial com o script discourse-setup… em um VPS Arch (para fins de teste com um grupo) - que tem uma instalação nova do Nginx - eu parei e desativei ele por enquanto… para obter uma compilação funcional.

O script trava em “Verificando seu nome de domínio…” - eu olhei o script e é uma chamada para “connect_to_port” - eu acho que ele está tentando se conectar a uma porta 443 lá… o netcat está instalado… se eu digitar, por exemplo, “nc host 443” no shell, eu não recebo nenhuma saída e nada acontece… eu acho que porque o Nginx “externo” não está rodando - então não há nada nessa porta… não tenho certeza do que o script faz exatamente ali.

Eu também tentei pular esse teste, mas parece que no final - após a compilação - ele tenta algo semelhante - que também não funcionou. Então eu deletei tudo e comecei do zero agora… o que posso fazer - para fazer esse teste de conexão netcat funcionar? Talvez isso resolva os outros problemas também…

(Desculpe pelo meu inglês horrível… - eu não sou um falante nativo…)

Eu tentei novamente sem netcat - a compilação termina com esta mensagem…

docker: Error response from daemon: driver failed programming external connectivity on endpoint app (80e0a31158301339ff7c9567079017bb795b1172ee47e1c6417c29acda3c699a): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.17.0.2:443 ! -i docker0: Warning: Extension tcp revision 0 not supported, missing kernel module? Warning: Extension DNAT revision 0 not supported, missing kernel module? iptables: No chain/target/match by that name.

isso é um problema de configuração do Docker?

Você precisa remover o nginx para uma instalação padrão. O Discourse inclui seu próprio nginx, então você não precisa de outro (a menos que queira por algum outro motivo, o que torna a instalação mais complicada).

O script tenta se conectar a si mesmo usando seu nome de domínio. Se o nome de domínio apontar para sua VM, ele deverá ser capaz de contatá-la através desse nome de host, dado que o DNS está correto e não há nada mais usando as portas 443 e 80.

Se você ignorar a verificação várias vezes, atingirá os limites de quantas tentativas pode fazer para obter um certificado https do Let’s Encrypt.

2 curtidas

Obrigado.

Eu quero uma configuração multissite - então preciso da coisa do proxy reverso… mas para qualquer guia mais avançado que encontrei aqui - precisarei primeiro de uma instalação base funcional.

Existe em algum lugar um manual de instalação mais manual - ou é realmente necessário reduzir a máquina primeiro totalmente para construir depois…?

O Discourse não deveria ser o único software a rodar nesta máquina… e eu só quero ter uma ideia de como mantê-lo em sua própria camada - enquanto o acesso - através de uma camada de proxy pública…

Como esta máquina será descartada de qualquer maneira, eu certamente tentarei… é a primeira vez que tenho que fazer isso para um aplicativo web - apenas porque “para facilitar”…

Bem, você configurará o vhost como de costume no nginx “externo” usando proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:; e terminando o SSL lá, é claro.

Em seguida, em app.yml, você terá que comentar os redirecionamentos de porta e o Let’s Encrypt e usar o socket em vez disso.

Reiniciar o nginx e reconstruir o Discourse lhe dará um fórum aberto :wink:

As instruções também podem ser encontradas aqui.

3 curtidas

Isso parece totalmente útil para mim… obrigado amigo :smiling_face_with_three_hearts: vou trabalhar com isso…