Wie man Discourse Forum mit Docker auf CentOS 8 installiert
Discourse ist eine freie und Open-Source-Plattform, die für das nächste Jahrzehnt des Internets gebaut wurde. Es ist eine moderne Forensoftware, die als Mailingliste, Diskussionsforum, Longform-Chatroom und mehr verwendet werden kann. Es verwendet Ruby on Rails für das Backend, Ember.js für das Frontend, PostgreSQL als Datenspeicher und Redis als Caching-Server. Es ist einfach, effizient, mobilfreundlich, anpassbar und macht Online-Diskussionen einfach und unterhaltsam.
In diesem Tutorial zeigen wir Ihnen, wie Sie das Discourse-Forum mithilfe von Docker auf einem CentOS 8-Server installieren.
Voraussetzungen
- Ein Server, auf dem CentOS 8 läuft.
- Ein gültiger Domain-Name, der auf die IP des Servers zeigt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Docker installieren
Zunächst müssen Sie Docker auf Ihrem Server installieren. Standardmäßig ist Docker nicht im Standard-Repository von CentOS 8 verfügbar. Sie müssen also das offizielle Docker-Repository zu Ihrem System hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Sobald das Repo erstellt ist, installieren Sie Docker mit dem folgenden Befehl:
dnf install docker-ce --nobest
Starten Sie nach der Installation von Docker den Docker-Dienst und aktivieren Sie ihn mit dem folgenden Befehl, damit er beim Neustart des Systems gestartet wird:
systemctl start docker systemctl enable docker
Sie können nun die Docker-Version mit dem folgenden Befehl überprüfen:
docker --version
Sie sollten die folgende Ausgabe sehen:
Docker version 20.10.1, build 831ebea
Discourse installieren
Erstellen Sie zunächst ein Verzeichnis für Discourse mit dem folgenden Befehl:
mkdir /opt/discourse
Als nächstes laden Sie die neueste Version von Discourse aus dem Git-Repository mit folgendem Befehl herunter:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Wechseln Sie anschließend in das Verzeichnis Discourse und installieren Sie Discourse mit dem folgenden Befehl:
cd /opt/discourse ./discourse-setup
Sie werden aufgefordert, Ihren FQDN wie unten gezeigt anzugeben:
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
Geben Sie Ihren gültigen Domainnamen ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, Ihre gültige E-Mail-Adresse und Ihr Passwort einzugeben:
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?
Geben Sie alle Details ein und drücken Sie die Eingabetaste. Sie müssen die gesamte Einrichtung wie unten gezeigt überprüfen:
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:
Wenn alles in Ordnung ist, drücken Sie die Eingabetaste, um die Installation zu starten. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:
+ /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
Sie können nun den laufenden Discourse-Container mit folgendem Befehl verifizieren:
docker ps
Sie sollten die folgende Ausgabe sehen:
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
Zugriff auf Discourse Web UI
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://discourse.linuxbuz.com ein. Sie werden zum Einrichtungsbildschirm von Discourse weitergeleitet:
Klicken Sie auf die Schaltfläche Registrieren. Sie sollten die Registrierungsseite sehen:
Geben Sie Ihre E-Mail, Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche “ Registrieren“. Sie sollten eine E-Mail erhalten, um Ihren Account zu aktivieren.
Fazit
Herzlichen Glückwunsch! Sie haben die Forensoftware Discourse erfolgreich auf CentOS 8 installiert. Sie können nun Discourse auf weitere Funktionen untersuchen und in der Produktionsumgebung einsetzen. Wenn Sie Fragen haben, können Sie sich gerne an mich wenden.