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:

Configurar el puente de vídeo

Proporciona el nombre de tu sistema y haz clic en el botón Aceptar. Se te pedirá que instales un certificado SSL:

Crear 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:

Encuentro con Jitsi

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.

Scroll al inicio