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;