bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Despliegue de Jitsi Meet

calendar_month Jun 04, 2026 schedule 20 min de lectura visibility 37 vistas
Развёртывание Jitsi Meet на VPS: безопасные видеоконференции с SSL и TURN-сервером
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Despliegue de Jitsi Meet en un VPS: videoconferencias seguras con SSL y servidor TURN

TL;DR

En esta guía detallada, configuraremos paso a paso nuestro propio servidor de videoconferencias Jitsi Meet en un servidor privado virtual (VPS) bajo Ubuntu 24.04 LTS. Garantizaremos la seguridad completa de la conexión mediante certificados SSL de Let's Encrypt y configuraremos un servidor TURN para un funcionamiento fiable en entornos de red complejos, para que pueda realizar videollamadas privadas y seguras para su equipo o comunidad.

  • Instalación y configuración básica del sistema operativo Ubuntu 24.04 LTS.
  • Despliegue de todos los componentes de Jitsi Meet (Jitsi Videobridge, Jitsi Meet Web, Prosody, Jicofo).
  • Configuración automática de certificados SSL Let's Encrypt para una conexión HTTPS segura.
  • Configuración del servidor TURN/STUN (Coturn) para sortear NAT y firewalls.
  • Garantía de seguridad básica del servidor y recomendaciones para copias de seguridad y mantenimiento.

¿Qué configuramos y por qué?

Esquema: ¿Qué configuramos y por qué?
Esquema: ¿Qué configuramos y por qué?

En el mundo moderno del trabajo remoto y los equipos distribuidos, las herramientas de comunicación fiables y seguras se han vuelto cruciales. Jitsi Meet es una plataforma de videoconferencias completamente gratuita y de código abierto, que permite crear videollamadas de alta calidad directamente en el navegador, sin necesidad de instalar aplicaciones adicionales. A diferencia de las soluciones propietarias, como Zoom o Google Meet, Jitsi Meet ofrece un control total sobre los datos y la privacidad, ya que lo aloja en su propio servidor.

Configuraremos la pila completa de Jitsi Meet, que incluye: Jitsi Videobridge (enruta flujos de video y audio), Jitsi Meet Web (interfaz web), Prosody (servidor XMPP para señalización) y Jicofo (gestiona las conferencias). Un elemento clave de nuestra configuración será la garantía de seguridad mediante certificados SSL de Let's Encrypt, lo que garantiza el cifrado de todo el tráfico entre clientes y el servidor. Esto es crítico para proteger su información confidencial de la interceptación.

Además, desplegaremos y configuraremos un servidor TURN (Coturn). TURN (Traversal Using Relays around NAT) es un protocolo que permite que los flujos de medios pasen a través de entornos de red complejos, como firewalls corporativos y redes con NAT simétrico, donde una conexión P2P directa entre los participantes de la conferencia es imposible. Sin un servidor TURN, muchos usuarios experimentarán problemas de conexión, especialmente al intentar unirse a una conferencia desde redes de oficina o redes con acceso restringido. La presencia de su propio servidor TURN aumenta significativamente la fiabilidad y disponibilidad de su plataforma Jitsi Meet, asegurando una comunicación ininterrumpida para todos los participantes.

En resumen, al finalizar este tutorial, obtendrá una plataforma Jitsi Meet completamente funcional, segura y fiable, lista para usar por su equipo, clientes o para necesidades personales. Podrá realizar videoconferencias, compartir pantalla, usar el chat y otras funciones, sabiendo que todos los datos están bajo su control.

Las alternativas a Jitsi Meet en un VPS incluyen soluciones como BigBlueButton o Nextcloud Talk. Sin embargo, Jitsi Meet destaca por su facilidad de despliegue y una experiencia de cliente ligera que no requiere instalación. La elección de una solución autoalojada en un VPS en lugar de servicios gestionados en la nube se debe a varios factores: control total sobre los datos, ausencia de limitaciones en el número de participantes o la duración de las llamadas (dependiendo únicamente de la potencia de su servidor), la posibilidad de personalización y, a menudo, un costo más bajo a largo plazo en comparación con las suscripciones de pago a servicios comerciales.

¿Qué configuración de VPS se necesita para esta tarea?

Esquema: ¿Qué configuración de VPS se necesita para esta tarea?
Esquema: ¿Qué configuración de VPS se necesita para esta tarea?

La elección de una configuración de VPS adecuada para Jitsi Meet es crítica para el funcionamiento estable y la calidad de las videoconferencias. Los requisitos de recursos dependen en gran medida del número esperado de participantes simultáneos y de la intensidad de uso.

