Cómo instalar la solución de videoconferencia Jitsi Meet en Debian 10

Jitsi Meet es una aplicación de videoconferencia gratuita y de código abierto que puede utilizarse como aplicación independiente o incrustarse en tu aplicación web. Se basa en WebRTC y proporciona salas de videoconferencia multipersona sin necesidad de instalar software adicional o extensiones del navegador.

Funciones

  • Pantalla compartida, chat de grupo, presentaciones y mucho más
  • Integración con Google y Microsoft Calendar
  • Invita a otros usuarios a una conferencia mediante una simple URL
  • Soporta encriptación TLS de extremo a extremo
  • Disponibilidad universal multiplataforma
  • Edición colaborativa de documentos

En este tutorial, te mostraremos cómo instalar la aplicación de videoconferencia Jitsi Meet en Debian 10.

Requisitos previos

  • Un servidor que ejecute Debian 10 con un mínimo de 4 GB de RAM.
  • Un nombre de dominio válido apuntado con la ip de tu servidor. En este tutorial, utilizaremos jitsi.linuxbuz.com subdominio del dominio linuxbuz.com.
  • Una contraseña de root está configurada en tu servidor.

Cómo empezar

Antes de empezar, es una buena idea actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos utilizando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizados todos los paquetes, reinicia tu sistema para aplicar los cambios.

Instalar el servidor web Nginx

Antes de instalar Jitsi Meet, tendrás que instalar el servidor web Nginx en tu sistema. Puedes instalarlo utilizando el siguiente comando:

apt-get install nginx -y

Una vez instalado Nginx, puedes pasar al siguiente paso.

Instalar Jitsi Meet

En primer lugar, instala las dependencias necesarias en tu sistema con el siguiente comando:

apt-get install gnupg2 apt-transport-https software-properties-common -y

Una vez instaladas, descarga y añade la clave GPG para Jitsi ejecutando el siguiente comando:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -

A continuación, añade el repositorio de Jitsi con el siguiente comando:

sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

Una vez añadido el repositorio, actualízalo con el siguiente comando:

apt-get update -y

A continuación, instala el Meet de Jitsi ejecutando el siguiente comando:

apt-get install jitsi-meet

Durante la instalación se te pedirá que proporciones el FQDN de tu servidor, como se muestra a continuación:

Establecer nombre de host

Proporciona tu nombre de dominio válido y pulsa Intro. Se te preguntará por el certificado SSL como se muestra a continuación:

Generar un certificado SSL

Elige la opción Generar un nuevo certificado autofirmado (Más adelante tendrás la oportunidad de obtener un certificado Let’s Encrypt) y pulsa Intro para finalizar la instalación.

Una vez finalizada la instalación, puedes pasar al siguiente paso.

Proteger Jitsi Meet con Let’s Encrypt SSL

En este punto, Jitsi Meet está instalado en tu sistema. A continuación, tendrás que generar un certificado SSL de Let’s Encrypt para tu servidor.

Por defecto, el Certbot no está disponible en el repositorio por defecto de Debian 10. Así que tendrás que añadir el repositorio de Certbot en tu sistema.

Puedes añadirlo con el siguiente comando:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

A continuación, actualiza el repositorio e instala el cliente de Certbot para Nginx con el siguiente comando:

apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports

Puedes hacerlo ejecutando el siguiente script:

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

Se te pedirá que proporciones tu dirección de correo electrónico como se muestra a continuación:

-------------------------------------------------------------------------
This script will:
- Need a working DNS record pointing to this machine(for domain jisti.linuxbuz.com)
- Download certbot-auto from https://dl.eff.org to /usr/local/sbin
- Install additional dependencies in order to request Let’s Encrypt certificate
- If running with jetty serving web content, will stop Jitsi Videobridge
- Configure and reload nginx or apache2, whichever is used
- Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks
- Add command in weekly cron job to renew certificates regularly

You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf) 
by providing an email address for important account notifications
Enter your email and press [ENTER]: [email protected]

Proporciona tu dirección de correo electrónico válida y pulsa Intro para continuar. Una vez que el proceso se haya completado con éxito, deberías ver la siguiente salida:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for jisti.linuxbuz.com
Using the webroot path /usr/share/jitsi-meet for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Running deploy-hook command: /etc/letsencrypt/renewal-hooks/deploy/0000-coturn-certbot-deploy.sh
Output from deploy-hook command 0000-coturn-certbot-deploy.sh:
Configuring turnserver

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/jisti.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/jisti.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-07-28. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Cuando hayas terminado, puedes pasar al siguiente paso.

Acceder a Jitsi Meet

En este punto, tu aplicación web Jitsi Meet está protegida con Let’s Encrypt SSL.

Abre tu navegador web y escribe la URL https://jitsi.linuxbuz.com. Serás redirigido a la siguiente pantalla:

Iniciar una nueva Reunión

Introduce el nombre de tu conferencia y haz clic en el botón IR. Se te pedirá que permitas el micrófono y la cámara, como se muestra a continuación:

Permitir que Jitsi utilice la Cámara y el Micrófono

Haz clic en el botón Permitir. Se te redirigirá a la sala de conferencias como se muestra a continuación:

Videoconferencia Jitsi Meet

Cuando hayas terminado, puedes pasar al siguiente paso.

Configurar la autenticación de usuario para Jitsi Meet

Por defecto, Jitsi Meet permite a cualquiera visitar tu servidor Jitsi, crear una sala e iniciar una reunión. Esto no es deseable para usuarios no autorizados. Así que tendrás que configurar la autenticación de usuario para Jitsi Meet, de modo que sólo los usuarios registrados puedan crear nuevas salas de conferencias.

Puedes configurarlo editando el archivo jitsi.linuxbuz.com.cfg.lua.

nano /etc/prosody/conf.avail/jitsi.linuxbuz.com.cfg.lua

Busca la siguiente línea:

      authentication = "anonymous"

Y sustitúyela por la siguiente línea:

      authentication = "internal_plain"

A continuación, añade las siguientes líneas al final del archivo:

VirtualHost "guest.jitsi.linuxbuz.com"
    authentication = "anonymous"
    c2s_require_encryption = false

Guarda y cierra el archivo cuando hayas terminado.

La configuración anterior permitirá a los usuarios anónimos unirse a las salas de conferencia creadas por un usuario autenticado.

A continuación, abre el archivo de configuración de Jitsi Meet /etc/jitsi/meet/jitsi.linuxbuz.com-config.js como se muestra a continuación:

nano /etc/jitsi/meet/jitsi.linuxbuz.com-config.js

Busca la siguiente línea:

        // anonymousdomain: 'guest.example.com',

Y, sustitúyela por la siguiente línea:

        anonymousdomain: 'guest.jitsi.linuxbuz.com',

Guarda y cierra el archivo cuando hayas terminado.

A continuación, abre el archivo de configuración de Jicofo como se muestra a continuación:

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

Añade la siguiente línea al final de este archivo:

org.jitsi.jicofo.auth.URL=XMPP:jitsi.linuxbuz.com

Guarda y cierra el archivo cuando hayas terminado.

En este punto, Jitsi Meet ya está configurado para que sólo los usuarios registrados puedan crear salas de conferencias. Una vez creada una sala de conferencias, cualquier usuario puede unirse a ella sin proporcionar ninguna credencial. Sólo necesita la dirección única de la sala de conferencias y una contraseña opcional establecida por el creador de la sala.

A continuación, tendrás que crear una nueva cuenta de usuario para Jitsi y establecer su contraseña.

Puedes crearla con el siguiente comando:

prosodyctl register jitsiuser jitsi.linuxbuz.com password

Ahora puedes utilizar el usuario creado anteriormente para crear una sala de conferencias.

Por último, reinicia los servicios de Jitsi Meet ejecutando el siguiente comando:

systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2

Ahora, verifica el estado de todos los servicios con el siguiente comando:

systemctl status jitsi-videobridge2 prosody jicofo

Deberías ver la siguiente salida:

? jitsi-videobridge2.service - Jitsi Videobridge
   Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-29 16:17:33 UTC; 49s ago
  Process: 11623 ExecStartPost=/bin/bash -c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridge.pid (code=exited, status=0/SUCCESS)
 Main PID: 11622 (java)
    Tasks: 39 (limit: 65000)
   Memory: 161.0M
   CGroup: /system.slice/jitsi-videobridge2.service
           ??11622 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_

Apr 29 16:17:33 debian10 systemd[1]: Starting Jitsi Videobridge...
Apr 29 16:17:33 debian10 systemd[1]: Started Jitsi Videobridge.

? prosody.service - Prosody XMPP Server
   Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-29 16:17:21 UTC; 1min 1s ago
     Docs: https://prosody.im/doc
 Main PID: 11537 (lua5.2)
    Tasks: 1 (limit: 4701)
   Memory: 14.1M
   CGroup: /system.slice/prosody.service
           ??11537 lua5.2 /usr/bin/prosody

Apr 29 16:17:21 debian10 systemd[1]: Started Prosody XMPP Server.

? jicofo.service - LSB: Jitsi conference Focus
   Loaded: loaded (/etc/init.d/jicofo; generated)
   Active: active (running) since Wed 2020-04-29 16:17:27 UTC; 56s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 11555 ExecStart=/etc/init.d/jicofo start (code=exited, status=0/SUCCESS)
    Tasks: 80 (limit: 4701)
   Memory: 163.4M
   CGroup: /system.slice/jicofo.service
           ??11564 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/j

Apr 29 16:17:27 debian10 systemd[1]: Starting LSB: Jitsi conference Focus...

Ahora, abre tu navegador web y escribe la URL https://jitsi.linuxbuz.com. Deberías ver la siguiente pantalla:

Autenticación de usuarios en Jitsi Meet

Introduce el nombre de tu sala y pulsa el botón IR. Se te pedirá que proporciones un nombre de usuario y una contraseña, como se muestra a continuación:

Proporciona tu nombre de usuario, contraseña y pulsa el botón ACEPTAR.

Conclusión

Enhorabuena! has instalado con éxito Jitsi Meet en un servidor Debian 10. Ahora puedes compartir el enlace, establecer una contraseña, configurar la calidad de audio y vídeo y mucho más a través del navegador web.

También te podría gustar...