Problemi di installazione... (Prima esperienza di installazione di Discourse)

Ciao,

sto provando a installare Discourse per la prima volta nel modo ufficiale con lo script discourse-setup… su un VPS Arch (a scopo di test con un gruppo) - che ha una nuova installazione di nginx - l’ho fermato e disattivato per ora… per ottenere una build funzionante.

Lo script si blocca su “Checking your domain Name…” - ho guardato nello script e quella è una chiamata a “connect_to_port” - immagino che stia cercando di connettersi a una porta 443 lì… netcat è installato… se inserisco ad esempio “nc host 443” nella shell non ottengo output e non succede nulla… immagino perché nginx “esterno” non è in esecuzione - quindi non c’è nulla su quella porta… non sono sicuro di cosa faccia esattamente lo script lì.

Ho anche provato a saltare quel test, ma sembra che alla fine - dopo la build - stia provando qualcosa di simile - che non ha funzionato neanche quello. Quindi ho cancellato tutto e ho ricominciato da capo… cosa posso fare - per far funzionare questo test di connessione netcat? Forse questo risolverà anche gli altri problemi…

(Scusa per il mio terribile inglese… - non sono un madrelingua…)

Ho riprovato senza netcat - la build termina con questo messaggio…

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.

è un problema di configurazione di docker?

È necessario rimuovere nginx per un’installazione standard. Discourse include il proprio nginx, quindi non ne serve un altro (a meno che non se ne desideri uno per qualche altro motivo, il che rende l’installazione più complicata).

Lo script tenta di connettersi a se stesso utilizzando il nome del dominio. Se il nome del dominio punta alla tua VM, dovrebbe essere in grado di contattarsi tramite quel nome host, dato che il DNS è corretto e non c’è nient’altro che utilizza le porte 443 e 80.

Se si aggira il controllo un bel po’ di volte, si raggiungeranno i limiti sul numero di tentativi per ottenere un certificato https da Let’s Encrypt.

2 Mi Piace

Grazie.

Voglio una configurazione multisito, quindi ho bisogno della cosa del proxy inverso… ma per qualsiasi guida più avanzata che ho trovato qui, avrò prima bisogno di un’installazione di base funzionante.

C’è da qualche parte un manuale di installazione più manuale, o è davvero necessario ridurre completamente la macchina per poi costruirla…?

Discourse non dovrebbe essere l’unica applicazione che verrà eseguita su questa macchina… e voglio solo avere un’idea di come mantenerla sul suo livello, pur accedendovi tramite un livello proxy pubblico…

Poiché si tratta comunque di una macchina usa e getta, ci proverò sicuramente… è la prima volta che devo farlo per un’applicazione web, solo perché “per renderla facile”…

Bene, configurerai vhost come al solito in nginx “esterno” utilizzando proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:; e terminando SSL lì, ovviamente.

Quindi, in app.yml dovrai commentare i reindirizzamenti delle porte e lets encrypt e utilizzare invece il socket.

Riavviare nginx e ricostruire Discourse ti darà un forum aperto :wink:

Le istruzioni si trovano anche qui.

3 Mi Piace

Questo mi sembra totalmente utile… grazie amico :smiling_face_with_three_hearts: ci lavorerò…