Skip to content
Home » Jitsi Meet: solución de videoconferencia de código abierto más potente y segura

Jitsi Meet: solución de videoconferencia de código abierto más potente y segura

Jitsi Meet es una de las soluciones de videoconferencia de código abierto más potentes y seguras que puedes desplegar en tu propio servidor. A diferencia de las soluciones en contenedores como Docker, la instalación como paquete nativo en Debian ofrece un rendimiento excelente y una integración directa con el sistema.

Recuerda que es una buena alternativa a Teams o Zoom, con nuestra instalación no tendremos limitaciones de tiempo y tendremos las misma prestaciones (compartir, grabar la conferencia … ).

Requisitos Previos

Antes de empezar, asegúrate de cumplir con lo siguiente:

  • Un servidor para uso moderado (10-30 personas simultáneas): 4-8 GB RAM + 4 núcleos recomendados.
  • Un servidor con Debian (vale otra distro de Linux, variará como instalamos el paquete) instalado y acceso root o privilegios sudo.
  • Un nombre de dominio (FQDN) apuntando a la dirección IP de tu servidor (ej. videoconferencia.tu-dominio.com).
  • Puertos abiertos en tu firewall:
    • 80/TCP (HTTP para renovación de certificados)
    • 443/TCP (HTTPS para el acceso web)
    • 10000/UDP (Tráfico de video y audio)
    • 22/TCP (SSH puede ser otro que tengas configurado para acceso por SSH)

Preparación del Sistema

Primero, actualizamos los paquetes e instalamos algunas dependencias necesarias para gestionar repositorios seguros.

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget gnupg2 apt-transport-https

Agregar el Repositorio Oficial de Jitsi

Para instalar los paquetes y recibir las actualizaciones automáticas mediante apt, debemos añadir la clave GPG y el repositorio de Jitsi.

Descargar la clave GPG:

curl -sS https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jitsi-keyring.gpg > /dev/null

Añadir el repositorio a la lista de fuentes:

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

sudo apt update

Instalación de Jitsi Meet

Ahora procedemos a instalar el paquete principal. Este proceso descargará automáticamente otros componentes como Prosody (XMPP), Jicofo (foco de la conferencia) y el Jitsi Videobridge.

sudo apt install -y jitsi-meet

Durante la instalación, se te pedirán dos cosas:

  1. Nombre de host: Introduce tu dominio (ej. videoconferencia.tu-dominio.com).
  2. Certificado SSL: Selecciona la opción “Generate a new self-signed certificate”. Lo cambiaremos por uno real de Let’s Encrypt en el siguiente paso.

Configurar el Certificado SSL (Let’s Encrypt)

Jitsi incluye un script que automatiza la obtención de un certificado gratuito y seguro para que tu conexión sea HTTPS.

Ejecuta el siguiente comando:

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

Te pedirá un correo electrónico para avisarte sobre la renovación del certificado. Una vez finalizado, tu instancia de Jitsi será segura.

Verificación y Uso

