Discourse è una piattaforma gratuita e open source creata per il prossimo decennio di Internet. È 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 back-end, Ember.js per il front-end, PostgreSQL come archivio dati e Redis come server di memorizzazione nella cache. È semplice, efficiente, ottimizzato per i dispositivi mobili, personalizzabile e rende le discussioni online facili e divertenti.
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.
Installa Docker
Innanzitutto, dovrai installare Docker nel 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:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Una volta creato il repository, installa Docker eseguendo il comando seguente:
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:
systemctl start docker
systemctl enable docker
Ora puoi verificare la versione Docker utilizzando il seguente comando:
docker --version
Dovresti vedere il seguente output:
Docker version 20.10.1, build 831ebea
Installa Discourse
Innanzitutto, crea una directory per Discourse con il seguente comando:
mkdir /opt/discourse
Quindi, scarica l'ultima versione di Discourse dal repository Git utilizzando il seguente comando:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Quindi, cambia la directory 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.linuxbuz.com
Fornisci il tuo nome di dominio valido e premi Invio. Ti verrà chiesto di fornire il tuo indirizzo email e password validi:
Checking your domain name . . . Connection to discourse.linuxbuz.com 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.linuxbuz.com 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 è a posto, premi 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.linuxbuz.com -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 02:e0:37:60:d3:09 local_discourse/app /sbin/boot ab3bdf3c169d47d9ff06052f48ff078d46393f1152b651b9fd3354594cc38714
Ora puoi verificare il contenitore in esecuzione Discourse con il seguente comando:
docker ps
Dovresti vedere il seguente output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ab3bdf3c169d local_discourse/app "/sbin/boot" 22 seconds ago Up 21 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Accedi all'interfaccia utente Web del discorso
Ora apri il tuo browser web e digita l'URL https://discourse.linuxbuz.com . Verrai reindirizzato alla schermata di configurazione del discorso:
Fai clic su Registrati pulsante. Dovresti vedere la pagina di registrazione:
Fornisci la tua email, nome utente, password e fai clic su Registrati pulsante. Dovresti ricevere un'email per attivare il tuo account.
Conclusione
Congratulazioni! hai installato correttamente il software del forum Discourse su CentOS 8. Ora puoi esplorare Discourse per ulteriori funzionalità e distribuirlo nell'ambiente di produzione. Sentiti libero di chiedermi se hai domande.