Ce tutoriel va vous montrer comment installer Jitsi Meet sur le serveur Ubuntu 18.04/20.04. Jitsi Meet est un logiciel de vidéoconférence open source gratuit qui fonctionne sous Linux, macOS, Windows, iOS et Android. Si vous ne faites pas confiance à Zoom, vous pouvez exécuter votre propre plateforme de visioconférence sur votre propre serveur.
Caractéristiques de Jitsi Meet
- Entièrement gratuit
- Partagez l'écran de votre ordinateur avec d'autres personnes.
- Le mode présentateur vous permet de partager votre écran et votre caméra en même temps, afin que les participants puissent voir le présentateur et leur langage corporel tout au long de la présentation.
- Vous pouvez partager l'audio du système tout en partageant votre écran.
- Vous pouvez désigner des utilisateurs autorisés comme modérateurs. Un modérateur peut couper le son de chaque participant en un seul clic.
- La communication sur le réseau est cryptée à l'aide de DTLS-SRTP.
- Cryptage de bout en bout (travail en cours)
- Vous pouvez définir un mot de passe pour votre conférence afin d'empêcher des inconnus d'entrer au hasard.
- Enregistrez la réunion/conférence et enregistrez-la dans Dropbox.
- Diffusion en direct sur YouTube et stockage de l'enregistrement sur YouTube.
- Applications Android et iOS
- Chat par SMS
- Partager un document texte
- Appel téléphonique à une conférence
- Composer un numéro vers un participant par téléphone
- Vous pouvez intégrer un appel Jits Meet dans n'importe quelle page Web avec seulement quelques lignes de code.
Conditions d'installation de Jitsi Meet sur Ubuntu 18.04/20.04
Pour exécuter Jitsi Meet, vous avez besoin d'un serveur avec au moins 1 Go de RAM. Vous pouvez cliquer sur ce lien de parrainage pour créer un compte chez Vultr et obtenir un crédit gratuit de 50 $ (pour les nouveaux utilisateurs uniquement). Une fois que vous avez un compte chez Vultr, installez Ubuntu 18.04/20.04 sur votre serveur et suivez les instructions ci-dessous. Lorsque vous avez des dizaines d'utilisateurs, envisagez de mettre à niveau le matériel de votre serveur. Le serveur doit être proche de vos utilisateurs, sinon le retard sera perceptible lors des réunions en ligne.
Vous avez également besoin d'un nom de domaine. J'ai enregistré mon nom de domaine chez NameCheap parce que le prix est bas et qu'ils offrent une protection de la confidentialité whois gratuite à vie.
Étape 1 :Installez Jitsi Meet à partir du référentiel de packages officiel
Jitsi Meet n'est pas inclus dans le référentiel Ubuntu par défaut. Nous pouvons l'installer à partir du référentiel de packages officiel Jitsi, qui contient également plusieurs autres packages logiciels utiles. Connectez-vous à votre serveur via SSH, puis exécutez la commande suivante pour ajouter le référentiel Jitsi officiel.
echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
Importez la clé publique Jitsi, afin que le gestionnaire de packages APT puisse vérifier l'intégrité des packages téléchargés à partir de ce référentiel.
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
Parce que le référentiel Jitsi nécessite une connexion HTTPS, nous devons donc installer apt-transport-https
package pour qu'APT établisse une connexion HTTPS au référentiel Jitsi.
sudo apt install apt-transport-https
Ensuite, mettez à jour l'index des packages locaux et installez Jitsi Meet sur Ubuntu.
sudo apt update sudo apt install jitsi-meet
Lors de l'installation, vous devez entrer un nom d'hôte pour votre instance Jitsi. Il s'agit du nom d'hôte qui apparaîtra dans la barre d'adresse du navigateur Web lorsque les participants rejoindront votre visioconférence. Vous pouvez utiliser un nom d'hôte descriptif comme meet.example.com
.
Dans l'écran suivant, vous pouvez choisir de générer un nouveau certificat TLS auto-signé, afin d'obtenir et d'installer ultérieurement un certificat Let's Encryption de confiance.
Le processus d'installation configurera certains paramètres du noyau Linux, qui sont enregistrés dans /etc/sysctl.d/20-jvb-udp-buffers.conf
dossier. Une fois l'installation terminée, Jitsi Meet démarrera automatiquement. Vous pouvez vérifier son statut avec :
systemctl status jitsi-videobridge2
Exemple de sortie :
● jitsi-videobridge2.service - Jitsi Videobridge Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-04-24 12:11:13 UTC; 3min 27s ago Main PID: 3665 (java) Tasks: 37 (limit: 65000) CGroup: /system.slice/jitsi-videobridge2.service └─3665 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HO
Astuce :si la commande ci-dessus ne se ferme pas immédiatement, vous pouvez appuyer sur la touche Q pour la faire quitter.
Le jitsi-meet
package a également extrait d'autres packages en tant que dépendances, telles que
- openjdk-8-jre-headless :environnement d'exécution Java. C'est nécessaire car Jitsi Meet est écrit en langage Java.
- jicofo :Focus conférence Jitsi (
systemctl status jicofo
) - prosodie :Serveur léger Jabber/XMPP (
systemctl status prosody
) - cotour :Serveur TURN et STUN pour VoIP (
systemctl status coturn
)
Étape 2 :Ouvrir les ports dans le pare-feu
Jitsi Meet écoute sur plusieurs ports UDP, comme on peut le voir avec la commande suivante. (Si votre serveur Ubuntu n'a pas le netstat
commande, vous pouvez exécuter sudo apt install net-tools
commande pour l'installer.)
sudo netstat -lnptu | grep java
Pour permettre aux participants de rejoindre une vidéoconférence à partir d'un navigateur Web, vous devez ouvrir les ports TCP 80 et 443. Et pour transférer la vidéo sur le réseau, ouvrez les ports UDP 10000 et 5000. Si vous utilisez le pare-feu UFW, exécutez la commande suivante commande pour ouvrir ces ports.
sudo ufw allow 80,443/tcp sudo ufw allow 10000,5000/udp
Étape 3 :Obtenir un certificat TLS Let's Encrypt de confiance
Accédez à votre service d'hébergement DNS (généralement votre bureau d'enregistrement de domaine) pour créer un enregistrement DNS A pour votre nom d'hôte Jitsi (meet.example.com). Exécutez ensuite le script suivant pour obtenir un certificat Let's Encrypt TLS de confiance :
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Entrez votre adresse e-mail pour recevoir des notifications importantes sur votre compte. Ensuite, il téléchargera certbot
et obtenir le certificat TLS.
Si tout va bien, vous verrez le message suivant, indiquant que les certificats TLS ont été obtenus et installés avec succès.
Notez que ce script utilise le http-01
défi, ce qui signifie que votre serveur Web Apache ou Nginx doit écouter sur le port 80 de l'adresse IP publique. Si votre environnement de serveur ne prend pas en charge le http-01
défi, vous ne devez pas exécuter le script ci-dessus. Vous devez utiliser d'autres types de défis. Dans mon cas, j'utilise le challenge DNS.
sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email [email protected] -d meet.linuxbabe.com
Où :
--agree-tos
:acceptez les conditions d'utilisation.-a dns-cloudflare
:J'utilise le plugin DNS cloudflare pour m'authentifier, car j'utilise le service DNS Cloudflare.-i nginx
:Utilisez le plugin nginx pour installer le certificat TLS. Si vous utilisez Apache, vous devez remplacernginx
avecapache
.--redirect
:Forcer HTTPS par redirection 301.--hsts
: ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
: Active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Étape 4 :Activer HTTP2
HTTP2 peut améliorer la vitesse de chargement des pages Web. Pour activer HTTP2 dans Nginx, modifiez le fichier de configuration de l'hôte virtuel.
sudo nano /etc/nginx/sites-enabled/meet.example.com.conf
Trouvez les deux lignes suivantes.
listen 443 ssl; listen [::]:443 ssl;
Ajouter http2
à la fin de chaque ligne.
listen 443 ssl http2; listen [::]:443 ssl http2;
Enregistrez et fermez le fichier. Rechargez ensuite Nginx pour que la modification prenne effet.
sudo systemctl reload nginx
Étape 5 :Démarrer une nouvelle réunion en ligne
Visitez maintenant https://meet.example.com
et vous pourrez démarrer une conférence. Pour transférer de l'audio, vous devez autoriser le navigateur Web à utiliser votre microphone. Et pour transférer la vidéo, vous devez autoriser le navigateur Web à accéder à votre caméra.
Donnez un nom à votre réunion et cliquez sur le bouton Aller. Une fois la réunion démarrée, vous pouvez éventuellement choisir de définir un mot de passe pour votre réunion.
Étape 6 :Configurer l'authentification de l'utilisateur
Par défaut, n'importe qui peut accéder à votre instance Jitsi Meet, créer une salle et démarrer une réunion. Pour configurer l'authentification des utilisateurs, modifiez le fichier de configuration de Prosody.
sudo nano /etc/prosody/conf.d/meet.example.com.cfg.lua
Trouvez la ligne suivante.
authentication = "anonymous"
Remplacez-le par ce qui suit, ce qui obligera l'utilisateur à entrer un nom d'utilisateur et un mot de passe pour démarrer une conférence.
authentication = "internal_plain"
Cependant, nous ne voulons pas que les participants entrent un nom d'utilisateur et un mot de passe lorsqu'ils rejoignent la conférence, nous devons donc créer une connexion anonyme pour les invités, en ajoutant les lignes suivantes à la fin de ce fichier. Notez que vous n'avez pas besoin de créer un enregistrement DNS A pour guest.meet.example.com
.
VirtualHost "guest.meet.example.com" authentication = "anonymous" c2s_require_encryption = false
Enregistrez et fermez le fichier. Ensuite, modifiez le fichier de configuration Jitsi Meet.
sudo nano /etc/jitsi/meet/meet.example.com-config.js
Trouvez la ligne suivante,
// anonymousdomain: 'guest.example.com',
Supprimez les doubles barres obliques et modifiez le domaine invité. Remplacez meet.example.com par votre vrai nom d'hôte Jitsi Meet.
anonymousdomain: 'guest.meet.example.com',
Enregistrez et fermez le fichier.
Modifiez ensuite le fichier de configuration de Jicofo.
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
Ajoutez la ligne suivante à la fin de ce fichier.
org.jitsi.jicofo.auth.URL=XMPP:meet.example.com
Enregistrez et fermez le fichier. Redémarrez les services systemd pour que les modifications prennent effet.
sudo systemctl restart jitsi-videobridge2 prosody jicofo
Pour créer des comptes d'utilisateurs dans Jisi Meet, exécutez la commande suivante. Vous serez invité à entrer un mot de passe pour le nouvel utilisateur.
sudo prosodyctl register username meet.example.com
Maintenant, si vous créez une salle dans Jitsi Meet, vous devrez entrer un nom d'utilisateur et un mot de passe.
Conseils de dépannage
Si vous rencontrez des erreurs, vous pouvez consulter le journal des erreurs Nginx (/var/log/nginx/error.log
) pour savoir ce qui ne va pas. Vérifiez également les journaux des services systemd.
sudo journalctl -eu jitsi-videobridge2 sudo journalctl -eu prosody sudo journalctl -eu jicofo
Si vous voyez l'erreur "Vous avez été déconnecté" lors du démarrage d'une réunion dans Jitsi, il se peut que vous ayez oublié de modifier meet.example.com
à votre vrai nom d'hôte Jitsi Meet dans les fichiers de configuration.
Facultatif :Configurer Jigasi pour l'accès entrant ou sortant par téléphone
Jitsi propose une interface de téléphonie qui permet aux utilisateurs de se connecter à une conférence ou de passer des appels de rappel sortants. Installez le jigasi
package (passerelle Jitsi pour SIP).
sudo apt install jigasi
Lors de l'installation, vous devrez entrer votre nom d'utilisateur et votre mot de passe SIP. Si vous n'en avez pas, vous pouvez créer un compte SIP gratuit sur OnSIP.com.
Si vous avez configuré l'authentification des utilisateurs à l'étape 6, vous devez modifier le fichier de configuration Jigasi.
sudo nano /etc/jitsi/jigasi/sip-communicator.properties
Trouvez les lignes suivantes.
# [email protected]_DOMAIN # org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS # org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
Décommentez-les et entrez un compte et un mot de passe que vous avez créés à l'étape 6.
org.jitsi.jigasi.xmpp.acc.USER_ID=[email protected] org.jitsi.jigasi.xmpp.acc.PASS=user1_password org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
Enregistrez et fermez le fichier. Redémarrez le jigasi
service systemd.
sudo systemctl restart jigasi
Facultatif :Configurer Coturn
Si vous voyez le message suivant lors de l'installation de Jitsi Meet, vous devez configurer Coturn pour qu'il fonctionne correctement.
Warning! Could not resolve your external ip address! Error:^ Your turn server will not work till you edit your /etc/turnserver.conf config file. You need to set your external ip address in external-ip and restart coturn service.
Modifiez le fichier de configuration de Coturn.
sudo nano /etc/turnserver.conf
Trouvez la ligne suivante.
external-ip=127.0.0.1
Remplacez 127.0.0.1 par l'adresse IP publique de votre serveur. Enregistrez et fermez le fichier. Redémarrez ensuite Coturn.
sudo systemctl restart coturn