En ces temps de confinement, il peut être intéressant de se retrouver entre amis, ou entre collègues. Mais difficile de choisir la bonne application, tout en respectant les règles dictées par la DSI de son entreprise, ou simplement les bonnes pratiques en matière de confidentialité. Nous allons parler aujourd’hui de Jitsi.
Jitsi, d’où ça sort ?
Jitsi Meet va à contre-courant de tout ce qui existe. Plus proche d’une solution de réunion vidéo comme Zoom, Jitsi Meet est une solution gratuite, libre, et accessible sur toutes les plates-formes. Ici, les utilisateurs ne s’appellent pas directement en choisissant un ou plusieurs contacts. Le service vous demandera, en amont, de créer une sorte de salle de réunion que vos proches, amis et collègues pourront rejoindre une fois que vous leur aurez partagé les informations d’accès. Jitsi Meet est accessible directement depuis votre navigateur web ou depuis les applications mobiles iOS et Android.
Installation de Jitsi
Les prérequis
Pour installer Jitsi, il vous faudra un serveur dédié, ou mutualisé, avec un accès root. Nous utiliserons les repos officiels de Jitsi pour son installation afin de rester Up to Date pour les futurs mises à jour.
Tuto réalisé sur une instance Scaleway sous Ubuntu 18.04.4.
Récupération des sources, dépôt et clé GPG
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 | sudo apt-key add -
apt update
Installation
Si vous partez d’une fresh Install, utilisez la commande suivante :
apt -y install jitsi-meet
Si vous utilisez un serveur existant, disposant déjà d’un serveur Web Nginx ou Apache, utilisez plutôt celle-ci :
apt install --no-install-recommends jitsi-meet
Durant l’installation, il vous sera demandé :
- Le hostname du serveur, il s’agit ici du server_name utilisé pour le virtualhost.
- Le type de certificat SSL à utiliser. Certificat auto signé, ou Let’s Encrypt. Le challenge utilisé est le challenge HTTP. Si vous choisissez Let’s Encrypt, faites en sorte que votre domaine pointe bien sur votre serveur. Sinon, vous aurez la possibilité de réaliser cette génération ultérieurement avec la commande suivante :
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Configuration
Au niveau firewall, il y a quelques ports à ouvrir, les voici :
- 443/TCP
- 4443/TCP
- 10000/UDP
Il vous faudra ensuite modifier un fichier de configuration, celui de Jitsi videobridge. Ouvrez donc le fichier /etc/jitsi/videobridge/sip-communicator.properties et ajoutez ces deux lignes :
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
Et commentez cette ligne :
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES
Redémarrez les services :
service jitsi-videobridge2 restart
Enfin, visitez le domaine renseigné en début d’installation. Vous êtes sur la homepage de votre propre serveur de visio conférence !
Problèmes fréquents
L’installation quick-install fournie par Jitsi sur un Ubuntu 20.04, installe la version 15 de Java. Cette dernière pose problème lors de la création d’un slot de conférence. Il se peut que vous rencontriez les erreurs suivantes :
Unrecognized VM option 'UseConcMarkSweepGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Il se peut également que lors du démarrage de la solution, le service ne démarre pas correctement et soit en status loading.
Pour contourner ce problème, nous allons modifier quelques variables systèmes et installer la version 8 de Java
Configuration Système
Modifiez le fichier /etc/systemd/system.conf et décommettez les lignes suivantes en modifiant les valeurs :
DefaultTasksMax=65000
DefaultLimitNPROC=65000
DefaultLimitNOFILE=65000
Rechargez la configuration et testez-là :
systemctl daemon-reload
systemctl show --property DefaultLimitNPROC
Vous devriez donc voir apparaître les nouvelles valeurs.
Configuration Jitsi
Modifiez le fichier /etc/jitsi/jicofo/sip-communicator.properties et ajoutez la ligne suivante :
org.jitsi.jicofo.HEALTH_CHECK_INTERVAL=-1
Installation de Java 8
Nous allons désormais installer la version 8 de Java et modifier la configuration système pour utiliser cette dernière en version par défaut :
apt install default-jre
apt install openjdk-8-jre-headless
Ensuite, lancez la commande suivante pour modifier la configuration par défaut :
update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).
Ici, sélectionnez le numéro correspondant à la version 8, puis testez en exécutant la commande suivante :
java -version
openjdk version "1.8.0_275"
Redémarrage des services
Enfin, redémarrer les services Jitsi :
service jicofo stop
service jitsi-videobridge2 stop
service jicofo start
service jitsi-videobridge2 start
Tout devrait désormais fonctionner correctement :
systemctl status jitsi-videobridge2
Pour plus d’informations sur la configuration, vous pouvez suivre la procédure officielle : https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md#advanced-configuration