Requisitos mínimos para un equipo pequeño (hasta 10-15 participantes simultáneos):

  • Procesador (CPU): 2 núcleos x86-64, preferiblemente con una frecuencia de reloj de 2.5 GHz o superior. Jitsi Videobridge utiliza activamente la CPU para enrutar los flujos de medios.
  • Memoria RAM: 4 GB. Esto es suficiente para el sistema operativo y todos los componentes de Jitsi.
  • Espacio en disco: 50 GB SSD. El SSD garantiza una carga y un funcionamiento rápidos de todos los componentes.
  • Red: Conexión estable de 200 Mbps o superior. Es muy importante tener un buen canal de entrada y salida.

Plan de VPS recomendado para cargas medias (hasta 25-30 participantes simultáneos):

Para un funcionamiento más cómodo y la posibilidad de escalar, especialmente si se planean conferencias con un gran número de participantes, uso compartido de pantalla y grabación, se recomienda la siguiente configuración:

  • Procesador (CPU): 4 núcleos x86-64, de 3.0 GHz o superior.
  • Memoria RAM: 8 GB DDR4.
  • Espacio en disco: 100 GB SSD.
  • Red: Canal simétrico de 1 Gbit/s.

Un VPS con estas características se puede adquirir, por ejemplo, un VPS con las características indicadas. Es importante asegurarse de que el proveedor elegido ofrezca una red fiable y suficiente ancho de banda, ya que Jitsi Meet es muy sensible a la latencia y la calidad del canal.

Cuándo se necesita un servidor dedicado y no un VPS

Si planea realizar conferencias regularmente con 50 o más participantes simultáneos, o si necesita la capacidad de grabar múltiples conferencias simultáneamente (usando Jibri), entonces debería considerar el alquiler de un servidor dedicado. Un servidor dedicado le proporcionará acceso exclusivo a todos los recursos físicos, lo que eliminará la influencia de los "vecinos" del VPS en el rendimiento. Para tales escenarios, se requerirá un servidor dedicado con 8+ núcleos de CPU, 16+ GB de RAM y un disco NVMe de alta velocidad, así como un canal garantizado de 1 Gbit/s. Un servidor dedicado adecuado se puede encontrar entre las ofertas de servidores dedicados.

Ubicación: ¿cómo influye?

La ubicación de su VPS o servidor dedicado influye directamente en la latencia para los participantes de la conferencia. Cuanto más cerca esté el servidor de la mayoría de sus usuarios, menor será la latencia y mejor será la calidad del video y el audio. Elija un centro de datos ubicado geográficamente cerca de su audiencia principal. Por ejemplo, si su equipo se encuentra en Europa, elija un servidor en un centro de datos europeo. Una alta latencia puede provocar "lag", desincronización de audio y video, y un deterioro general de la experiencia del usuario.

Preparación del servidor

Esquema: Preparación del servidor
Esquema: Preparación del servidor

Antes de instalar Jitsi Meet, es necesario realizar una preparación básica del servidor. Utilizaremos Ubuntu Server 24.04 LTS, ya que es la versión actual y soportada hasta 2026. Todos los comandos se ejecutan como un usuario con privilegios sudo.

1. Actualización del sistema

Primero, actualizaremos la lista de paquetes y los paquetes instalados a las últimas versiones:


sudo apt update -y         # Actualizamos la lista de paquetes disponibles
sudo apt upgrade -y        # Actualizamos todos los paquetes instalados
sudo apt autoremove -y     # Eliminamos paquetes innecesarios

2. Instalación de utilidades básicas

Nos aseguraremos de que estén instaladas las utilidades necesarias, que pueden ser útiles durante el proceso de configuración:


sudo apt install -y curl wget git net-tools apt-transport-https ca-certificates software-properties-common

3. Configuración del nombre de host y DNS

Para Jitsi Meet, es crítico tener un nombre de host (hostname) configurado correctamente y los registros DNS correspondientes. Elija un nombre de dominio, por ejemplo, meet.yourdomain.com. Asegúrese de que para este dominio, su proveedor de DNS tenga un registro A que apunte a la dirección IP pública de su VPS.

Estableceremos el nombre de host en el servidor:


sudo hostnamectl set-hostname meet.yourdomain.com       # Establecemos el nombre de host
echo "127.0.0.1 meet.yourdomain.com" | sudo tee -a /etc/hosts # Añadimos una entrada a /etc/hosts

Reemplace meet.yourdomain.com con su nombre de dominio real.

4. Configuración del firewall (UFW)

Configuraremos el firewall UFW (Uncomplicated Firewall) para garantizar la seguridad básica. Abriremos solo los puertos necesarios:


sudo ufw allow OpenSSH                                  # Permitimos el acceso SSH
sudo ufw allow http                                     # Permitimos HTTP (para Certbot)
sudo ufw allow https                                    # Permitimos HTTPS
sudo ufw allow 10000/udp                                # Puerto para Jitsi Videobridge (UDP)
sudo ufw allow 3478/udp                                 # Puerto para STUN/TURN (UDP)
sudo ufw allow 5349/tcp                                 # Puerto para TURN (TCP, si se usa)
sudo ufw enable                                         # Habilitamos el firewall
sudo ufw status verbose                                 # Verificamos el estado del firewall

