Cómo instalar la plataforma de videoconferencia Jitsi en Debian 11
Jitsi es una solución gratuita de código abierto para construir una plataforma de videoconferencia segura. Jitsi se basa en software de código abierto como coturn, prosody, jitsi video bridge, jitsi meet, etc. Los principales componentes de Jitsi son el puente de vídeo Jitsi y Jitsi meet, que permiten a los usuarios iniciar conferencias a través de Internet,
Jitsi es compatible con el estándar abierto WebRTC para la comunicación web. Jitsi es compatible con el estándar abierto WebRTC para la comunicación web y ofrece mejor calidad, baja latencia y enrutamiento de vídeo avanzado con estimación del ancho de banda y codificación de vídeo escalable.
En el lado del cliente, Jitsi ofrece aplicaciones para varios sistemas, incluido Jitsi Desktop para usuarios de ordenador y clientes Android e iOS.
Requisitos previos
Este artículo repasará la instalación y configuración de la Videoconferencia Jitsi en la última versión de Debian 11 Bullseye. Al final de esta guía, podrás crear una reunión utilizando la Videoconferencia Jitsi.
Antes de empezar, asegúrate de que tienes los siguientes requisitos:
- Sistema Operativo: Debian 11 Bullseye
- Privilegios de root
Ahora comencemos.
Instalar las dependencias de los paquetes
El primer paso es instalar algunas dependencias de paquetes como gnupg2, nginx-full, sudo, apt-transport-https, curl y java OpenJDK.
1. Actualiza tu repositorio Debian e instala esos paquetes encima utilizando el siguiente comando.
sudo apt install apt-transport-https gnupg2 nginx-full sudo curl -y
2. Jitsi requiere Java OpenJDK versión 1.8 o 1.11; el repositorio Debian por defecto proporciona Java OpenJDK 1.11.
Ahora ejecuta el siguiente comando para instalar los paquetes Java OpenJDK.
sudo apt install default-jdk -y
Una vez finalizada la instalación, comprueba la versión de Java OpenJDK con la siguiente orden.
java -version
Verás una salida similar a la siguiente.
openjdk version "11.0.13" 2021-10-19 OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1) OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)
Una vez instalados todos los paquetes, pasa a configurar los repositorios Jitsi y Prosody.
Añadir los repositorios Jitsi y Prosody
Jitsi tiene componentes esenciales como Jitsi Videbridge, Jicofo, Jigasi, Prosody (software externo), etc.
Antes de instalar Jitsi, debes añadir el repositorio de Prosody y Jitsi a tu sistema. Para ello, ejecuta los siguientes comandos.
1. Añade el repositorio Prosody y la clave GPG utilizando el comando que se indica a continuación.
echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
2. Añade el repositorio Jitsi y la clave GPG utilizando el comando siguiente.
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
3. A continuación, actualiza y refresca tu repositorio Debian utilizando el comando que aparece a continuación.
sudo apt update
Configurar el cortafuegos UFW y los límites de Systemd
Por razones de seguridad, se recomienda ejecutar Jitsi con un cortafuegos UFW. Además, para obtener un mejor rendimiento de Jitsi, necesitas aumentar los límites (máximo de archivos abiertos, máximo de procesos) en tu sistema Debian.
1. Ejecuta el siguiente comando para instalar los paquetes del cortafuegos UFW.
sudo apt install ufw -y
2. Tras la instalación de UFW, ejecuta el comando «ufw» que aparece a continuación para abrir algunos puertos para Jitsi.
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 10000/udp sudo ufw allow 22/tcp sudo ufw allow 3478/udp sudo ufw allow 5349/tcp
3. Ahora ejecuta el siguiente comando para iniciar y habilitar el servicio UFW.
sudo ufw enable
Escribe«y» para confirmar y pulsa«Intro» para habilitarlo, y habrás activado el cortafuegos UFW en tu sistema Debian.
Detalla los puertos para Jitsi:
- Puerto 80/tcp: El puerto HTTP generará SSL Let’sencrypt.Puerto 443/tcp: Las peticiones de los clientes se asegurarán mediante el protocolo HTTPS.
- Puerto 10000/udp: puerto general de comunicación de vídeo y audio.
- Puerto 22/tcp: Puerto SSH por defecto para gestionar el servidor Jitsi.
- Puerto 3478/udp: Puesta en cola del servidor STUN.
- Puerto 5349/tcp: puerto de reserva para comunicaciones de audio y vídeo a través de TCP (si los puertos UDP están bloqueados, se utilizará este puerto).
3. Para establecer los límites de máximo de archivos abiertos, máximo de procesos y máximo de tareas, tienes que editar la configuración‘/etc/systemd/system.conf ‘ utilizando el editor nano.
sudo nano /etc/systemd/system.conf
Para las aplicaciones Java, se recomienda establecer los límites máximos en ‘65000’. Copia y pega la siguiente configuración.
DefaultLimitNOFILE=65000 DefaultLimitNPROC=65000 DefaultTasksMax=65000
guarda la configuración y sal.
4. A continuación, reinicia tu servidor e inicia sesión de nuevo, luego verifica la configuración de los límites del sistema utilizando el siguiente comando.
systemctl show --property DefaultLimitNPROC systemctl show --property DefaultLimitNOFILE systemctl show --property DefaultTasksMax
Asegúrate de que el valor de‘DefaultLimitNPROC‘ (procesos máximos),‘DefaultLimitNOFILE‘ (archivos abiertos máximos), y‘DefaultTasksMax‘ (límites máximos de hilos) es‘65000‘.
Generar SSL Letsencrypt con Certbot
En este paso, instalarás la herramienta certbot y generarás SSL letsencrypt para asegurar la instalación de Jitsi.
1. Ejecuta el siguiente comando apt para instalar la herramienta certbot.
sudo apt install certbot -y
2. Una vez finalizada la instalación de certbot, detén el servicio Nginx y genera SSL letsencrypt utilizando el comando certbot que aparece a continuación. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio.
sudo systemctl stop nginx sudo certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d example.io
Si se completan todos los procesos, verás tus certificados SSL en el directorio‘/etc/letsencrypt/live/jitsi.example.io/‘. El certificado Público es‘fullchain.pem’, y la clave Privada es‘privkey.pem‘.
Instalación de la videoconferencia Jitsi en Debian 11
En este paso, instalarás y configurarás la videoconferencia Jitsi en el servidor Debian.
1. Instala los paquetes Jitsi utilizando el siguiente comando apt.
sudo apt install jitsi-meet
Escribe«y» para confirmar la instalación y pulsa«Enter» para continuar.
Durante la instalación, se te pedirán algunas configuraciones a continuación.
Para el nombre de dominio, escribe la instalación de tu dominio Jitsi y selecciona ‘Ok‘.
Para la configuración del certificado SSL, selecciona ‘Quiero utilizar mi propio certificado’ y‘Ok’.
Ahora escribe la ruta completa de tu clave privada SSL‘privkey.pem‘ y selecciona‘Ok’.
Ahora escribe la ruta completa de la clave pública SSL ‘fullchain.p em’ y selecciona‘Ok’.
Ahora ya has completado la instalación de la Videoconferencia Jitsi.
2. A continuación, verifica todos los servicios Jitsi utilizando los siguientes comandos.
Verifica el servicio coturn y asegúrate de que está activo y funcionando.
sudo systemctl status coturn
Verifica los servicios jicofo y jitsi-videobridge y asegúrate de que ambos están activos y en ejecución.
sudo systemctl status jicofo sudo systemctl status jitsi-videobridge2
Verifica el servicio prosody y asegúrate de que está activo y funcionando.
sudo systemctl status prosody
Y por último, inicia y verifica el servicio Nginx utilizando el siguiente comando.
sudo systemctl start nginx sudo systemctl status nginx
Si los servicios se detuvieron, puedes iniciarlos utilizando el comando systemctl.
Ahora pasa al siguiente paso para configurar la autenticación en la Videoconferencia Jitsi.
Habilitar la autenticación en la videoconferencia Jitsi
En este paso, habilitarás la autenticación en la Videoconferencia Jitsi. Con este método, sólo el moderador con la autenticación correcta podrá iniciar la reunión con Jitsi.
1. En primer lugar, debes habilitar la autenticación en el servicio Prosody y definir el dominio invitado.
Edita la configuración de Prosody para la instalación del dominio Jitsi. En este ejemplo, el dominio es‘jitsi.ejemplo.io‘.
sudo nano /etc/prosody/conf.d/jitsi.example.io.cfg.lua
Cambia la autenticación por defecto‘anonymous‘ por‘internal_hashed‘ como se indica a continuación.
VirtualHost "jitsi.example.io" -- enabled = false -- Remove this line to enable this host authentication = "internal_hashed"
Añade un nuevo host virtual para invitados con el nombre‘invitado.jitsi.ejemplo.io’ como se indica a continuación.
VirtualHost "guest.jitsi.example.io" authentication = "anonymous" c2s_require_encryption = false
Guarda la configuración y sal.
2. A continuación, debes añadir el dominio invitado/anónimo a la configuración de Jitsi Meet.
Edita la configuración de Jitsi Meet‘jitsi.example.io-config.js‘ utilizando el editor nano.
sudo nano /etc/jitsi/meet/jitsi.example.io-config.js
Añade el dominio anónimo‘guest.jitsi.example.io’ a la sección‘hosts‘ como se indica a continuación.
hosts: { // XMPP domain. domain: 'jitsi.example.io',
// When using authentication, domain for guest users.
// anonymousdomain: ‘guest.example.com’,
anonymousdomain: ‘guest.jitsi.example.io’,
Guarda la configuración y sal.
3. Crea una nueva configuración,‘sip-communicator.properties‘, en el directorio de configuración de jicofo.
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
Copia y pega la siguiente configuración. Esto permitirá peticiones desde un dominio autenticado‘jitsi.example.io‘ al jicofo.
org.jitsi.jicofo.auth.URL=XMPP:jitsi.example.io
Guarda la configuración y sal.
4. Reinicia todos los servicios Jitsi utilizando el siguiente comando para aplicar las nuevas configuraciones.
sudo systemctl restart prosody sudo systemctl restart jicofo sudo systemctl restart jitsi-videobridge2 sudo systemctl restart nginx
5. Por último, debes crear un nuevo usuario moderador para tu Videoconferencia Jitsi utilizando el siguiente comando prosodyctl. Asegúrate de cambiar el usuario, el nombre de dominio y la contraseña.
sudo prosodyctl register johndoe jitsi.example.io SecretPasswd
Ahora ya has habilitado correctamente la autenticación en la Videoconferencia Jitsi. Y estás listo para iniciar una nueva primera reunión con Jitsi.
Crear la primera reunión con Jitsi
1. Abre tu navegador web y escribe el dominio de tu instalación de Jitsi en la barra de direcciones.
https://jitsi.example.io/
2. Para crear la primera sala de reuniones, escribe el nombre de tu sala de reuniones y haz clic en el botón «Iniciar reunión«.
3. Aparecerá la ventana emergente ‘Esperando al anfitrión …’. Haz clic en el botón ‘Yo soy el anfitri ón’ para iniciar la reunión.
4. Ahora, escribe el usuario moderador de Jitsi y la contraseña, y haz clic en el botón ‘Iniciar sesión‘.
5. Y verás la pantalla de tu sala de reuniones Jitsi.
Ahora ya has creado la primera reunión utilizando la Videoconferencia Jitsi.
Conclusión
¡Enhorabuena! Has aprendido la instalación básica de la Videoconferencia Jitsi en Debian 11 Bullseye. Además, has aprendido a configurar un cortafuegos UFW, a configurar los límites del sistema y a generar SSL Letsencrypt con la herramienta certbot.
Al final del tutorial, habrás aprendido a activar la autenticación en Jitsi y a iniciar la primera reunión con la Videoconferencia Jitsi.