Hulpartikel overzicht

Hulpartikel

Jitsi hosten op een VPS met Ubuntu of Debian

In deze bijzondere tijden is er minder mogelijkheid om vrienden, familie en collega's persoonlijk te zien. Misschien ben je daarom op zoek naar een online alternatief waarmee je met een onbeperkt aantal mensen een videogesprek kunt voeren vanaf je computer, laptop, of mobiel.

Jitsi is een gratis verzameling van open-source projecten die dit mogelijk maakt. Met Jitsi kun je eenvoudig een veilige videoconference-server opzetten op een VPS.

Met Jitsi kun je niet alleen voor privé, maar ook voor zakelijke doeleinden een videoconference op te zetten. Hiervoor komt Jitsi met vertrouwde zakelijke features zoals het delen van je desktop of presentaties met andere deelnemers. Jitsi onderscheidt zich daarnaast van concurrenten dankzij:

  • Lage latency
  • Hoge kwaliteit
  • Privacy waarborg
  • Eenvoudig te installeren en gebruiken

In deze handleiding laten wij zien hoe je een Jitsi-server opzet op een VPS met Ubuntu of Debian.


Jitsi installeren

 

Stap 1

Verbind met je VPS via de VPS-console of SSH.


 

Stap 2

Voeg de package-repository key en sources.list.d bestand voor Jitsi toe aan je VPS met de commando's:

echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -

Door de package-repository toe te voegen, weet je VPS waar vandaan je Jitsi kunt downloaden.


 

Stap 3

Na het toevoegen van een nieuwe package-repository is deze pas beschikbaar na het updaten van je package-list. Je update je package-list met het commando:

apt -y update

 

Stap 4

Jitsi controleert tijdens de installatie of er een Apache- of Nginx-webserver aanwezig is op je VPS (in die volgorde). Zo ja, dan stelt Jitsi een virtualhost in binnen je webserver om Jitsi Meet te kunnen hosten. Als Apache en Nginx niet aanwezig zijn, installeert en gebruikt Jitsi Nginx.

Afhankelijk van wat er op je VPS aanwezig is, start je de installatie van Jitsi met:

Nginx aanwezig op poort 443:

apt -y install --no-install-recommends jitsi-meet

Alle andere gevallen:

apt -y install apt-transport-https
apt -y install jitsi-meet

Jitsi bestaat uit verschillende componenten die automatisch geïnstalleert worden met bovenstaande commando's. Verder in dit artikel worden enkele van deze componenten genoemd, namelijk:

  • Jitsi Meet: Jitsi Meet is een open source WebRTC JavaScript applicatie die Jitsi Videobridge gebruikt om video videoconferenties te leveren.
  • Jitsi VideoBridge: Jitsi Videobridge is een XMPP-servercomponent ontworpen om duizenden videostreams tegelijk te kunnen verwerken op een enkele server. 
  • Jicofo: Jitsi COnference FOcus is een server-side focus-component die Jitsi Meet gebruikt in conferenties om mediasessies tussen deelnemers en Jitsi VideoBridge te beheren. Daarnaast
  • Prosody: Jitsi maakt voor chat messages gebruik van Jabber. Prosody is de server-software die Jitsi gebruikt voor Jabber.

Stap 5

De installatie-wizard start automatisch en vraagt eerst om de hostname van je VPS. Voor de correcte werking van de verdere stappen in dit artikel is het belangrijk dat je hostname een subdomein is die via DNS gekoppeld is aan je VPS.

jitsi hostname


 

Stap 6

Vervolgens krijg je de optie om een self-signed of eigen SSL-certificaat te installeren. Beide opties zijn prima en je bent vrij in je keuze. Een pré van Let's Encrypt ten opzichte van een betaald certificaat is dat het gratis is en automatisch verlengd wordt.

Kies je hier voor een certificaat van Let's Encrypt? Ga dan door naar Stap 7. Gebruik je een eigen certificaat? Ga dan verder met stap 8.

