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‘.

Configuración del dominio Jitsi

Para la configuración del certificado SSL, selecciona ‘Quiero utilizar mi propio certificado’ yOk’.

utiliza tu certificado para jitsi

Ahora escribe la ruta completa de tu clave privada SSL‘privkey.pem‘ y seleccionaOk’.

Clave privada SSL Jitsi

Ahora escribe la ruta completa de la clave pública SSL ‘fullchain.p em’ y seleccionaOk’.

Clave pública SSL de Jitsi

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«.

Reunión de inicio de Jitsi

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.

Autenticación Jitsi para Moderador

4. Ahora, escribe el usuario moderador de Jitsi y la contraseña, y haz clic en el botón ‘Iniciar sesión‘.

Jitsi authentiction moderador

5. Y verás la pantalla de tu sala de reuniones Jitsi.

Encuentro 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.

También te podría gustar...