En respuesta a sudo ufw enable, es posible que se requiera confirmación. Ingrese y.

5. Instalación de Fail2ban (protección contra fuerza bruta)

Fail2ban ayudará a proteger su servidor SSH de ataques de fuerza bruta, bloqueando las direcciones IP desde las cuales se producen múltiples intentos fallidos de inicio de sesión:


sudo apt install -y fail2ban                            # Instalamos Fail2ban
sudo systemctl enable fail2ban                          # Habilitamos el inicio automático de Fail2ban
sudo systemctl start fail2ban                           # Iniciamos Fail2ban

La configuración predeterminada para SSH suele ser suficiente. Si lo desea, puede crear el archivo /etc/fail2ban/jail.local para una configuración más detallada, por ejemplo:


sudo nano /etc/fail2ban/jail.local

Contenido del archivo:


[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 3
bantime = 1h

Guarde el archivo (Ctrl+X, Y, Enter) y reinicie Fail2ban:


sudo systemctl restart fail2ban

6. Creación de un usuario con sudo (opcional, pero recomendado)

Si está trabajando como root, se recomienda crear un nuevo usuario con privilegios sudo y trabajar con él para mejorar la seguridad:


sudo adduser username                                   # Creamos un nuevo usuario
sudo usermod -aG sudo username                          # Añadimos el usuario al grupo sudo

Reemplace username con el nombre de usuario deseado. Después de esto, cierre la sesión de root e inicie sesión con el nuevo usuario. Todos los comandos posteriores que requieran privilegios, ejecútelos con sudo.

El servidor está listo para la instalación de Jitsi Meet.

Instalación de software — paso a paso

Diagrama: Instalación de software — paso a paso
Diagrama: Instalación de software — paso a paso

Ahora que el servidor está preparado, procederemos con la instalación de Jitsi Meet y todos sus componentes. Utilizaremos los repositorios oficiales de Jitsi para Ubuntu.

1. Adición de repositorios de Jitsi

Jitsi Meet no se incluye en los repositorios estándar de Ubuntu, por lo que necesitamos añadir el repositorio oficial de Jitsi y su clave GPG para verificar la autenticidad de los paquetes.


# Descargamos la clave GPG del repositorio de Jitsi
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jitsi-keyring.gpg

# Añadimos el repositorio de Jitsi a la lista de fuentes de APT
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

# Actualizamos la lista de paquetes para que APT conozca el nuevo repositorio
sudo apt update -y

Estos comandos añadirán la clave y el repositorio, y luego actualizarán la caché de paquetes. Ahora el sistema sabe de dónde descargar Jitsi Meet.

2. Instalación de Jitsi Meet

Después de añadir el repositorio, se puede instalar el paquete principal jitsi-meet. Este paquete instalará todas las dependencias necesarias, incluyendo Jitsi Videobridge, Prosody, Jicofo y Nginx (u otro servidor web, si no está instalado).


sudo apt install -y jitsi-meet

Durante la instalación, se le pedirá que introduzca el nombre de host para su instancia de Jitsi Meet. Introduzca el nombre de dominio completo que configuró anteriormente (por ejemplo, meet.yourdomain.com). Este es un paso crítico para el correcto funcionamiento de Jitsi y los certificados SSL.

A continuación, se le pedirá que elija el método de configuración de los certificados SSL. Seleccione la opción "Generate a new self-signed certificate (You will later get a Let's Encrypt certificate)". Esto permitirá a Jitsi instalar un certificado autofirmado temporal, que luego reemplazaremos por uno completo de Let's Encrypt.

La versión de Jitsi Meet que se instalará será la versión "estable" actual para 2026, disponible en el repositorio.

3. Configuración de certificados SSL con Let's Encrypt

Jitsi Meet viene con un script conveniente para la instalación y configuración automática de certificados SSL de Let's Encrypt. Esto garantizará una conexión HTTPS segura.


# Ejecutamos el script para obtener el certificado SSL
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

El script le pedirá su dirección de correo electrónico. Esta dirección será utilizada por Let's Encrypt para notificaciones sobre la caducidad del certificado. Introdúzcala y pulse Enter. El script se conectará automáticamente con Let's Encrypt, realizará la verificación de propiedad del dominio (normalmente a través del desafío HTTP-01, utilizando el puerto 80 que abrimos en UFW) e instalará los certificados. También configurará la renovación automática de los certificados.

Si surgen errores, asegúrese de que:

  • Su nombre de dominio (por ejemplo, meet.yourdomain.com) apunta correctamente a la dirección IP pública de su VPS.
  • Los puertos 80 y 443 están abiertos en su firewall (UFW).
  • No hay otros servicios en el servidor que ocupen el puerto 80.

4. Instalación y configuración de Coturn (servidor TURN/STUN)

Aunque Jitsi Meet puede funcionar sin un servidor TURN separado en configuraciones de red simples, su presencia es fundamental para garantizar la comunicación entre participantes detrás de firewalls complejos o NAT. Jitsi instala automáticamente Coturn como dependencia, pero debe configurarse correctamente.


# Verificamos si Coturn está instalado (debería haberse instalado con jitsi-meet)
sudo apt install -y coturn

Ahora es necesario configurar Coturn. El archivo de configuración principal se encuentra en /etc/coturn/turnserver.conf. Realizaremos cambios para que funcione correctamente con Jitsi.


sudo nano /etc/coturn/turnserver.conf

Comente todas las líneas del archivo (añadiendo # al principio de cada línea) y añada los siguientes parámetros. Reemplace YOUR_PUBLIC_IP con la dirección IP pública de su VPS, y meet.yourdomain.com con su nombre de dominio:


# --- Configuración de Coturn para Jitsi Meet ---
# Puertos de escucha para TURN/STUN
listening-port=3478
tls-listening-port=5349

# Puertos mínimos/máximos para retransmisión UDP
min-port=49152
max-port=65535

# Dirección IP externa de su servidor
external-ip=YOUR_PUBLIC_IP

# Realm para autenticación (use su dominio)
realm=meet.yourdomain.com

# Usuario estático para autenticación (reemplace con credenciales fuertes)
# user=jitsi:JitsiStrongPassword123

# Usar un secreto compartido para la autenticación de Jitsi (recomendado)
# Este secreto debe coincidir con el configurado en Jitsi
static-auth-secret=YOUR_JITSI_SHARED_SECRET

# Habilitar registro detallado (opcional, para depuración)
# verbose

# Deshabilitar llamadas de bucle invertido
no-loopback-peers

# Deshabilitar huella digital TLS (opcional, para compatibilidad)
no-tls-system-certs

# Habilitar mecanismo de credenciales a largo plazo para seguridad
lt-cred-mech

# Configurar un archivo de registro
log-file=/var/log/coturn.log

# Deshabilitar el usuario predeterminado 'turnserver'
no-daemon

Importante: Reemplace YOUR_PUBLIC_IP con la dirección IP pública real de su VPS. Para static-auth-secret, genere un secreto robusto, por ejemplo, con el comando head /dev/urandom | tr -dc A-Za-z0-9_ | head -c 32 ; echo ''. Usaremos este mismo secreto más adelante en la configuración de Jitsi. Comente la línea user=jitsi:JitsiStrongPassword123 si utiliza static-auth-secret, que es el método preferido para Jitsi.

Guarde los cambios y salga del editor. Ahora es necesario habilitar Coturn e iniciarlo:


# Permitimos que Coturn se inicie como un servicio
sudo sed -i 's/#TURNSERVER_ENABLED=1/TURNSERVER_ENABLED=1/' /etc/default/coturn

# Reiniciamos el servicio Coturn para aplicar los cambios
sudo systemctl restart coturn

# Verificamos el estado del servicio Coturn
sudo systemctl status coturn

Asegúrese de que Coturn esté iniciado y funcionando sin errores. Si hay errores, revise el archivo /var/log/coturn.log.

5. Verificación de la instalación

Después de todos estos pasos, su servidor Jitsi Meet debería estar instalado y configurado. Abra un navegador web y vaya a la dirección de su dominio (por ejemplo, https://meet.yourdomain.com). Debería ver la página de bienvenida de Jitsi Meet. Intente crear una conferencia. Si todo funciona, la instalación básica se ha realizado con éxito.

Configuración

Diagrama: Configuración
Diagrama: Configuración

La instalación básica de Jitsi Meet ya es funcional, pero se requieren configuraciones adicionales para la optimización, seguridad e integración del servidor TURN. Revisaremos los archivos de configuración principales.

1. Configuración principal de Jitsi Meet (config.js)

Este archivo define el comportamiento de la parte cliente de Jitsi Meet. Se encuentra en la ruta /etc/jitsi/meet/yourdomain.com-config.js. Ábralo para editar:


sudo nano /etc/jitsi/meet/meet.yourdomain.com-config.js

Busque la sección // BOSH URL y asegúrese de que apunte a su dominio:


var config = {
    // ... otros parámetros
    bosh: 'https://meet.yourdomain.com/http-bind',
    // ...
};

Desplácese hacia abajo hasta la sección // STUN and TURN server configuration. Aquí añadiremos la configuración de nuestro servidor Coturn. Reemplace YOUR_PUBLIC_IP con la dirección IP pública de su VPS, y YOUR_JITSI_SHARED_SECRET con el secreto que utilizó en turnserver.conf.


var config = {
    // ...
    // Configuración del servidor STUN y TURN
    // Use su propio servidor TURN para mayor fiabilidad
    p2p: {
        enabled: true,
        preferH264: true,
        disableH264: true,
        useStunTurn: true, // Set to true to use STUN/TURN for P2P connections
        stunServers: [
            { urls: 'stun:meet.yourdomain.com:3478' } // Su dominio Jitsi
        ],
        turnServers: [
            { urls: 'turn:meet.yourdomain.com:3478', secret: 'YOUR_JITSI_SHARED_SECRET', username: 'jitsi' },
            { urls: 'turns:meet.yourdomain.com:5349', secret: 'YOUR_JITSI_SHARED_SECRET', username: 'jitsi' }
        ]
    },
    // ...
};

Importante: Asegúrese de que stun:meet.yourdomain.com:3478 y turn:meet.yourdomain.com:3478/turns:meet.yourdomain.com:5349 utilicen su nombre de dominio, no la dirección IP, para evitar problemas con SSL y DNS. El parámetro username: 'jitsi', en combinación con secret y static-auth-secret en Coturn, permite a Jitsi generar dinámicamente credenciales temporales para el servidor TURN.

Configuraciones útiles adicionales:

  • enableWelcomePage: false - deshabilita la página de bienvenida estándar de Jitsi si desea redirigir a los usuarios directamente a una conferencia.
  • defaultLanguage: 'ru' - establece el idioma ruso por defecto.

Guarde los cambios en el archivo config.js.

2. Configuración de Jicofo (sip-communicator.properties)

Jicofo gestiona la lógica de las conferencias. Su configuración se encuentra en el archivo /etc/jitsi/jicofo/sip-communicator.properties. Ábralo:


sudo nano /etc/jitsi/jicofo/sip-communicator.properties

Asegúrese de que las siguientes líneas estén presentes y configuradas correctamente (reemplace meet.yourdomain.com con su dominio):


# Jicofo usará el servidor XMPP en meet.yourdomain.com
org.jitsi.jicofo.xmpp.SERVER_HOSTNAME=meet.yourdomain.com

# Para autenticación con Coturn, si no se usa static-auth-secret
# org.jitsi.jicofo.TURN_HOST=meet.yourdomain.com
# org.jitsi.jicofo.TURN_PORT=3478
# org.jitsi.jicofo.TURN_USER=jitsi
# org.jitsi.jicofo.TURN_PASSWORD=JitsiStrongPassword123

# Si se usa secreto compartido (recomendado)
org.jitsi.jicofo.TURN_SHARED_SECRET=YOUR_JITSI_SHARED_SECRET

Si utiliza static-auth-secret en Coturn (como recomendamos), basta con especificar org.jitsi.jicofo.TURN_SHARED_SECRET. Si utilizó un usuario/contraseña estáticos en Coturn, deberá descomentar y configurar las líneas correspondientes TURN_HOST, TURN_PORT, TURN_USER, TURN_PASSWORD. Guarde los cambios.

3. Configuración de Prosody (servidor XMPP)

Prosody es utilizado por Jitsi para la señalización. Sus archivos de configuración principales se encuentran en /etc/prosody/conf.d/. El archivo meet.yourdomain.com.cfg.lua contiene la configuración para su dominio. Normalmente, después de instalar Jitsi y ejecutar el script de Let's Encrypt, este archivo ya está configurado correctamente.


sudo nano /etc/prosody/conf.d/meet.yourdomain.com.cfg.lua

Asegúrese de que las secciones VirtualHost y Component "conference.meet.yourdomain.com" estén configuradas para su dominio, y que las rutas a los certificados SSL sean correctas (deben apuntar a los certificados de Let's Encrypt en /etc/letsencrypt/live/meet.yourdomain.com/).

4. Reinicio de servicios

Después de realizar todos los cambios en los archivos de configuración, es necesario reiniciar los servicios correspondientes de Jitsi Meet para que los cambios surtan efecto:


sudo systemctl restart jitsi-videobridge2
sudo systemctl restart jicofo
sudo systemctl restart prosody
sudo systemctl restart nginx # O apache2, si lo está usando

Tampoco olvide reiniciar Coturn si realizó cambios en su configuración:


sudo systemctl restart coturn

5. Verificación de la operatividad

Después de reiniciar todos los servicios, realice las siguientes comprobaciones:

  • Disponibilidad de la interfaz web: Abra https://meet.yourdomain.com en el navegador. Asegúrese de que la conexión esté protegida (candado verde).
  • Prueba del servidor TURN: Utilice herramientas en línea, como Trickle ICE, para verificar la disponibilidad de su servidor TURN. Introduzca la URL de su servidor TURN (por ejemplo, turn:meet.yourdomain.com:3478) y las credenciales (username: jitsi, password: YOUR_JITSI_SHARED_SECRET - temporalmente, para la prueba, si usa credenciales estáticas, de lo contrario este método no funcionará directamente). La mejor manera es simplemente intentar conectarse a una conferencia desde una red compleja (por ejemplo, a través de una VPN o desde una red corporativa).
  • Verificación de registros:
    
    sudo journalctl -u jitsi-videobridge2 -f
    sudo journalctl -u jicofo -f
    sudo journalctl -u coturn -f
    

    Busque errores o advertencias. Las conexiones exitosas a Coturn serán visibles en los registros.

  • Prueba de conferencia: Invite a varias personas a unirse a una conferencia desde diferentes redes. Asegúrese de que el video y el audio funcionen de manera estable, así como la función de compartir pantalla.

Si todas las comprobaciones han sido exitosas, su Jitsi Meet con SSL y servidor TURN está completamente listo para usar.

Copias de seguridad y mantenimiento

Diagrama: Copias de seguridad y mantenimiento
Diagrama: Copias de seguridad y mantenimiento

Las copias de seguridad regulares y el mantenimiento oportuno del servidor Jitsi Meet son clave para su funcionamiento estable y seguro. No descuide estos pasos para evitar la pérdida de datos y los tiempos de inactividad.

1. Qué respaldar

Para Jitsi Meet, los componentes principales que requieren copia de seguridad son:

  • Archivos de configuración de Jitsi Meet:
    • /etc/jitsi/meet/ (configuraciones principales de la interfaz web)
    • /etc/jitsi/jicofo/ (configuraciones de Jicofo)
    • /etc/jitsi/videobridge/ (configuraciones de Videobridge)
  • Archivos de configuración de Prosody:
    • /etc/prosody/ (configuraciones principales de Prosody)
    • /var/lib/prosody/ (datos de Prosody, incluida la información del usuario si utiliza la autenticación de Prosody)
  • Archivos de configuración de Coturn:
    • /etc/coturn/turnserver.conf
  • Certificados SSL:
    • /etc/letsencrypt/ (aunque se renuevan automáticamente, tener una copia de seguridad es útil)
  • Grabaciones de conferencias (si se usa Jibri):
    • Normalmente se encuentran en /var/lib/jitsi/jibri/recordings/ o en el directorio que haya configurado. Esto puede ser un gran volumen de datos.

2. Script simple de copia de seguridad automática

Puede crear un script simple que archivará los archivos clave y los enviará a una ubicación segura. Por ejemplo, a un almacenamiento remoto compatible con S3 o a otro VPS.

Cree el archivo /usr/local/bin/jitsi_backup.sh:


sudo nano /usr/local/bin/jitsi_backup.sh

Contenido del script (reemplace YOUR_BACKUP_DIR con la ruta al directorio donde se almacenarán las copias de seguridad, por ejemplo, /mnt/backups, y S3_BUCKET con su bucket S3 si usa AWS CLI):


#!/bin/bash

# Directorio para el almacenamiento temporal de copias de seguridad
BACKUP_TEMP_DIR="/tmp/jitsi_backup_$(date +%Y%m%d%H%M%S)"
CONFIG_DIR="/etc/jitsi"
PROSODY_DIR="/etc/prosody"
PROSODY_DATA_DIR="/var/lib/prosody"
COTURN_DIR="/etc/coturn"
LETSENCRYPT_DIR="/etc/letsencrypt"
RECORDINGS_DIR="/var/lib/jitsi/jibri/recordings" # Si usa Jibri

# Creamos el directorio temporal
mkdir -p "$BACKUP_TEMP_DIR"

# Copiamos los archivos de configuración
cp -R "$CONFIG_DIR" "$BACKUP_TEMP_DIR/"
cp -R "$PROSODY_DIR" "$BACKUP_TEMP_DIR/"
cp -R "$PROSODY_DATA_DIR" "$BACKUP_TEMP_DIR/"
cp -R "$COTURN_DIR" "$BACKUP_TEMP_DIR/"
cp -R "$LETSENCRYPT_DIR" "$BACKUP_TEMP_DIR/"

# Si hay grabaciones de Jibri, las copiamos (cuidado, puede ser un gran volumen)
# cp -R "$RECORDINGS_DIR" "$BACKUP_TEMP_DIR/"

# Creamos el archivo
BACKUP_FILE="$BACKUP_TEMP_DIR/jitsi_config_$(date +%Y%m%d%H%M%S).tar.gz"
tar -czvf "$BACKUP_FILE" -C "$BACKUP_TEMP_DIR" .

# Dónde almacenar las copias de seguridad (ejemplos)
# 1. Localmente (en un disco separado o en otro directorio)
# mv "$BACKUP_FILE" /mnt/backups/

# 2. En un almacenamiento remoto compatible con S3 (requiere AWS CLI)
# /usr/local/bin/aws s3 cp "$BACKUP_FILE" s3://YOUR_S3_BUCKET/jitsi/

# 3. En otro VPS mediante SCP/SFTP (requiere configurar claves SSH sin contraseña)
# scp "$BACKUP_FILE" user@remote_vps:/path/to/remote/backups/

# Eliminamos el directorio temporal
rm -rf "$BACKUP_TEMP_DIR"

echo "Backup completed: $(basename "$BACKUP_FILE")"

Haga el script ejecutable:


sudo chmod +x /usr/local/bin/jitsi_backup.sh

3. Automatización de copias de seguridad con Cron

Agregue el script a Cron para su ejecución diaria. Abra crontab:


sudo crontab -e

Agregue la siguiente línea para ejecutar el script diariamente a las 3:00 de la mañana:


0 3 * * * /usr/local/bin/jitsi_backup.sh >> /var/log/jitsi_backup.log 2>&1

Esto ejecutará el script y registrará su salida en el archivo de registro /var/log/jitsi_backup.log.

4. Dónde almacenar las copias de seguridad

Importante: Nunca almacene las copias de seguridad en el mismo servidor que está respaldando. En caso de fallo del disco o compromiso del servidor, perderá tanto los datos como sus copias.

  • Almacenamiento externo compatible con S3: Una opción fiable y escalable. Utilice AWS S3, DigitalOcean Spaces, Backblaze B2 o similares.
  • VPS separado: Alquile un VPS pequeño exclusivamente para almacenar copias de seguridad. Configure SCP/SFTP o Rclone.
  • Compartición NFS/SMB: Si tiene un sistema de archivos de red local.

5. Actualizaciones: rolling vs maintenance window

La actualización regular del sistema y de Jitsi Meet es crítica para la seguridad y para obtener nuevas funciones. Utilice la siguiente estrategia:

  • Actualización del SO y paquetes base:

    Ejecute sudo apt update && sudo apt upgrade -y regularmente (por ejemplo, una vez a la semana). Esto se puede automatizar con unattended-upgrades, pero para servidores clave se recomienda el control manual con revisión de logs.

  • Actualización de Jitsi Meet:

    Las nuevas versiones de Jitsi Meet se lanzan con bastante frecuencia. La actualización del paquete jitsi-meet a través de sudo apt upgrade jitsi-meet -y suele ser fluida, pero puede requerir intervención manual para resolver conflictos de archivos de configuración (por ejemplo, si los ha modificado mucho). Siempre haga una copia de seguridad antes de actualizar Jitsi.

    Estrategia:

    • Ventana de mantenimiento: Para sistemas de producción, planifique las actualizaciones fuera del horario laboral. Notifique a los usuarios sobre posibles tiempos de inactividad breves.
    • Entorno de prueba: Si es posible, implemente primero las actualizaciones en un servidor de prueba antes de aplicarlas en el principal.
  • Verificación después de la actualización: Después de cada actualización, verifique el funcionamiento de Jitsi Meet, los certificados SSL y el servidor TURN, como se describe en la sección "Configuración".

Siguiendo estas recomendaciones, asegurará el funcionamiento fiable y seguro de su servidor Jitsi Meet durante muchos años.

Solución de problemas + Preguntas frecuentes

En esta sección, abordaremos los problemas típicos que pueden surgir al implementar Jitsi Meet y daremos respuestas a las preguntas frecuentes.

No puedo conectarme a la conferencia, veo "Connecting..." o "Failed to connect"

Este es uno de los problemas más comunes. Primero, verifique el funcionamiento de su firewall (UFW) en el VPS. Asegúrese de que los siguientes puertos estén abiertos: 80 (TCP), 443 (TCP), 10000 (UDP), 3478 (UDP), 5349 (TCP). Verifique el estado de UFW con el comando sudo ufw status verbose. También asegúrese de que su dominio se resuelva correctamente a la dirección IP del servidor (dig meet.yourdomain.com A). Si el problema persiste, revise los logs de Jitsi Videobridge (sudo journalctl -u jitsi-videobridge2 -f) y Jicofo (sudo journalctl -u jicofo -f) en busca de errores.

Certificado SSL no válido o falta HTTPS

Verifique que su dominio esté configurado correctamente en DNS y apunte a la dirección IP de su VPS. Asegúrese de que el puerto 80 esté abierto en el firewall para la verificación HTTP-01 de Let's Encrypt. Ejecute el script de instalación del certificado nuevamente: sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh. Si arroja un error, revise los logs de Certbot (normalmente en /var/log/letsencrypt/). También asegúrese de que Nginx o Apache (si los usa como proxy) estén configurados correctamente para trabajar con SSL y proxy el tráfico a Jitsi.

Problemas de audio o video para algunos participantes (por ejemplo, "pantalla negra")

Esto a menudo indica problemas con el servidor TURN. Asegúrese de que Coturn esté en ejecución (sudo systemctl status coturn) y de que sus puertos (3478 UDP, 5349 TCP) estén abiertos en el firewall. Verifique la configuración de Coturn en /etc/coturn/turnserver.conf, especialmente external-ip y realm, así como static-auth-secret. Compare el secreto con el especificado en /etc/jitsi/meet/meet.yourdomain.com-config.js y /etc/jitsi/jicofo/sip-communicator.properties. Revise los logs de Coturn (sudo journalctl -u coturn -f) en busca de errores o mensajes de retransmisión.

Jitsi Meet funciona lento o se congela con muchos participantes

Lo más probable es que su VPS esté experimentando una escasez de recursos. Verifique la carga de CPU y RAM con los comandos htop o top. Jitsi Videobridge puede consumir mucha CPU con un gran número de transmisiones de video activas. Considere actualizar su VPS a un plan más potente con más núcleos de CPU y memoria RAM. También asegúrese de que su VPS tenga suficiente ancho de banda de red.

¿Cómo restringir el acceso a Jitsi Meet solo a usuarios autorizados?

Por defecto, Jitsi Meet permite a cualquiera crear una conferencia. Para restringir el acceso, puede configurar la autenticación. Jitsi admite varios métodos, incluida la autenticación de Prosody (XMPP). En el archivo /etc/prosody/conf.d/meet.yourdomain.com.cfg.lua, cambie authentication = "anonymous" a authentication = "internal_plain". Luego, cree usuarios de Prosody con el comando sudo prosodyctl register username meet.yourdomain.com password. Después de esto, los usuarios verán una solicitud para ingresar un nombre de usuario y contraseña al intentar crear o unirse a una conferencia.

¿Qué configuración mínima de VPS es adecuada?

Para un equipo pequeño de hasta 10-15 participantes simultáneos, un VPS con 2 vCPU, 4 GB de RAM, 50 GB de SSD y un canal de red de 200 Mbps o más será mínimamente adecuado. Es importante que estos sean recursos estables, no CPU "burst" o "compartida". Para garantizar un funcionamiento cómodo en la mayoría de los escenarios, es mejor apuntar a 4 vCPU, 8 GB de RAM y un canal de 1 Gbps.

¿Qué elegir: VPS o dedicado para esta tarea?

La elección entre un VPS y un servidor dedicado depende de la escala de uso. Para la mayoría de los equipos pequeños y medianos (hasta 30-40 usuarios simultáneos), un VPS bien configurado es suficiente. Un VPS ofrece flexibilidad, facilidad de gestión y rentabilidad. Un servidor dedicado se vuelve necesario si planea atender a 50 o más participantes simultáneos, ejecutar muchas grabaciones de conferencias en segundo plano (Jibri), o si requiere el máximo rendimiento garantizado sin la influencia de "vecinos" en el servidor. Un servidor dedicado proporciona acceso exclusivo a todos los recursos físicos, lo cual es crítico para cargas muy altas.

Conclusiones y próximos pasos

Diagrama: Conclusiones y próximos pasos
Diagrama: Conclusiones y próximos pasos

¡Felicidades! Ha implementado y configurado con éxito su propio servidor Jitsi Meet en un VPS, asegurando su funcionamiento seguro a través de HTTPS con certificados SSL y una conexión fiable a través de un servidor TURN. Ahora tiene una plataforma de videoconferencias totalmente controlada y privada, lista para ser utilizada por su equipo o comunidad.

Para aprovechar al máximo el potencial de su plataforma y asegurar su estabilidad a largo plazo, considere los siguientes pasos:

  • Configuración de autenticación: Para controlar el acceso a las conferencias, configure la autenticación de usuarios, utilizando las capacidades integradas de Prosody o integrándose con proveedores externos (LDAP, JWT).
  • Monitoreo de recursos: Instale herramientas de monitoreo (por ejemplo, Prometheus + Grafana, Netdata) para rastrear la carga de CPU, RAM, tráfico de red y el estado de los servicios de Jitsi. Esto ayudará a identificar y resolver problemas de manera oportuna.
  • Implementación de Jibri para grabación: Si necesita la función de grabación de conferencias, considere la instalación y configuración de Jibri (Jitsi Broadcasting and Recording Infrastructure). Este es un componente separado que requiere recursos y configuraciones adicionales.
  • Optimización del rendimiento: Revise la documentación de Jitsi para ajustar el rendimiento, por ejemplo, cambiando la calidad de video predeterminada, limitando el bitrate o utilizando códecs VP9/AV1.

Recuerde que las actualizaciones regulares y las copias de seguridad son clave para mantener la seguridad y estabilidad de su plataforma Jitsi Meet.

¿Te fue útil esta guía?

despliegue de jitsi meet en vps: videoconferencias seguras con ssl
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.