Jitsi configure SSL


Stap 7 - Let's Encrypt

Jitsi komt met een script waarmee je zeer eenvoudig een Let's Encrypt-certificaat kunt installeren. Je hoeft hiervoor alleen het volgende commando uit te voeren:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
  • Geef wanneer daarom gevraagd wordt een geldig mailadres op. Eventuele belangrijke beveiligingsmeldingen worden naar dit adres gestuurd.
  • Let's Encrypt controleert of je hostname (uit stap 5) via DNS aan je VPS is gekoppeld. Hoe je een domein aan een VPS koppelt wordt in deze handleiding uitgelegd.

That's it! Je Jitsi-server is nu bereikbaar en direct klaar voor gebruik. Meer informatie over het opzetten van meetings geven wij in de volgende paragraaf.


Stap 8 - Eigen certificaat

Jitsi start automatisch de Jitsi-meet-web-config waarin je kunt aangeven waar je SSL-certificaat zich bevindt op je server.

Gebruik je een van onze Sectigo-certificaten? Pas dan de locatie aan naar waar het .key bestand staat, bijvoorbeeld zoals in het screenshot hieronder.

jitsi webconfig ssl

Geef daarna de locatie op van het bijbehorende .crt-bestand.

jitsi webconfig crt

That's it! Je Jitsi-server is nu bereikbaar en direct klaar voor gebruik. Meer informatie over het opzetten van meetings geven wij in de volgende paragraaf.


Jitsi gebruiken


Je kunt Jitsi gebruiken via een browser (Chrome en FireFox), desktop-applicatie, of mobiele-app. De browserversie en mobiele apps werken in onze optiek het eenvoudigst.

 

Browser

Om Jitsi in je browser te gebruiken, navigeer je in je browser naar de hostname die je in stap 5 van de installatie hebt ingesteld, bijvoorbeeld server.voorbeeld.nl, jitsi.voorbeeld.nl of meet.voorbeeld.nl.

Klik rechts bovenaan op het tandwiel-icoon en pas vervolgens de Camera, Microfoon en Audio-uitvoer aan naar de apparaten die je hiervoor wil gebruiken.

jitsi browser config devices

Geef je meeting een naam en klik op 'Start' om je meeting te beginnen.

jitsi browser new meeting


 

Mobiel

Installeer en start de mobiele Jitsi-app voor Android of iOS.

Wij raden aan om eerst je gebruikersaccount in te stellen en eventueel ook de server waar je mee wil verbinden. Klik hiervoor links bovenaan op het menu-icoon.

jitsi mobile home

Klik vervolgens op 'Settings'.

jitsi mobile settings

Geef je naam, mailadres, en optioneel de hostname van je Jitsi-server op zoals ingesteld in stap 5 van de Jitsi-installatie.

jitsi mobile settings

Je kunt nu direct gebruik maken van de app door in het home scherm het adres van je Jitsi-meeting op te geven. Stel dat je hostname meet.voorbeeld.nl is en je een meeting genaamd 'test' vanuit je browser hebt gestart, dan zou je in de app onder 'Enter room name' https://meet.voorbeeld.nl/test invullen (of enkel 'test' als je in de settings als 'Server URL' al https://meet.voorbeeld.nl hebt opgegeven).


Wachtwoordbeveiliging - optioneel

 

Na de installatie van Jitsi kan iedereen die je hostname uit stap 5 kent gebruik maken van jouw Jitsi-server.

Wegens privacy- en veiligheidsredenen is het aan te raden om je Jitsi-server te beveiligen, zodat alleen geautoriseerde gebruikers met een wachtwoord een Jitsi 'room' kunnen aanmaken en niet iedere willekeurige dankbare gebruiker. Om dit te bereiken maak je de volgende aanpassingen in je Jitsi-configuratie:

