Zoeken op website

Discourse - Een modern forum voor gemeenschapsdiscussie


Discourse is gratis, open source, moderne, veelzijdige en opmerkelijke gemeenschapsgerichte forumsoftware. Het is een krachtig, betrouwbaar en flexibel platform dat wordt geleverd met een breed scala aan tools voor communitydiscussies.

Het is ontworpen voor het bouwen van communitydiscussieplatforms, mailinglijsten of chatrooms voor uw team, klanten, fans, beschermheren, publiek, gebruikers, belangenbehartigers, supporters of vrienden en het allerbelangrijkste: het integreert naadloos met de rest van uw gevestigde online platforms.

Discourse-functies:

  • Het is gemakkelijk te gebruiken, eenvoudig en plat.
  • Het wordt geleverd met een ingebouwde mobiele lay-out; heeft apps voor Android en iOS.
  • Het wordt geleverd met alle moderne forumtools en is zeer uitbreidbaar via plug-ins.
  • Ondersteunt zowel privé- als openbare gesprekken.
  • Ondersteunt doorzoekbare discussies.
  • Pas de look en feel aan met HTML- en CSS-thema's.
  • Ondersteunt e-mailmeldingen en e-mailantwoorden.
  • Ondersteunt verschillende authenticatiemethoden, zoals sociale netwerken, eenmalige aanmelding of oAuth 2.0.
  • Ondersteunt emoji's en badges.
  • Het kan worden geïntegreerd met WordPress, Google Analytics, Zendesk, Patreon, Slack, Matomo en meer.
  • Biedt webhooks en eenvoudige op JSON gebaseerde uitgebreide API's voor verdere integratie.
  • Hiermee kunnen gebruikers oplossingen als het officiële antwoord markeren.
  • Hiermee kunnen gebruikers op favoriete ideeën stemmen.
  • Hiermee kunnen gebruikers ook samen bewerken met de volledige revisiegeschiedenis.
  • Ondersteunt het toewijzen van onderwerpen aan uzelf of anderen.
  • Ondersteunt een upgrade met één klik, en wordt geleverd met snelle en nauwkeurige ondersteuning en vele andere functies.

We gebruiken Discourse sinds twee jaar ter ondersteuning van onze Linux-lezers. U kunt de Live Demo bekijken op de volgende URL voordat u deze op een Linux-systeem installeert.

Live Demo URL: http://linuxsay.com/

Vereisten:

  1. Een dedicated VPS met een geregistreerde domeinnaam
  2. Een CentOS 7-server met minimale installatie
  3. Een Ubuntu 16.04-server of Ubuntu 18.04-server met minimale installatie

Discourse is een open source-project dat kan worden geïmplementeerd op een VPS-server naar keuze.

In dit artikel leggen we uit hoe je Discourse Forum installeert en configureert via een officieel ondersteunde methode, d.w.z. met behulp van Docker image op een CentOS 7 VPS of Ubuntu VPS-server.

Stap 1: Installeer de nieuwste versie van Git en Docker

1. Er is een script voorbereid om de nieuwste versies van Docker en Git op uw server te installeren, te downloaden en uit te voeren zoals weergegeven.

wget -qO- https://get.docker.com/ | sh

Als het script om de een of andere reden op uw systeem mislukt, voert u de volgende opdrachten uit om de nieuwste versies van Git en Docker te installeren (uit de officiële repository):

Installeer Docker en Git op Debian/Ubuntu

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

Installeer Docker en Git op CentOS/RHEL

yum install -y git yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce

2. Zodra u docker op Ubuntu/Debian heeft geïnstalleerd, wordt het geactiveerd om automatisch te starten onder Systemd , kunt u de servicestatus ervan controleren met de volgende opdracht.

sudo systemctl status docker

Start en schakel op CentOS/RHEL Docker in en bekijk de status ervan.

systemctl start docker
systemctl enable docker
systemctl status docker

Stap 2: Installeer Discourse op Linux Server

3. Maak vervolgens een map /var/discourse en kloon de officiële Discourse Docker Image daarin met behulp van de volgende opdrachten.

----------- On Debian/Ubuntu ----------- 
sudo mkdir /var/discourse
sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

----------- On CentOS/RHEL -----------
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

4. Voer nu het Discourse installatiescript uit met de volgende opdracht.

sudo ./discourse-setup 
OR
./discourse-setup 

Nadat u de bovenstaande opdracht hebt uitgevoerd, probeert het script uw systeem te valideren op basis van de vereisten. Vervolgens wordt u gevraagd de volgende vragen te beantwoorden, de juiste waarden op te geven en deze later te wijzigen om automatisch een app.yml configuratiebestand te genereren.

