---
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 ne écriture, jicofo se plaindra de ne pas pouvoir acquérir de lock.

### Installation en Debian 10

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

~~~
# 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/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
~~~

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

~~~
# sudo apt-get -y update && apt install apt-transport-https
~~~

* 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 servira les connexions via Jetty.

Si l'on veut que Jitsi fonctionne avec un serveur web, il faut donc s'assurer que Apache ou Nginx soit bien installer **avant** l'installation du paquet.

* <https://wiki.evolix.org/HowtoApache>
* <https://wiki.evolix.org/HowtoNginx>

~~~
# sudo apt-get -y install jitsi-meet
~~~

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

~~~
# systemctl status jitsi-videobridge.service

● jitsi-videobridge.service - Jitsi Videobridge
   Loaded: loaded (/lib/systemd/system/jitsi-videobridge.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-03-13 11:17:30 CET; 55s ago
 Main PID: 19798 (java)
    Tasks: 49 (limit: 65000)
   Memory: 165.1M
   CGroup: /system.slice/jitsi-videobridge.service
           └─19798 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.library.path=/usr/share/jitsi-videobridge
~~~


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

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
~~~

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

### 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 électron, il faut autorisé 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="
~~~