Vervang in de stappen hieronder meet.voorbeeld.nl (aangegeven in bold) door de hostname die je in stap 5 van de installatie van Jitsi hebt ingesteld.

Stap 1

Open /etc/jitsi/meet/meet.voorbeeld.nl-config.js, bijvoorbeeld met:

nano /etc/jitsi/meet/meet.voorbeeld.nl-config.js

 

Stap 2

In het begin van het bestand zie je een deel genaamd 'hosts:'. Verwijder hier de slashes bij domain, anonymousdomain, authdomain en focusUserJid zodat je bestand er uitziet zoals in het voorbeeld hieronder:

    hosts: {
        // XMPP domain.
        domain: 'meet.voorbeeld.nl',

        // When using authentication, domain for guest users.
        anonymousdomain: 'guest.meet.voorbeeld.nl',

        // Domain for authenticated users. Defaults to .
        authdomain: 'meet.voorbeeld.nl',

        // Jirecon recording component domain.
        // jirecon: 'jirecon.meet.voorbeeld.nl',

        // Call control component (Jigasi).
        // call_control: 'callcontrol.meet.voorbeeld.nl',

        // Focus component domain. Defaults to focus..
        // focus: 'focus.meet.voorbeeld.nl',

        // XMPP MUC domain. FIXME: use XEP-0030 to discover it.
        muc: 'conference.meet.voorbeeld.nl'
    },

    // BOSH URL. FIXME: use XEP-0156 to discover it.
    bosh: '//meet.voorbeeld.nl/http-bind',

    // Websocket URL
    // websocket: 'wss://meet.voorbeeld.nl/xmpp-websocket',

    // The name of client node advertised in XEP-0115 'c' stanza
    clientNode: 'http://jitsi.org/jitsimeet',

    // The real JID of focus participant - can be overridden here
    focusUserJid: 'focus@auth.meet.voorbeeld.nl',

Sla je wijzigingen op en sluit het bestand (ctrl + x > y > enter).


 

Stap 3

Open vervolgens de prosody-configuratie:

nano /etc/prosody/conf.avail/meet.voorbeeld.nl.cfg.lua

 

Stap 4

Pas bovenaan het bestand onder VirtualHost "meet.voorbeeld.nl"  de waarde van authentication aan naar internal_plain:

VirtualHost "meet.voorbeeld.nl"
        -- enabled = false -- Remove this line to enable this host
        authentication = "internal_plain"

Scroll daarna naar het eind van het bestand en voeg een virtualhost voor guests toe:

VirtualHost "guest.meet.voorbeeld.nl"
        authentication = "anonymous"
        c2s_require_encryption = false

Sla je wijzigingen op en sluit het bestand (ctrl + x > y > enter).


 

Stap 5

Voeg tot slot met de code hieronder een regel toe aan de sip-communicator properties om XMPP-authenticatie (Extensible Messaging and Presence Protocol) toe te voegen; Jitsi maakt van XMPP gebruik voor de authenticatie van je gebruikers.

echo "org.jitsi.jicofo.auth.URL=XMPP:meet.voorbeeld.nl" >> /etc/jitsi/jicofo/sip-communicator.properties

 

Stap 6

Herstart Nginx en de verschillende Jitsi-componenten, om je wijzigingen te verwerken:

systemctl restart jicofo
systemctl restart jitsi-videobridge2
systemctl restart prosody
systemctl restart nginx

 

Je kunt nu geautoriseerde gebruikers aanmaken met het commando hieronder. Het is helaas niet mogelijk om gebruikers zichzelf te laten registreren.

sudo prosodyctl register gebruiker meet.voorbeeld.nl gebruikerwachtwoord

Vervang hierbij gebruiker en gebruikerwachtwoord door respectievelijk de naam en het wachtwoord van de nieuwe gebruiker.

Na het aanmaken van een gebruiker verwerk je de wijzigingen met:

