Discourse ist eine kostenlose Open-Source-Diskussionsplattform zum Erstellen von Community-Diskussionsforen und Mailinglisten für Ihr Team. Es ist in Ember.js und Ruby on Rails geschrieben und verwendet PostgreSQL als Datenbank-Backend. Es ist eine moderne Forenlösung, die Diskussionen auf Tausenden von Websites antreibt, um das Engagement der Benutzer zu fördern. Sie können anpassbare Fragen und Ideen erstellen und diese in beliebte Dienste integrieren.
Discourse bietet eine Vielzahl von Funktionen, darunter Spam-Blockierung, dynamische Benachrichtigungen, soziale Anmeldung, Zwei-Faktor-Authentifizierung, umfassende API, leistungsstarke Moderation, integriertes mobiles Layout und vieles mehr .
In diesem Tutorial lernen wir, wie man das Discourse-Forum mit Docker unter Ubuntu 20.04 installiert.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Ein gültiger Domainname wird auf Ihren Server verwiesen.
- Ein SMTP-Mailserver. Wenn Sie keinen E-Mail-Server haben, können Sie den Gmail-SMTP-Server verwenden.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
Installieren Sie Docker
Zunächst müssen Sie Docker in Ihrem System installieren. Standardmäßig ist die neueste Version von Docker im Standard-Repository von Ubuntu 20.04 verfügbar. Sie können es installieren, indem Sie den folgenden Befehl ausführen:
apt-get install docker.io -y
Sobald Docker installiert ist, starten Sie den Docker-Dienst und aktivieren Sie ihn beim Neustart mit dem folgenden Befehl:
systemctl start docker
systemctl enable docker
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Diskurs herunterladen
Bevor Sie beginnen, erstellen Sie ein Verzeichnis für Discourse. Sie können es mit dem folgenden Befehl erstellen:
mkdir /opt/discourse
Laden Sie als Nächstes die neueste Version von Discourse aus dem Git Hub-Repository mit dem folgenden Befehl herunter:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Als nächstes installieren Sie auch das net-tools-Paket in Ihrem System. Sie können es mit dem folgenden Befehl installieren:
apt-get install net-tools -y
Sobald die Installation abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.
Installieren und konfigurieren Sie Discourse
Wechseln Sie nun in das Verzeichnis /opt/discourse und führen Sie das Setup-Skript von Discourse mit dem folgenden Befehl aus:
cd /opt/discourse
./discourse-setup
Sie werden aufgefordert, den Hostnamen Ihres Systems wie unten gezeigt anzugeben:
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.linuxbuz.com]: discourse.linuxbuz.com
Geben Sie Ihren gültigen vollqualifizierten Domainnamen ein und drücken Sie Enter . Sie werden aufgefordert, eine E-Mail-Adresse für das Administratorkonto, den SMTP-Server, den SMTP-Benutzernamen, das SMTP-Passwort und die E-Mail-Adresse für Let's Encrypt wie unten gezeigt anzugeben:
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]: [email protected] Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected]
Geben Sie alle Details ein und drücken Sie Enter . Sie sollten die folgende Ausgabe sehen:
Does this look right? Hostname : discourse.linuxbuz.com Email : [email protected] SMTP address : smtp.gmail.com SMTP port : 587 SMTP username : [email protected] SMTP password : asdfgsd Let's Encrypt : [email protected] ENTER to continue, 'n' to try again, Ctrl+C to exit:
Drücken Sie die Eingabetaste, um die Installation zu starten. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:
Enabling Let's Encrypt web.ssl.template.yml enabled letsencrypt.ssl.template.yml enabled Configuration file at updated successfully! Updates successful. Rebuilding in 5 seconds. Building app Ensuring launcher is up to date Fetching origin Launcher is up-to-date + /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=asdfgsd -e [email protected] -h ubuntu2004-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:43:15:82:15:a7 local_discourse/app /sbin/boot 7e303b07344c3643846a03d5c2f758ec67a6aa94b2a6a399bcb2766ccd02b3c2
Das obige Setup-Skript generiert eine Konfigurationsdatei namens app.yml in discourse/containers Verzeichnis. Wenn Sie Konfigurationsänderungen vornehmen möchten, bearbeiten Sie einfach Ihre /opt/discouse/containers/app.yml Datei und führen Sie ./launcher rebuild app aus, um die Änderungen zu übernehmen.
Access Discourse-Webschnittstelle
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://discourse.linuxbuz.com ein. Sie werden zur Registrierungsseite von Discourse weitergeleitet:
Klicken Sie auf Registrieren Taste. Sie sollten die folgende Seite sehen:
Geben Sie den Benutzernamen und das Passwort für Ihr Administratorkonto ein und klicken Sie auf Registrieren Taste. Sie sollten die folgende Seite sehen:
Sie sollten eine E-Mail erhalten, um Ihr Konto zu aktivieren.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben das Discourse-Forum erfolgreich mit Docker auf dem Ubuntu 20.04-Server installiert. Ich hoffe, Sie können jetzt ganz einfach Ihr eigenes Online-Diskussionsforum mit Discourse bereitstellen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.