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-homepage-visio-video-conference

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