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:
Proporciona tu nombre de dominio válido y pulsa Intro. Se te preguntará por el certificado SSL como se muestra a continuación:
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:
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:
Haz clic en el botón Permitir. Se te redirigirá a la sala de conferencias como se muestra a continuación:
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:
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.