Introduzione
Discourse è una piattaforma gratuita e open source. È un moderno software per forum che può essere utilizzato come mailing list, forum di discussione, chat room di lunga durata e altro ancora. Utilizza Ruby on Rails per il backend, Ember.js per il front-end, PostgreSQL come archivio dati e Redis come server di cache. È semplice, efficiente, ottimizzato per i dispositivi mobili, personalizzabile e rende la discussione online facile e divertente.
In questo tutorial, ti mostreremo come installare il forum Discourse utilizzando Docker sul server CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Un nome di dominio valido puntato all''IP del tuo server.
- Una password di root è configurata sul server.
Installare Docker
Innanzitutto, dovrai installare Docker sul tuo server. Per impostazione predefinita, Docker non è disponibile nel repository standard di CentOS 8. Quindi dovrai aggiungere il repository ufficiale Docker al tuo sistema. Puoi aggiungerlo con il seguente comando:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Una volta creato il repository, installa Docker eseguendo il seguente comando:
sudo dnf install docker-ce --nobest
Dopo aver installato Docker, avvia il servizio Docker e abilitalo all'avvio al riavvio del sistema con il seguente comando:
sudo systemctl start docker
sudo systemctl enable docker
È ora possibile verificare la versione Docker utilizzando il seguente comando:
docker --version
Dovresti vedere il seguente output:
Docker version 20.10.2, build 2291f61
Installare Discourse
Innanzitutto, crea una directory per Discourse con il seguente comando mkdir:
sudo mkdir /opt/discourse
Successivamente, scarica l'ultima versione di Discourse dal repository Git utilizzando il seguente comando:
sudo git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Quindi, cambia la directory con il comando cd in Discourse e installa il Discourse con il seguente comando:
cd /opt/discourse
./discourse-setup
Ti verrà chiesto di fornire il tuo FQDN come mostrato di seguito:
which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
Ports 80 and 443 are free for use
'samples/standalone.yml' -> 'containers/app.yml'
Found 4GB of memory and 2 physical CPU cores
setting db_shared_buffers = 1024MB
setting UNICORN_WORKERS = 4
containers/app.yml memory parameters updated.
Hostname for your Discourse? [discourse.example.com]: discourse.noviello.it
Fornisci il tuo nome di dominio valido e premi Invio. Ti verrà chiesto di fornire un indirizzo email e una password validi:
Checking your domain name . . .
Connection to discourse.noviello.it succeeded.
Email address for admin account(s)? [[email protected],[email protected]]: [email protected]
SMTP server address? [smtp.example.com]: smtp.gmail.com
SMTP port? [587]:
SMTP user name? [[email protected]]: [email protected]
SMTP password? [pa$$word]: yourpassword
Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected]
Does this look right?
Fornisci tutti i dettagli e premi Invio. Dovrai verificare tutte le impostazioni come mostrato di seguito:
Hostname : discourse.noviello.it
Email : [email protected]
SMTP address : smtp.gmail.com
SMTP port : 587
SMTP username : [email protected]
SMTP password : yourpassword
Let's Encrypt : [email protected]
ENTER to continue, 'n' to try again, Ctrl+C to exit:
Se tutto va bene, premere Invio per avviare l'installazione. Una volta completata l'installazione, dovresti ottenere il seguente output:
+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=discourse.noviello.it -e [email protected] -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e [email protected] -e DISCOURSE_SMTP_PASSWORD=yourpassword -e [email protected] -h centos8-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 01:c0:31:60:c3:04 local_discourse/app /sbin/boot
cd32342343459d43452345605224sdav2345b651b92342394cc38723
È ora possibile verificare lo stato del container di Discourse in esecuzione con il seguente comando:
docker ps
Dovresti vedere il seguente output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cd3234xdh2d5 local_discourse/app "/sbin/boot" 11 seconds ago Up 21 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Accedere all'interfaccia utente Web di Discourse
Ora apri il tuo browser web e digita l'URL https://discourse.noviello.it. Verrai reindirizzato alla schermata di configurazione Discourse.
Fare clic sul pulsante Register. Dovresti vedere la pagina di registrazione.
Fornisci la tua email, nome utente, password e fai clic sul pulsante Register. Dovresti ricevere un'e-mail per attivare il tuo account.
Conclusione
Congratulazioni! hai installato con successo il software Discourse forum su CentOS 8. Ora puoi esplorare Discourse per ulteriori funzionalità e distribuirlo nell'ambiente di produzione.