wiki/HowtoJitsi.md

114 lines
4.3 KiB
Markdown
Raw Normal View History

---
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
2020-05-02 09:47:27 +02:00
### 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.
2023-01-08 23:33:27 +01:00
Si `/usr/share/jitsi` n'est pas accessible en écriture, jicofo se plaindra de ne pas pouvoir acquérir de lock.
2020-05-02 09:47:27 +02:00
2023-01-08 23:33:27 +01:00
### Installation
2023-01-08 23:33:27 +01:00
* Ajouter le dépôt de Jitsi dans apt ainsi que la clé gpg du dépôt :
~~~
2023-01-08 23:33:27 +01:00
# 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
~~~
2023-01-08 23:33:27 +01:00
* Recharger la liste des dépôts du système et installation du paquet apt-transport-https
~~~
2023-01-08 23:33:27 +01:00
# 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.
2023-01-08 23:33:27 +01:00
Si aucun serveur web n'est présent sur la machine, il installera et configurera Nginx.
2022-04-12 16:06:38 +02:00
~~~
2023-01-08 23:33:27 +01:00
# apt install jitsi-meet
~~~
2023-01-08 23:33:27 +01:00
Le daemon *jitsi-videobridge2* se contrôle avec une unité systemd :
2020-03-13 14:20:08 +01:00
~~~
2023-01-08 23:33:27 +01:00
# 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>
2020-03-13 14:20:08 +01:00
2023-01-08 23:33:27 +01:00
Jan 08 22:55:09 jitsi01 systemd[1]: Starting Jitsi Videobridge...
Jan 08 22:55:09 jitsi01 systemd[1]: Started Jitsi Videobridge.
2020-03-13 14:20:08 +01:00
~~~
### Générer un certificat SSL Let's Encrypt
2023-01-08 23:33:27 +01:00
**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
~~~
2023-01-08 23:33:27 +01:00
Par défaut Jitsi utilise [acme.sh](/HowtoAcme.sh) pour la gestion des certificats. Le renouvellement est configuré dans la crontab de `root`.
2020-05-07 11:56:59 +02:00
### Autorisé l'accès à l'API pour l'utilisation de l'application Jitsi desktop :
2023-01-08 23:33:27 +01:00
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 :
2020-05-07 11:56:59 +02:00
~~~
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.
2021-03-30 18:09:06 +02:00
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="
~~~