Introduzione
Discourse è un software gratuito e open source tramite il quale potrai creare una community online basata su forum di discussione online e chat room. Il punto di forza di questa piattaforma, sempre più utilizzata dai gamer, sta negli strumenti a disposizione per la creazione di contenuti accessibili dalla community.
Sfruttando le potenzialità di Discourse si può creare un ambiente nel quale tutti gli utenti possono comunicare a voce, via messaggi, o in video all'interno delle chat room, suddivise sulla base di diverse aree tematiche. Si possono creare anche delle stanze private dove solo alcuni membri autorizzati possono accedere.
In questo tutorial vedrai come installare il software Discourse sul tuo Cloud Server con Ubuntu 18.04, utilizzando un container Docker.
Installazione di Git e Docker
In questo tutorial Discourse non verrà installato direttamente sul tuo server, bensì sarà eseguito all’interno di un Container Docker, in maniera tale che sia eseguito in un ambiente isolato e ottimizzato.
Docker non risiede nativamente in Ubuntu quindi è necessario installarlo. Stessa cosa vale per Git, il quale servirà per scaricare l’immagine di Discourse direttamente dal repository ufficiale e per effettuare una ricerca di aggiornamenti di Discourse prima che questo venga avviato (a tua discrezione).
Puoi procedere all’installazione di entrambi eseguendo i seguenti comandi:
sudo apt install git apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
sudo apt update
sudo apt install docker-ce
L’installazione di entrambi gli strumenti necessari è terminata. A differenza di Git, che è utilizzato nel momento stesso in cui viene richiamato il relativo comando, Docker funziona in background.
Puoi verificare che Docker sia in esecuzione digitando:
sudo systemctl status docker
Se Docker risulta attivo, come nello screenshot riportato sopra, puoi proseguire con il prossimo passaggio del tutorial. Qualora invece non fosse attivo, ti basterà abilitarlo mediante il comando:
sudo systemctl start docker
Installazione di Discourse
Proprio perchè Discourse non viene installato direttamente sul tuo sistema è necessario munirsi di un “file immagine” contenente i file di configurazione per la creazione del Container Docker per Discourse.
Crea quindi una cartella in /var/discourse e scarica al suo interno il file immagine direttamente dal repository ufficiale:
sudo mkdir /var/discourse
sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
Scaricata l’immagine, devi avviare lo script di setup:
sudo ./discourse-setup
Ti verrà richiesto di specificare alcuni parametri:
- Hostname for your Discourse: indirizzo da utilizzare per collegarsi al tuo Discourse
- Indirizzo email dell’amministratore
- Indirizzo SMTP del tuo gestore di posta elettronica
- Porta SMTP del tuo gestore di posta elettronica
- Indirizzo email da utilizzare per l’account amministratore
- Attenzione: i parametri indicati in precedenza devono essere validi per questo indirizzo email. Se per esempio hai specificato parametri SMTP di Gmail, non puoi inserire alcun indirizzo email il cui dominio non sia gestito da Google.
- Password per l’account Discourse
- Specificare se criptare o meno le email dell’account amministratore per avere maggiore sicurezza.
Dopo aver inserito queste informazioni inizierà un processo automatico di download e configurazione che potrebbe durare alcune decine di minuti, a seconda dell’hardware del server e della connessione a disposizione.
Al termine dello script la fase di configurazione di Discourse è quasi terminata. Verifica che il container creato sia in esecuzione digitando:
sudo docker container ls -a
Registrazione dell'account Discourse
A questo punto collegati con il tuo browser all’indirizzo indicato in "Hostname for your Discourse" per la tua community Discourse.
Se tutto è stato configurato correttamente, visualizzerai una pagina di benvenuto di Discourse tramite la quale potrai procedere con la registrazione del tuo account amministratore.
Dopo aver cliccato su “Register” ti apparirà un form da compilare con questi campi:
- Email: inserisci lo stesso indirizzo email dell'amministratore utilizzato in precedenza nel setup di Discourse.
- Username: inserisci un nome utente a tua scelta
- Password: inserisci una password a tua scelta.
Clicca quindi su ‘Register’ alla fine del form.
Adesso devi controllare nella tua casella di posta poichè ti sarà stata inviata un'email contenente un link per la verifica del tuo indirizzo email. Qualora non dovesse arrivarti nessuna email di attivazione, puoi cliccare su ‘Resend Activation Email’ per richiedere l'invio di un’altra email.
Successivamente alla convalida dell’indirizzo email si avvierà un wizard tramite il quale poter configurare altre impostazioni di Discourse.
N.B. Questa operazione non è necessario completarla subito: puoi infatti rimandare cliccando su ‘Maybe Later’ e configurare i diversi parametri delle impostazioni in un secondo momento.
Indipendentemente dal fatto che tu completi subito la configurazione o che decida di farlo dopo, appena avviato Discourse troverai dei Topics tra cui uno chiamato “READ ME FIRST: Admin Quick Start Guide” contenente trucchi e consigli per la configurazione e personalizzazione di Discourse.
Conclusioni
Discourse risulta ora correttamente funzionante sul server e i tuoi utenti sono pronti a potersi registrare alla tua community.
Ogni qualvolta vorrai avviarlo ti basterà digitare:
cd /var/discourse
git pull
./launcher rebuild app
La seconda istruzione effettua una ricerca di aggiornamenti tramite Git, procedura che raccomandiamo sempre di effettuare, anche se non fondamentale per l’avvio di Discourse.
Questa operazione può essere comunque fatta mediante interfaccia grafica recandosi all’indirizzo
http://discourse.your_domain.com/admin/upgrade (sostituisci ‘your_domain’ con il tuo dominio) e cliccando su “Upgrade to the Latest Version”.
.png.aspx;)