¡Listo! Ahora puedes abrir el navegador y escribir tu dominio: [https://videoconferencia.tu-dominio.com]

Componentes instalados:

  • Jitsi Meet: La interfaz web (Javascript).
  • Prosody: Servidor de mensajería que gestiona la señalización.
  • Jicofo: Gestiona quién entra y sale de las salas.
  • Jitsi Videobridge (JVB): El motor que retransmite los flujos de video entre participantes.

Securización: Autenticación por Usuario y Contraseña

Por defecto, Jitsi es “abierto”, pero configuraremos el sistema para que solo los usuarios registrados puedan crear salas, aunque los invitados externos puedan unirse si tienen el enlace (o la clave de la sala).

Paso A: Configurar el Dominio Virtual

Edita el archivo de configuración de Prosody (sustituye tu-dominio.com por el tuyo):

sudo nano /etc/prosody/conf.d/tu-dominio.com.cfg.lua

Busca la línea authentication = "jitsi-anonymous" y cámbiala por:

authentication = "internal_plain"

Al final del archivo, añade una sección para permitir que los invitados se unan de forma anónima una vez creada la sala:

VirtualHost "guest.tu-dominio.com"
    authentication = "anonymous"
    c2s_require_encryption = false
Paso B: Configurar Jitsi Meet

Edita el archivo de configuración de la interfaz web:

sudo nano /etc/jitsi/meet/tu-dominio.com-config.js

Busca la línea anonymousdomain: (suele estar comentada) y déjala así:

anonymousdomain: 'guest.tu-dominio.com',
Paso C: Configurar Jicofo

Indica al componente Jicofo dónde debe validar a los moderadores:

sudo nano /etc/jitsi/jicofo/jicofo.conf

Añade o modifica la sección authentication:

jicofo {
  authentication {
    enabled = true
    type = XMPP
    login-url = "tu-dominio.com"
  }
}
Paso D: Crear Usuarios y Reiniciar

Crea tu primer usuario administrador:

sudo prosodyctl register nombre_usuario tu-dominio.com tu_contraseña

Finalmente, reinicia los servicios:

sudo systemctl restart prosody jicofo jitsi-videobridge2

Personalización: Logo y Marca

Jitsi permite modificar la apariencia visual editando sus archivos de configuración de interfaz.

Cambiar el Logo (Marca de agua)

  • Sube tu logo en formato .png al servidor (ej. mediante SCP o SFTP).Sobrescribe el archivo por defecto (haz una copia de seguridad primero):

  • sudo cp /usr/share/jitsi-meet/images/watermark.svg /usr/share/jitsi-meet/images/watermark.svg.bak
    sudo cp ruta/de/tu/nuevo_logo.png /usr/share/jitsi-meet/images/watermark.svg

    (Nota: Aunque el archivo original sea .svg, Jitsi puede leer un .png si lo renombras o ajustas la ruta en la configuración).

    Cambiar el nombre de la App y Textos

    Edita el archivo interface_config.js:

    sudo nano /etc/jitsi/meet/interface_config.js

    Busca y modifica las siguientes variables:

    • APP_NAME: El nombre que aparece en la pestaña del navegador.
    • NATIVE_APP_NAME: El nombre que aparece al invitar a descargar la app móvil.
    • JITSI_WATERMARK_LINK: El enlace a donde irá el usuario si hace clic en tu logo.
    • SHOW_JITSI_WATERMARK: Cámbialo a false si quieres ocultar el logo original de Jitsi.

    Cambiar el fondo (Background)

    Si quieres cambiar el color de fondo o la imagen de la pantalla de bienvenida, debes editar el archivo CSS:

    sudo nano /usr/share/jitsi-meet/css/all.css

    Busca la clase .welcome-page y modifica el background-color o añade una background-image.

    Nota de seguridad: Cada vez que actualices el paquete jitsi-meet mediante apt upgrade, es posible que el sistema te pregunte si quieres conservar tus archivos de configuración o usar los del “package maintainer”. Elige siempre conservar los tuyos para no perder la autenticación y el logo.

    Para llevar tu servidor Jitsi al siguiente nivel profesional, vamos a configurar dos funciones clave: la grabación/streaming (mediante Jibri) y las notas compartidas en tiempo real (mediante Etherpad).

    Notas compartidas con Etherpad

    Esta es la función más sencilla de implementar y permite que todos los participantes editen un documento de texto simultáneamente durante la reunión.

    Instalación de Etherpad

    Jitsi no incluye Etherpad por defecto, así que lo instalamos en el mismo servidor (o uno externo):

    sudo apt install -y curl gift ttf-freefont
    # Instalamos Etherpad (usando el instalador simplificado o Docker es más rápido, 
    # pero aquí seguiremos la ruta de paquetes/fuente)

    Nota: Para una instalación rápida en Debian, muchos administradores usan el repositorio de nodos para levantar Etherpad-lite.

    Integración con Jitsi:

    Edita el archivo de configuración de tu dominio:

    sudo nano /etc/jitsi/meet/tu-dominio.com-config.js

    Busca la sección etherpad_base y configúrala así:

    etherpad_base: 'https://tu-dominio.com/etherpad/p/',

    Configurar Nginx (o Apache)

    Debes añadir una ubicación en el archivo de Nginx de Jitsi (/etc/nginx/sites-available/tu-dominio.com.conf) para que redirija el tráfico de /etherpad al puerto local donde corre Etherpad (normalmente el 9001).

    Grabación y Streaming (Jibri)

    Jibri (Jitsi Broadcasting Infrastructure) es el componente más “exigente”. Funciona lanzando una instancia invisible de Chrome que “mira” la reunión y la graba o la emite.

    Requisitos Críticos:

    Módulo de Kernel Loopback Audio: Necesario para capturar el sonido.

    sudo apt install -y linux-modules-extra-$(uname -r) # En algunos sistemas
    sudo modprobe snd-aloop
    echo "snd-aloop" | sudo tee -a /etc/modules

    Hardware: Jibri consume mucha CPU. Se recomienda al menos 2 vCPUs y 4GB de RAM adicionales.

    Instalación de Jibri:

    • Descarga el paquete:
    sudo apt install -y jibri ffmpeg chromium-browser
    • Configuración de cuentas XMPP:

    Jibri necesita dos cuentas especiales en tu servidor Prosody para “entrar” a la reunión sin ser un usuario real.

    sudo prosodyctl register jibri auth.tu-dominio.com contraseña_jibri
    sudo prosodyctl register recorder recorder.tu-dominio.com contraseña_recorder
    • Configuración de Jibri:

    Debes editar /etc/jitsi/jibri/jibri.conf y /etc/jitsi/jibri/config.json para añadir las credenciales creadas y definir dónde se guardarán los videos (ej. /srv/recordings).

    • Habilitar en la interfaz:

    Vuelve a /etc/jitsi/meet/tu-dominio.com-config.js y busca:

    fileRecordingsEnabled: true,
    liveStreamingEnabled: true,

    Si vas a grabar mucho, el almacenamiento del servidor se llenará rápido. Te recomiendo montar un volumen externo o configurar un script que suba los archivos .mp4 de /srv/recordings a la nube (S3, Google Drive, etc.) al finalizar la sesión.