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.
- Voer de stappen in dit artikel uit root-gebruiker.
- Jitsi heeft minimaal 2GB RAM nodig. Wij raden daarom aan een X4 of grotere VPS te gebruiken.
- Gebruik een subdomein als hostname van je VPS, zoals server.voorbeeld.nl of meet.voorbeeld.nl. Hoe je je hostname aanpast, leggen wij uit op de volgende pagina's: Je hostname aanpassen in Ubuntu 18.04 en Je hostname aanpassen in 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.
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.
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 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.
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.
Geef daarna de locatie op van het bijbehorende .crt-bestand.
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.
Geef je meeting een naam en klik op 'Start' om je meeting te beginnen.
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.
Klik vervolgens op 'Settings'.
Geef je naam, mailadres, en optioneel de hostname van je Jitsi-server op zoals ingesteld in stap 5 van de Jitsi-installatie.
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:Herstart tot slot systemd en jitsi video met:
DefaultLimitNOFILE=65000 DefaultLimitNPROC=65000 DefaultTasksMax=65000
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.