Jitsi Meet Video Conferencing Oplossing installeren op Debian 10

Jitsi Meet is een gratis en open-source videoconferentie toepassing die als standalone applicatie gebruikt kan worden of in je webapplicatie ingebed kan worden. Het is gebaseerd op WebRTC en biedt meerpersoons videoconferentieruimten zonder extra software of browser extensies te installeren.

Kenmerken

  • Scherm delen, groeps-chat, presentaties, en meer
  • Integratie met Google en Microsoft Agenda
  • Nodig andere gebruikers uit voor een conferentie via een eenvoudige URL
  • Ondersteuning van end-to-end TLS encryptie
  • Universele beschikbaarheid op meerdere platforms
  • Collaboratief bewerken van documenten

In deze handleiding laten we je zien hoe je Jitsi Meet Video Conferencing kunt installeren op Debian 10.

Vereisten

  • Een server met Debian 10 met minimaal 4 GB RAM.
  • Een geldige domeinnaam is gericht met het ip van je server. In deze handleiding gebruiken we jitsi.linuxbuz.com sub-domein van linuxbuz.com domein.
  • Een root wachtwoord is op je server ingesteld.

Aan de slag

Alvorens te beginnen is het een goed idee om de pakketten van je systeem bij te werken naar de laatste versie. Je kunt ze bijwerken met het volgende commando:

apt-get update -y
apt-get upgrade -y

Als alle pakketten zijn bijgewerkt, herstart je je systeem om de veranderingen toe te passen.

Installeer Nginx webserver

Voordat je Jitsi Meet installeert, moet je de Nginx webserver op je systeem installeren. Je kunt hem installeren met het volgende commando:

apt-get install nginx -y

Als de Nginx geïnstalleerd is, kun je verder gaan met de volgende stap.

Installeer Jitsi Ontmoet

Installeer eerst de vereiste afhankelijkheden in je systeem met het volgende commando:

apt-get install gnupg2 apt-transport-https software-properties-common -y

Eenmaal geïnstalleerd, download en voeg de GPG sleutel voor Jitsi toe door het volgende commando uit te voeren:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -

Voeg vervolgens de Jitsi repository toe met het volgende commando:

sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

Zodra de repository is toegevoegd, werk je die bij met het volgende commando:

apt-get update -y

Installeer vervolgens de Jitsi Meet door het volgende commando uit te voeren:

apt-get install jitsi-meet

Tijdens de installatie wordt je gevraagd de FQDN van je server op te geven, zoals hieronder:

Hostnaam instellen

Geef je geldige domeinnaam op en druk op Enter. Je wordt gevraagd naar het SSL certificaat zoals hieronder:

Genereer een SSL certificaat

Kies de optie Genereer een nieuw zelf-ondertekend certificaat (Je krijgt later de kans om een Let’s Encrypt certificaat te verkrijgen) en druk op Enter om de installatie te voltooien.

Als de installatie klaar is, kun je verder gaan met de volgende stap.

Beveilig Jitsi Meet met Let’s Encrypt SSL

Op dit punt is Jitsi Meet in je systeem geïnstalleerd. Vervolgens moet je een Let’s Encrypt SSL certificaat voor je server aanmaken.

Standaard is de Certbot niet beschikbaar in de standaard repository van Debian 10. Je zult dus de Certbot repository aan je systeem moeten toevoegen.

Je kunt het toevoegen met het volgende commando:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

Werk vervolgens de repository bij en installeer de Certbot client voor Nginx met het volgende commando:

apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports

Je kunt het doen door het volgende script uit te voeren:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Je wordt gevraagd je e-mail adres op te geven zoals hieronder:

-------------------------------------------------------------------------
This script will:
- Need a working DNS record pointing to this machine(for domain jisti.linuxbuz.com)
- Download certbot-auto from https://dl.eff.org to /usr/local/sbin
- Install additional dependencies in order to request Let’s Encrypt certificate
- If running with jetty serving web content, will stop Jitsi Videobridge
- Configure and reload nginx or apache2, whichever is used
- Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks
- Add command in weekly cron job to renew certificates regularly

You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf) 
by providing an email address for important account notifications
Enter your email and press [ENTER]: [email protected]

Geef je geldige e-mail adres op en druk op Enter om verder te gaan. Als het proces met succes voltooid is, zou je de volgende uitvoer moeten zien:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for jisti.linuxbuz.com
Using the webroot path /usr/share/jitsi-meet for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Running deploy-hook command: /etc/letsencrypt/renewal-hooks/deploy/0000-coturn-certbot-deploy.sh
Output from deploy-hook command 0000-coturn-certbot-deploy.sh:
Configuring turnserver

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/jisti.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/jisti.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-07-28. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Als je klaar bent, kun je doorgaan naar de volgende stap.

Toegang tot Jitsi Meet

Op dit punt is je Jitsi Meet webapplicatie beveiligd met Let’s Encrypt SSL.

Open je webbrowser en typ de URL https://jitsi.linuxbuz.com. Je wordt doorgestuurd naar het volgende scherm:

Begin een nieuwe bijeenkomst

Geef je conferentienaam op en klik op de GO knop. Je wordt gevraagd om een microfoon en camera toe te laten, zoals hieronder:

Sta Jitsi toe om Camera en Microfoon te gebruiken

Klik op de Allow knop. Je wordt doorgestuurd naar de vergaderzaal zoals hieronder getoond:

Jitsi Ontmoet Video Conferentie

