---
title: Howto Jitsi
category: Communication
...

* <https://github.com/jitsi/jitsi-meet/>

Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences.

## Installation

### Pré-requis

Il est important que `/tmp` et `/usr/share/jitsi` soient en sur des partitions montées en `read-write` et en `exec`.

Si `/tmp` n'est pas "exec", l'audio/video ne marchera pas.  
Si `/usr/share/jitsi` n'est pas accessible en écriture, jicofo se plaindra de ne pas pouvoir acquérir de lock.

### Installation

* Ajouter le dépôt de Jitsi dans apt ainsi que la clé gpg du dépôt :

~~~
# curl https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor > /etc/apt/keyrings/jitsi.gpg
# chmod 644 /etc/apt/keyrings/jitsi.gpg
# echo 'deb [signed-by=/etc/apt/keyrings/jitsi.gpg] https://download.jitsi.org stable/' | tee /etc/apt/sources.list.d/jitsi.list > /dev/null
# chmod 644 /etc/apt/sources.list.d/jitsi.list 

# curl https://prosody.im/files/prosody-debian-packages.key | gpg --dearmor > /etc/apt/keyrings/prosody.gpg
# chmod 644 /etc/apt/keyrings/prosody.gpg
# echo 'deb [signed-by=/etc/apt/keyrings/prosody.gpg] http://packages.prosody.im/debian $(lsb_release -sc) main' | tee /etc/apt/sources.list.d/prosody.list > /dev/null
# chmod 644 /etc/apt/sources.list.d/prosody.list 

~~~

* Recharger la liste des dépôts du système et installation du paquet apt-transport-https

~~~
# apt update
~~~

* Installer le paquet `jitsi-meet`

Lors de l'installation du paquet *jitsi-meet*, celui-ci vérifie si un serveur web, Apache ou Nginx est présent et configurera un vhost.
Si aucun serveur web n'est présent sur la machine, il installera et configurera Nginx.

~~~
# apt install jitsi-meet
~~~

Le daemon *jitsi-videobridge2* se contrôle avec une unité systemd :

~~~
# systemctl status jitsi-videobridge2.service
● jitsi-videobridge2.service - Jitsi Videobridge
     Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-01-08 22:55:09 CET; 27min ago
   Main PID: 7052 (java)
      Tasks: 85 (limit: 65000)
     Memory: 453.6M
        CPU: 49.299s
     CGroup: /system.slice/jitsi-videobridge2.service
             └─7052 java -Xmx3072m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/etc/jitsi/videobridge/jvb.conf -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jit>

Jan 08 22:55:09 jitsi01 systemd[1]: Starting Jitsi Videobridge...
Jan 08 22:55:09 jitsi01 systemd[1]: Started Jitsi Videobridge.
~~~


### Générer un certificat SSL Let's Encrypt

**Il faut bien vérifier que le nom de domaine configurer pour Jitsi pointe bien vers le serveur au niveau des DNS.**

À l'installation initiale, Jitsi va proposer de créer un certificat Let's Encrypt pour le domaine choisi, mais il est aussi possible de le faire plus tard.

Le paquet Jitsi incorpore un script qui permet de générer un certificat SSL Let's Encrypt, il faut exécuter le script suivant :

~~~
# /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
~~~

Par défaut Jitsi utilise [acme.sh](/HowtoAcme.sh) pour la gestion des certificats. Le renouvellement est configuré dans la crontab de `root`.

### Autorisé l'accès à l'API pour l'utilisation de l'application Jitsi desktop :

Si on désire que l'instance Jitsi soit fonctionnelle avec l'application Jitsi desktop, application Electron, il faut autoriser l'accès à l'API, exemple de configuration dans un vhost nginx :

~~~
location /external_api.js {
    alias /usr/share/jitsi-meet/libs/external_api.min.js;
}
~~~

Il faut aussi vérifié que les Headers suivants ne soit pas activé dans nginx, car cela bloque l'accès à l'instance par l'application :

~~~
Content-Security-Policy "frame-ancestors 'none'";
X-Frame-Options "DENY";
~~~

## Ouvrir une conférence

Lancer un navigateur web et entrer le nom de domaine, ou l'adresse ip, que l'on a renseigné dans la configuration de Jitsi.

Par défaut Jitsi génère un certificat auto-signé, il faut accepter celui-ci.

## Conférences actives

Il est possible d'avoir un aperçu des conférences actives grâce à la commande suivante :

~~~
# tail -f /var/log/jitsi/jvb.log | grep "conf_name="
~~~
