Cómo instalar el servidor de videoconferencia Jitsi Meet en Ubuntu 22.04
Jitsi es una herramienta de chat, telefonía y videoconferencia gratuita y de código abierto. Es una muy buena alternativa a otras herramientas como Skype, Zoom y Microsoft Teams. Puedes utilizar Jitsi sin registrarte ni instalar ningún software. Puedes acceder a ella directamente a través de un navegador web. Jitsi te permite hacer llamadas gratuitas, chatear, enviar archivos o compartir la pantalla utilizando el protocolo SIP o XMPP. Si buscas una herramienta de videoconferencia y llamadas de código abierto, Jitsi es la mejor opción para ti.
En este post, te mostraremos cómo instalar Jitsi Meet en un servidor Ubuntu 22.04.
Requisitos previos
- Un servidor con Ubuntu 22.04 con un mínimo de 4GB de RAM.
- Un nombre de dominio válido apuntado con la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Cómo empezar
Antes de empezar, tendrás que actualizar todos los paquetes de software a la última versión. Puedes actualizarlos ejecutando el siguiente comando:
apt-get update -y
Una vez actualizados todos los paquetes, también tendrás que instalar en tu servidor algunas dependencias necesarias. Puedes instalarlas todas ejecutando el siguiente comando:
apt-get install wget curl gnupg2 apt-transport-https -y
Una vez instalados todos los paquetes, puedes pasar al siguiente paso.
Instalar Jitsi Meet en Ubuntu 22.04
Por defecto, el software Jitsi Meet no está incluido en el repositorio por defecto de Ubuntu. Así que tendrás que añadir su repositorio oficial a APT.
Primero, añade el repositorio de Jitsi a APT utilizando el siguiente comando:
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
A continuación, descarga y añade la clave GPG de Jitsi utilizando el siguiente comando:
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
A continuación, actualiza el repositorio e instala el Jitsi Meet utilizando el siguiente comando:
apt-get update -y
apt-get install jitsi-meet -y
Durante la instalación, se te pedirá que proporciones el nombre completo de tu sistema como se muestra a continuación:
Proporciona el nombre de tu sistema y haz clic en el botón Aceptar. Se te pedirá que instales un certificado SSL:
Selecciona «Generar un nuevo certificado autofirmado» y pulsa el botón Ok para finalizar la instalación.
Generar un certificado Let’s Encrypt
Para el entorno de producción, no se recomienda el certificado SSL autofirmado. Así que tendrás que instalar el Let’s Encrypt SSL para Jitsi.
Puedes instalar el Let’s Encrypt SSL con el siguiente comando:
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Se te pedirá que introduzcas tu dirección de correo electrónico para instalar el Let’s Encrypt SSL:
------------------------------------------------------------------------- This script will: - Need a working DNS record pointing to this machine(for domain jitsi.example.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] 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 jitsi.example.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/jitsi.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/jitsi.example.com/privkey.pem Your cert will expire on 2022-09-27. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - 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
Configurar Jitsi Meet
A continuación, tendrás que editar el archivo de configuración de Jitsi meed y configurarlo para que sólo permita a los usuarios registrados crear salas de conferencia.
nano /etc/prosody/conf.avail/jitsi.example.com.cfg.lua
Cambia las siguientes líneas:
authentication = "anonymous" authentication = "internal_plain" VirtualHost "guest.jitsi.example.com" authentication = "anonymous" c2s_require_encryption = false
Guarda y cierra el archivo y luego abre otro archivo de configuración:
nano /etc/jitsi/meet/jitsi.example.com-config.js
Añade la siguiente línea:
anonymousdomain: 'guest.jitsi.example.com',
A continuación, crea un archivo de configuración SIP con el siguiente comando:
nano /etc/jitsi/jicofo/sip-communicator.properties
Añade la siguiente línea:
org.jitsi.jicofo.auth.URL=XMPP:jitsi.example.com
Guarda y cierra el archivo y luego crea un usuario para Jitsi con el siguiente comando:
prosodyctl register user jitsi.example.com password
Reiniciar el servicio Jitsi
A continuación, tendrás que reiniciar todos los servicios de Jitsi para aplicar los cambios de configuración. Puedes hacerlo con el siguiente comando:
systemctl restart prosody.service jicofo.service jitsi-videobridge2.service
Ahora, comprueba el estado del servicio Prosody utilizando el siguiente comando:
systemctl status prosody.service
Deberías ver la siguiente salida:
? prosody.service - Prosody XMPP Server Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-06-25 16:15:58 UTC; 5s ago Docs: https://prosody.im/doc Main PID: 62561 (lua5.2) Tasks: 1 (limit: 4579) Memory: 9.3M CPU: 475ms CGroup: /system.slice/prosody.service ??62561 lua5.2 /usr/bin/prosody -F Jun 25 16:15:58 ubuntu2204 systemd[1]: Started Prosody XMPP Server.
Para comprobar el estado del servicio Jicofo, ejecuta el siguiente comando:
systemctl status jicofo.service
Deberías ver la siguiente salida:
? jicofo.service - LSB: Jitsi conference Focus Loaded: loaded (/etc/init.d/jicofo; generated) Active: active (running) since Sat 2022-06-25 16:15:58 UTC; 22s ago Docs: man:systemd-sysv-generator(8) Process: 62534 ExecStart=/etc/init.d/jicofo start (code=exited, status=0/SUCCESS) Tasks: 35 (limit: 4579) Memory: 177.4M CPU: 8.700s CGroup: /system.slice/jicofo.service ??62540 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/et> Jun 25 16:15:58 ubuntu2204 systemd[1]: Starting LSB: Jitsi conference Focus... Jun 25 16:15:58 ubuntu2204 jicofo[62534]: Starting jicofo: jicofo started. Jun 25 16:15:58 ubuntu2204 systemd[1]: Started LSB: Jitsi conference Focus.
Para comprobar el estado del servicio Jitsi videobridge2, ejecuta la siguiente orden:
systemctl status jitsi-videobridge2.service
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 Sat 2022-06-25 16:15:58 UTC; 35s ago Process: 62564 ExecStartPost=/bin/bash -c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridge.pid (code=exited, status=0/SUCCESS) Main PID: 62563 (java) Tasks: 48 (limit: 65000) Memory: 171.4M CPU: 9.877s CGroup: /system.slice/jitsi-videobridge2.service ??62563 java -Xmx3072m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dco> Jun 25 16:15:58 ubuntu2204 systemd[1]: Starting Jitsi Videobridge... Jun 25 16:15:58 ubuntu2204 systemd[1]: Started Jitsi Videobridge.
Configurar el cortafuegos UFW
A continuación, tendrás que permitir todos los puertos de Jitsi a través del cortafuegos para que puedas acceder a él desde la máquina remota. Puedes permitirlos a través de UFW como se muestra a continuación:
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 4443/tcp
ufw allow 10000/udp
ufw allow 22/tcp
ufw enable
También puedes comprobar las reglas del cortafuegos mediante el siguiente comando:
ufw status
Una vez que tu cortafuegos UFW esté configurado, puedes pasar al siguiente paso.
Acceder a Jitsi Meet
En este punto, Jitsi Meet está instalado y configurado en tu servidor Ubuntu 22.04. Ahora puedes acceder a su interfaz web utilizando la URL https://jitsi.example.com. Deberías ver la página de creación de salas de Jitsi Meet:
Ahora puedes proporcionar el nombre de tu sala y empezar a utilizar Jitsi.
Conclusión
Enhorabuena! has instalado con éxito Jitsi Meet con Let’s Encrypt SSL en el servidor Ubuntu 22.04. Ahora puedes acceder a Jitsi a través de un navegador web o una aplicación móvil y empezar a llamar con otros usuarios. No dudes en preguntarme si tienes alguna duda.