systemctl restart jicofo
systemctl restart jitsi-videobridge2
systemctl restart prosody

Problemen oplossen

 

Jitsi werkt na de installatie zeer eenvoudig, met name vanuit je browser of mobiele app. Mocht je toch tegen issues aanlopen, dan vind je hier onder een overzicht van veel voorkomende problemen en de bijbehorende oplossingen:

  • Ik krijg een Nginx-pagina te zien: Staat er in je browser voor je webadres (e.g. meet.voorbeeld.nl) een grijs slotje met een rood kruis? Dan kan Nginx je SSL-certificaat niet gebruiken. Controleer of je SSL-certificaat inderdaad ontsleuteld is en of die op de juiste locatie staat, zoals je in stap 8 aangegeven hebt.
     
  • Ik kan geen microfoon en/of webcam selecteren in mijn browser: Doorgaans wordt dit veroorzaakt doordat je webcam en/of je microfoon niet goed ondersteund wordt in je browser. Gebruik in dat geval een andere browser, of controleer of er updates beschikbaar zijn van je browser en installeer die.
     
  • Performance issues bij meerdere gebruikers: Systemd komt met vaste limieten voor het maximaal aantal processen en open bestanden. Bij grotere aantallen Jitsi-gebruikers, kan je Jitsi-server tegen deze limieten aanlopen. Om dit op te lossen, open je het bestand /etc/systemd/system.conf en pas je de volgende variabelen aan zodat ze er uit zien zoals hieronder:
    DefaultLimitNOFILE=65000
    DefaultLimitNPROC=65000
    DefaultTasksMax=65000
    Herstart tot slot systemd en jitsi video met:
    systemctl daemon-reload
    systemctl restart jitsi-videobridge2
     
  • In andere gevallen, kun je op https://test.webrtc.org testen of je camera en microfoon goed werken. Logbestanden van je server vind je op de volgende locaties op je VPS:
     
    • /var/log/jitsi/jvb.log
    • /var/log/jitsi/jicofo.log
    • /var/log/prosody/prosody.log

 

Daarmee zijn we aan het eind gekomen van deze handleiding voor de installatie van een Jitsi-server.

Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

Wil je dit artikel met andere gebruikers bespreken? Laat dan vooral een bericht achter onder 'Reacties'.

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

0
Matthijs van Beek Admin 29 mei 2020 (#4441)

@hni,

Bedankt voor je feedback. We hebben het stukje iets aangepast en splitsen het 'Jitsi gebruiken' stuk inderdaad op een later moment op naar een eigen artikel.

@mbastiaan,

Goed gespot! Systemctl wordt inderdaad al geruime tijd gebruikt in plaats van service-commando's. We hebben het direct aangepast.

0
mbastiaan 29 mei 2020 (#4440)

Het laatste commando:

service restart jitsi-videobridge2

moet vermoedelijk

systemctl restart jitsi-videobridge2

zijn

0
hni 20 april 2020 (#4322)

Jitsi controleert tijdens de installatie of er een Apache- of Nginx-webserver aanwezig is op je VPS (in die volgorde). Zo ja, dan stelt Jitsi een virtualhost in binnen je webserver om Jitsi Meet te kunnen hosten. Als beide niet aanwezig zijn, gebruikt Jitsi Nginx.

Wat betekent beide in die laatste zin?

Het 'Jitsi gebruiken' stuk kan misschien beter utigesplitst naar een eigen artikel? Makkelijker courant te houden en het gebruik heeft feitelijk niets te maken met of jitsi op ubunt of debian of wat dan ook draait?

0
Matthijs van Beek Admin 14 april 2020 (#4308)

@notfound,

Bedankt voor je feedback! Door een bugje was de spatie opgenomen in de onderliggende code van de website en niet langer zichtbaar. Wij hebben dit zojuist verholpen.

0
notfound 9 april 2020 (#4288)

In het eerste commando mist een spatie;

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

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op