Ciao a tutti! Ho provato un paio di volte a far funzionare Discourse su Google Cloud. Attualmente sono al terzo tentativo con la creazione di un’istanza VM (Ubuntu 18.04 minimal) e l’installazione manuale di Discourse tramite terminale. Seguendo la guida, tutto sembra andare bene, ma dopo aver completato ./discourse-setup, non riesco ad accedere al sito.
Ho anche provato a installare Discourse con le soluzioni di distribuzione “One-click” del Marketplace di Google (quella ufficiale di Google e quella di Bitnami). In questo modo, sono riuscito ad accedere alla pagina di atterraggio di Discourse.
Sospetto che ci sia qualche problema con Google e le porte (e che questo problema sia stato evitato con le installazioni pronte all’uso), ma so troppo poco su tutto questo per debuggarlo da solo. Avete qualche idea?
Potrebbe essere correlato al firewall?
Secondo la mia comprensione, G Cloud richiede di selezionare due caselle di controllo per consentire l’accesso pubblico a una VM. La stessa configurazione può essere effettuata in un secondo momento, se necessario.
Sto iniziando a pensare che forse non sto eseguendo un server web? Devo installare Nginx prima o dopo Discourse, o qualcosa del genere? Seguendo un ragionamento da questo thread, identico al mio problema.
Ok, sto iniziando a pensare che questo sia il problema. Sembrava che Nginx fosse installato, ma non era in esecuzione. Ho terminato i PID 14311 e 14295 di docker-proxy, poi ho avviato Nginx. Ora Nginx è associato alla porta 80 e quando accedo al mio sito, sono accolto da Nginx!
Ora devo far ripartire Docker/Discourse.
Ho anche trovato questa guida sull’installazione di Discourse/Nginx su una versione più vecchia di Ubuntu. Sembra che abbiano cambiato la porta per Docker, dalla porta 80 per qualche motivo. Forse c’è qualche conflitto qui.
In qualche modo sono riuscito ad avere sia Nginx in esecuzione sulla porta 80, sia docker-proxy in ascolto sulle porte 8060 per HTTP e 9443 per HTTPS (come suggerito da un altro tutorial). Ma dopo aver raggiunto questo risultato, ora sono di nuovo perso. Discourse sembra un forum così bello, ma apparentemente impossibile da installare su Google Cloud per principianti come me.
Non è necessario eseguire un server web dedicato a meno che non si intenda utilizzare il server per scopi diversi dall’hosting di Discourse, dato che Discourse include già un server nginx integrato. Potresti confermare che il tuo server abbia un indirizzo IP pubblico e che sia configurato per consentire connessioni esterne alle porte 22, 80 e 443?
Sì. La mia istanza VM su Google ha un indirizzo IP pubblico e consente il traffico sulle porte 22, 80 e 443.
Penso che questo sia stato dimostrato anche quando ho terminato i processi PIDs di docker-proxy (sulle porte 80 e 443), ho avviato Nginx (sulla porta 80) e sono riuscito ad accedere alla pagina di atterraggio di Nginx sul mio sito.
Quindi indica che c’è qualcosa di sbagliato nell’installazione stessa. Se si tratta di un’installazione nuova, è probabilmente più semplice distruggere la VM e configurarla di nuovo.
L’ho effettivamente installato già tre volte, e ogni volta le porte risultano non assegnate. Ho completato tre installazioni riuscite, ma non sono mai riuscito ad accedere al forum. Quindi sto valutando di usare semplicemente la versione di Google (che funziona, ma non mi permette di configurare SMTP) e poi trovare un modo per impostare SMTP partendo dalla versione di Google.
Posso configurare SMTP dopo aver completato l’installazione?
Seguendo il “Passo 11” in questo link, ho potuto [creare, se non esisteva, e] modificare il file discourse.conf. Dopo averlo fatto, sembrerebbe che potessi riavviare il “servizio discourse” e testare le mie impostazioni di posta elettronica?
Quindi significa che non devo reinstallare Discourse, corretto?
Guardando i servizi in esecuzione, tuttavia, non vedo nulla chiamato “discourse”, anche se il mio forum Discourse è ovviamente attivo e funzionante.
Mi dispiace, non ho la minima idea di come sia configurata l’immagine di Google Cloud. Ho eseguito più di una dozzina di installazioni (inclusa una la settimana scorsa) e sono abbastanza sicuro che il problema sia legato al modo in cui è configurata la tua VM.
Questi sono i passaggi di preparazione che eseguo prima di seguire la guida ufficiale di installazione:
Configurare Compute Engine per consentire il traffico HTTP e HTTPS.
Configurare il DNS e verificarne il corretto funzionamento.
Assicurarsi della connettività alla propria VM tramite SSH.
Posso garantire che il processo funziona.
PS: In genere utilizzo la versione minimal di Ubuntu su Google Cloud per installare Discourse.
Mmh, strano. Ma grazie per aver confermato che è effettivamente possibile su Google Cloud. Penso anche che l’installazione di Discourse vada bene, e che il problema sia la VM o le porte. Domani farò un quarto tentativo, anche se ho eseguito questi passaggi di preparazione ogni volta. Grazie, Bhanu.
Ci guardo subito. Ho appena rimosso le vecchie istanze e il progetto, e ho avviato un nuovo progetto e una nuova istanza su Google Cloud. Ora proverò a installare Discourse e vi farò sapere quali porte ho controllato!
Ho ripetuto lo stesso processo un’altra volta, ma questa volta sono stato più attento a ogni passaggio.
Ho eliminato la mia istanza e il progetto su Google Cloud e ho iniziato con un nuovo progetto.
Ho quindi creato un nuovo progetto e una nuova istanza: Ubuntu 18.04 LTS minimal. HTTP/HTTPS abilitati. Prima di seguire la guida ufficiale, linkata sopra, ho fatto come ha detto Bhanu e ho testato la connettività. Ho seguito il “tutorial di benvenuto” di Google Cloud, che include anche la prova di uno script server Python sulla porta 80, ecc.
Durante il processo della “guida ufficiale”, sono stato molto attento nella configurazione di SMTP. Per qualche motivo ho deciso di non usare Mailgun, ma ho finito per usare Sendinblue. Funziona benissimo!
Non so davvero qual è stata la differenza questa volta, ma ora funziona. Grazie per aver discusso con me nel thread!
Non so perché non riesco a modificare il mio post precedente, ma il moderatore potrebbe unirli.
Volevo solo aggiungere che penso che il mio problema e la soluzione POTREBBERO essere stati che ero troppo frettoloso.
A causa dell’installazione di un plugin difettoso, ho recentemente dovuto reinstallare da zero la mia istanza di Discourse. Quando ho avviato questa nuova istanza, ho ottenuto un nuovo IP. Quindi sono andato al mio servizio di hosting, ho aggiornato il mio puntatore A/DNS, che punta il mio sottodominio discourse.mydomain.com all’IP della mia istanza Google Cloud, e poi sono tornato alla mia SSH di Google Cloud per eseguire la configurazione.
Quando esegui ./discourse-setup per la prima volta, la configurazione verifica la possibilità di collegarsi alle porte 80 e 443. Ma per qualche motivo, ha nuovamente rifiutato di collegarsi alle porte 80 e 443. Ho consultato il DNS tramite who.is e il sottodominio si è risolto correttamente nell’IP e così via, ma non ha funzionato lo stesso. Ho provato a eseguire ./discourse-setup 3 volte, senza successo. Ho controllato con netstat -ltnpu, niente di particolare. Ho aspettato altri 5 minuti, l’ho eseguito una quarta volta e ora funziona.
Non riesco a modificare il mio post precedente. In realtà ho avuto problemi durante la reinstallazione. Questa volta ho anche aggiunto le seguenti autorizzazioni nel mio firewall:
Penso che non sia necessario configurare alcuna regola in uscita, poiché tutte le porte sono aperte per impostazione predefinita, tranne la porta 25 che è sempre bloccata.