Une relecture est en cours. FIche non validée !


Jitsi Meet


Jitsi Meet est un service Web de vidéoconférence. Le présent tutoriel s'inspire largement de la documentation d'installation et d'administration disponible sur le site officiel : https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart.

Configuration de la machine

Configuration locale du nom de domaine :
hostnamectl set-hostname videoconf.defis.info

Dans /etc/hosts :
127.0.0.1 localhost videoconf.defis.info

Ports à ouvrir dans le pare-feu (ufw?):
- 80 (TCP)
- 443 (TCP)
- 4443 (TCP)
- 10000 (UDP)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 4443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw enable

Installation de nginx et configuration virtualhost

apt install apt-transport-https gnupg2
#support pour l'authentification des certificats

Génération du certificat (Procédure automatique via let's encrypt)
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Installation du service

Ajoût du dépôt de Jitsi

apt install apt-transport-https
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
  • apt update
  • apt install jitsi-meet

Génération du certificat (Procédure automatique via let's encrypt)
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Si reverse proxy (nginx) :
- supprimer /etc/nginx/modules-enables/60-jitsi-meet.conf
- changer port écoute (443 -> 4444) dans /etc/nginx/sites-available/videoconf.defis.info.conf

Configuration du service

#Script
On a écrit un petit script pour installer rapidement jitsi sur une debian 10 (buster) net install.

On le met à disposition sur madata en attendant. Ainsi, avec

wget https://madata.defis.info/jitsi.sh
sudo chmod +x jitsi.sh
sudo ./jitsi.sh
sudo reboot


on peut facilement installer Jitsi.
Reste à ouvrir les ports suivants sur le modem
80 TCP
443 TCP
4443 TCP
10000-20000 UDP

Le contenu du script est :

#!/bin/bash

apt install -y ssh sudo ufw apt-transport-https gnupg2
ufw allow in ssh
ufw allow in http
ufw allow in https
ufw allow in 4443/tcp
ufw allow in 10000:20000/udp
ufw enable
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
apt -y update
apt -y install jitsi-meet
ip a
echo "Noter l'adresse IP interne SVP"
sleep 5s
echo "INTERNAL.IP.ADDRESS":
read INTERNAL
echo "org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=$INTERNAL" >> /etc/jitsi/videobridge/sip-communicator.properties
echo "PUBLIC.IP.ADDRESS":
read PUBLIC
echo "org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=$PUBLIC" >> /etc/jitsi/videobridge/sip-communicator.properties
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh


Si vous installez dans un container derrière un reverse proxy nginx, pensez à bien sélectionner l'option de certificat autosigné lors de l'installation. Le script fonctionne mais il échouera à la dernière étape (script de let's-encrypt) puisque votre container n'est pas accessible depuis l'extérieur par le port 443.
Ce n'est pas grave car vous installez le certificat Let's-encrypt dans le container du reverse proxy nginx.
Il faut par contre, dans le contanier de jitsi, supprimer le fichier /etc/nginx/modules-enables/60-jitsi-meet.conf et remplacer le port 4444 par le port 443 dans le fichier de conf qui se trouve dans /etc/nginx/sites-available/

rm /etc/nginx/modules-enables/60-jitsi-meet.conf
nano /etc/nginx/sites-available/*.conf


et dans le contanier du reverse proxy s'assurer que dans le fichier de conf qui se trouve dans /etc/nginx/sites-available/, le proxy_pass soit bien en https et non en http.

proxy_pass https://xxx.xxx.xxx.xxx;