Hostname for your Discourse? [discourse.example.com]: forum.tecmint.lan 
Email address for admin account(s)? [[email ]: admin.tecmint.lan
SMTP server address? [smtp.example.com]: smtp.tecmint.lan
SMTP port? [587]: 587
SMTP user name? [[email ]: [email 
SMTP password? []: password-here
Let's Encrypt account email? (ENTER to skip) [[email ]: 

Zodra het configuratiebestand is bijgewerkt, begint het met het downloaden van de Discourse-basisimage. De hele installatie kan 10 minuten tot een half uur duren, afhankelijk van de snelheid van uw internetverbinding; leun achterover en wacht tot het klaar is.

5. Wanneer de installatie is voltooid, zou de container Discourse actief moeten zijn. Om dit te verifiëren, controleert u alle actieve docker-containers met behulp van de volgende opdracht.

sudo docker container ls -a
OR
docker container ls -a

Stap 3: Configureer Nginx voor Discourse Container

6. In deze stap kunt u nu de Nginx-webserver en reverse proxy (merk op dat dit de webserver buiten de container is) configureren om voor uw >Discours container. Hierdoor kunt u andere websites of apps samen met de Discourse-container op dezelfde server draaien.

Stop eerst de actieve discourscontainer met behulp van de volgende opdracht.

sudo ./launcher stop app
OR
./launcher stop app

7. Wijzig vervolgens uw configuratiebestand voor de discourscontainer /var/discourse/containers/app.yml om in te stellen dat het luistert naar een speciaal bestand, anders dan poort 80.

sudo vim containers/app.yml
OR
vim containers/app.yml

Pas vervolgens de sectie template aan, zoals hieronder weergegeven.

templates:
  - "templates/cron.template.yml"
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"

En commentaar geven op de sectie blootstellen zoals weergegeven in de schermafbeelding.

8. Vervolgens moet u een Nginx-serverblok configureren voor proxyverzoeken voor Discourse in /etc/nginx/conf.d /discourse.conf of /etc/nginx/sites-enabled/discourse.conf bestand.

sudo vim /etc/nginx/conf.d/discourse.conf
OR
vim /etc/nginx/conf.d/discourse.conf

Voeg deze instellingen erin toe (gebruik uw eigen domeinnaam in plaats van forum.tecmint.lan).

server {
        listen 80;
        server_name  forum.tecmint.lan;

        location / {
                proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
        }
}

Sla de wijzigingen op en sluit het bestand af. Controleer vervolgens de Nginx-webserverconfiguratie op eventuele syntaxisfouten. Als alles in orde is, start u de webserver.

sudo nginx -t
sudo systemctl start nginx
OR
systemctl start nginx

9. Nu is het tijd om de Discourse-container opnieuw op te bouwen om de onlangs aangebrachte wijzigingen toe te passen (hiermee wordt de oude container verwijderd) en ook de Nginx-service opnieuw te starten om de upstream-server te detecteren.

sudo ./launcher rebuild app
sudo systemctl restart nginx
OR
./launcher rebuild app
systemctl restart nginx

Stap 4: Toegang tot de webinterface van het Discourse Forum

10. Zodra alles is geconfigureerd, kun je Discourse openen vanuit een webbrowser via de domeinnaam die je hierboven hebt ingesteld (in ons geval hebben we een dummydomein genaamd forum.tecmint.lan).

We hebben ook het bestand /etc/hosts gebruikt om de lokale DNS op het testsysteem te configureren (waarbij 192.168.8.105 het serveradres op het lokale netwerk is).

Typ de volgende URL om toegang te krijgen tot Discourse en klik op Registreren om een nieuw beheerdersaccount te maken.

http://forum.tecmint.lan

11. Kies vervolgens een e-mailadres dat u wilt gebruiken (voor het geval u er meer dan één heeft opgegeven tijdens het instellen van de discussie), gebruikersnaam en wachtwoord, en klik vervolgens op Registreren om de nieuwe beheerder aan te maken rekening.

12. Vervolgens wordt er een e-mail ter bevestiging van uw account verzonden naar het e-mailadres dat u in de vorige stap heeft geselecteerd (als u er meer dan één heeft opgegeven bij het opzetten van de discussie). Als u de e-mail niet ontvangt, zorg er dan voor dat uw e-mailsysteem goed werkt (installeer een postfix-mailserver) of controleer uw spammap.

Klik op de bevestigingslink om naar de pagina ‘Discourse Welcome’ te gaan. Activeer vervolgens uw account, stel de standaardopties voor Discourse in, zoals de te gebruiken taal, ga naar uw Discourse-beheerdersaccount en beheer uw discussieforum.

Aanvullende informatie kunt u vinden op de Discourse-website: https://www.discourse.org/

Dat is het voor nu! Discourse is open, moderne en veelzijdige communitydiscussiesoftware met een breed scala aan tools. Gebruik het onderstaande opmerkingenformulier om eventuele vragen over het installatieproces te delen of geef ons uw mening over deze geweldige forumsoftware.

Als je op zoek bent naar iemand die Discourse communityforumsoftware wil installeren, overweeg ons dan, want we bieden een breed scala aan Linux-services tegen redelijke minimumtarieven met 14 dagen gratis ondersteuning via e-mail. Vraag nu installatie aan.