Als je klaar bent kun je verder gaan naar de volgende stap.

Gebruikersauthenticatie instellen voor Jitsi Meet

Standaard staat Jitsi Meet iedereen toe je Jitsi server te bezoeken, een kamer aan te maken en een vergadering te beginnen. Dit is niet wenselijk voor onbevoegde gebruikers. Je zult dus gebruikersauthenticatie voor Jitsi Meet moeten instellen, zodat alleen geregistreerde gebruikers nieuwe vergaderruimtes kunnen aanmaken.

Je kunt dit instellen door het bestand jitsi.linuxbuz.com.cfg.lua te bewerken.

nano /etc/prosody/conf.avail/jitsi.linuxbuz.com.cfg.lua

Zoek de volgende regel:

      authentication = "anonymous"

En vervang het door de volgende regel:

      authentication = "internal_plain"

Voeg vervolgens de volgende regels toe aan het eind van het bestand:

VirtualHost "guest.jitsi.linuxbuz.com"
    authentication = "anonymous"
    c2s_require_encryption = false

Bewaar en sluit het bestand als je klaar bent.

Met de bovenstaande configuratie kunnen anonieme gebruikers deelnemen aan vergaderzalen die door een geauthenticeerde gebruiker zijn gemaakt.

Open vervolgens het Jitsi Meet configuratiebestand /etc/jitsi/meet/jitsi.linuxbuz.com-config.js zoals hieronder te zien is:

nano /etc/jitsi/meet/jitsi.linuxbuz.com-config.js

Zoek de volgende regel:

        // anonymousdomain: 'guest.example.com',

En vervang die door de volgende regel:

        anonymousdomain: 'guest.jitsi.linuxbuz.com',

Sla het bestand op en sluit het als je klaar bent.

Open vervolgens het Jicofo configuratiebestand zoals hieronder:

nano /etc/jitsi/jicofo/sip-communicator.properties

Voeg aan het eind van dit bestand de volgende regel toe:

org.jitsi.jicofo.auth.URL=XMPP:jitsi.linuxbuz.com

Sla het bestand op en sluit het als je klaar bent.

Op dit punt is Jitsi Meet nu zo ingesteld dat alleen geregistreerde gebruikers conferentieruimten kunnen aanmaken. Als een vergaderruimte eenmaal is aangemaakt, kan elke gebruiker eraan deelnemen zonder enige inloggegevens op te geven. Je hebt alleen het unieke adres van de vergaderzaal nodig en een optioneel wachtwoord dat door de maker van de ruimte is ingesteld.

Vervolgens moet je een nieuwe gebruikersaccount voor Jitsi aanmaken en er een wachtwoord voor instellen.

Je kunt die aanmaken met het volgende commando:

prosodyctl register jitsiuser jitsi.linuxbuz.com password

Je kunt nu de hierboven aangemaakte gebruiker gebruiken om een vergaderruimte te maken.

Herstart tenslotte de Jitsi Meet diensten door het volgende commando uit te voeren:

systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2

Controleer nu de status van alle diensten met het volgende commando:

systemctl status jitsi-videobridge2 prosody jicofo

Je zou de volgende uitvoer moeten zien:

? jitsi-videobridge2.service - Jitsi Videobridge
   Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-29 16:17:33 UTC; 49s ago
  Process: 11623 ExecStartPost=/bin/bash -c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridge.pid (code=exited, status=0/SUCCESS)
 Main PID: 11622 (java)
    Tasks: 39 (limit: 65000)
   Memory: 161.0M
   CGroup: /system.slice/jitsi-videobridge2.service
           ??11622 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_

Apr 29 16:17:33 debian10 systemd[1]: Starting Jitsi Videobridge...
Apr 29 16:17:33 debian10 systemd[1]: Started Jitsi Videobridge.

? prosody.service - Prosody XMPP Server
   Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-29 16:17:21 UTC; 1min 1s ago
     Docs: https://prosody.im/doc
 Main PID: 11537 (lua5.2)
    Tasks: 1 (limit: 4701)
   Memory: 14.1M
   CGroup: /system.slice/prosody.service
           ??11537 lua5.2 /usr/bin/prosody

Apr 29 16:17:21 debian10 systemd[1]: Started Prosody XMPP Server.

? jicofo.service - LSB: Jitsi conference Focus
   Loaded: loaded (/etc/init.d/jicofo; generated)
   Active: active (running) since Wed 2020-04-29 16:17:27 UTC; 56s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 11555 ExecStart=/etc/init.d/jicofo start (code=exited, status=0/SUCCESS)
    Tasks: 80 (limit: 4701)
   Memory: 163.4M
   CGroup: /system.slice/jicofo.service
           ??11564 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/j

Apr 29 16:17:27 debian10 systemd[1]: Starting LSB: Jitsi conference Focus...

Open nu je webbrowser en typ de URL https://jitsi.linuxbuz.com. Je zou het volgende scherm moeten zien:

Gebruikersauthenticatie in Jitsi Ontmoeten

Geef je kamernaam op en klik op de GO knop. Je wordt gevraagd een gebruikersnaam en wachtwoord op te geven zoals hieronder:

Geef je gebruikersnaam, wachtwoord en klik op de OK knop.

Conclusie

Gefeliciteerd! Je hebt met succes Jitsi Meet op de Debian 10 server geïnstalleerd. Je kunt nu de link delen, een wachtwoord instellen, de audio en video kwaliteit instellen en meer via de web browser.