Winkelwagen

/ VPS-Infrastructuur

Alles over de zelfontwikkelde VPS-infrastructuur

Register now

/ Up to date

/ Nieuws

Lancering PerformanceVPS

Meer info
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Jitsi video conferencing op je VPS hosten

    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 + > > 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 + > > 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.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op