GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instale Jitsi Meet en Ubuntu 20.04:videoconferencia autohospedada

Este tutorial le mostrará cómo instalar Jitsi Meet en el servidor Ubuntu 20.04. Jitsi Meet es un software gratuito de videoconferencia de código abierto que funciona en Linux, macOS, Windows, iOS y Android. Si no confía en Zoom, puede ejecutar su propia plataforma de videoconferencia en su propio servidor.

Características de Jitsi Meet

  • Totalmente gratis
  • Comparta la pantalla de su computadora con otros.
  • El modo de presentador le permite compartir su pantalla y cámara al mismo tiempo, para que los asistentes puedan ver al presentador y su lenguaje corporal durante la presentación.
  • Puedes compartir el audio del sistema mientras compartes tu pantalla.
  • Puede asignar usuarios autorizados como moderadores. Un moderador puede silenciar a todos los participantes con un solo clic.
  • La comunicación a través de la red se cifra mediante DTLS-SRTP.
  • Cifrado de extremo a extremo (trabajo en progreso)
  • Puede establecer una contraseña para su conferencia para evitar que entren extraños al azar.
  • Grabe la reunión/conferencia y guárdela en Dropbox.
  • Transmite a YouTube Live y almacena la grabación en YouTube.
  • Aplicaciones de Android e iOS
  • Chat de texto
  • Compartir documento de texto
  • Acceso telefónico a una conferencia
  • Llamar a un participante telefónico
  • Puede insertar una llamada de Jits Meet en cualquier página web con solo unas pocas líneas de código.

Requisitos para instalar Jitsi Meet en Ubuntu 20.04

Para ejecutar Jitsi Meet, necesita un servidor con al menos 1 GB de RAM. Puede hacer clic en este enlace de referencia para crear una cuenta en Vultr y obtener un crédito gratuito de $ 50 (solo para nuevos usuarios). Una vez que tenga una cuenta en Vultr, instale Ubuntu 20.04 en su servidor y siga las instrucciones a continuación. Cuando tenga docenas de usuarios, considere actualizar el hardware de su servidor. El servidor debe estar cerca de sus usuarios, o la demora se notará durante las reuniones en línea.

También necesita un nombre de dominio. Registré mi nombre de dominio en NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida.

Paso 1:instala Jitsi Meet desde el repositorio oficial de paquetes

Jitsi Meet no está incluido en el repositorio predeterminado de Ubuntu. Podemos instalarlo desde el repositorio de paquetes oficial de Jitsi, que también contiene varios otros paquetes de software útiles. Inicie sesión en su servidor a través de SSH, luego ejecute el siguiente comando para agregar el repositorio oficial de Jitsi.

echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list

Importe la clave pública de Jitsi, para que el administrador de paquetes APT pueda verificar la integridad de los paquetes descargados de este repositorio.

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

Debido a que el repositorio de Jitsi requiere una conexión HTTPS, debemos instalar apt-transport-https paquete para hacer que APT establezca una conexión HTTPS con el repositorio de Jitsi.

sudo apt install apt-transport-https

A continuación, actualice el índice de paquetes locales e instale Jitsi Meet en Ubuntu.

sudo apt update 
sudo apt install jitsi-meet

Durante la instalación, debe ingresar un nombre de host para su instancia de Jitsi. Este es el nombre de host que aparecerá en la barra de direcciones del navegador web cuando los asistentes se unan a su videoconferencia. Puede usar un nombre de host descriptivo como meet.example.com .

En la siguiente pantalla, puede optar por generar un nuevo certificado TLS autofirmado, para que luego pueda obtener e instalar un certificado Let's Encryption de confianza.

El proceso de instalación configurará algunos parámetros del kernel de Linux, que se guardan en /etc/sysctl.d/20-jvb-udp-buffers.conf expediente. Una vez completada la instalación, Jitsi Meet se iniciará automáticamente. Puede comprobar su estado con:

systemctl status jitsi-videobridge2

Salida de muestra:

● jitsi-videobridge2.service - Jitsi Videobridge
     Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-04-25 03:07:16 UTC; 8min ago
   Main PID: 3721 (java)
      Tasks: 35 (limit: 65000)
     Memory: 168.5M
     CGroup: /system.slice/jitsi-videobridge2.service
             └─3721 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath>

Sugerencia:si el comando anterior no se cierra de inmediato, puede presionar la tecla Q para que se cierre.

El jitsi-meet el paquete también extrajo otros paquetes como dependencias, como

  • openjdk-8-jre-sin cabeza :entorno de ejecución de Java. Es necesario porque Jitsi Meet está escrito en lenguaje Java.
  • jicofo :Foco de la conferencia Jitsi (systemctl status jicofo )
  • prosodia :Servidor Jabber/XMPP ligero (systemctl status prosody )
  • coturno :coturn Servidor TURN

Paso 2:abrir puertos en el cortafuegos

Jitsi Meet escucha en varios puertos UDP, como se puede ver con el siguiente comando. (Si su servidor Ubuntu no tiene el netstat comando, puede ejecutar sudo apt install net-tools comando para instalarlo.)

sudo netstat -lnptu | grep java

Para permitir que los asistentes se unan a una videoconferencia desde un navegador web, debe abrir los puertos TCP 80 y 443. Y para transferir video a través de la red, abra los puertos UDP 10000 y 5000. Si está utilizando el firewall UFW, ejecute lo siguiente comando para abrir estos puertos.

sudo ufw allow 80,443/tcp

sudo ufw allow 10000,5000/udp

Paso 3:Obtenga un certificado TLS Let's Encrypt de confianza

Vaya a su servicio de alojamiento de DNS (generalmente su registrador de dominio) para crear un registro de DNS A para su nombre de host de Jitsi (meet.example.com). A continuación, ejecute el siguiente script para obtener un certificado Let's Encrypt TLS de confianza:

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

Ingrese su dirección de correo electrónico para recibir notificaciones importantes de la cuenta. Luego descargará certbot-auto y obtenga el certificado TLS.

Si todo está bien, verá el siguiente mensaje, que indica que los certificados TLS se han obtenido e instalado correctamente.

Si está utilizando una instalación limpia de Ubuntu 20.04 (no actualizada desde 18.04 o 19.10), probablemente verá el siguiente error al obtener el certificado Let's Encrypt.

Package python-virtualenv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python-virtualenv' has no installation candidate

Esto se debe a que el repositorio de Ubuntu 20.04 no tiene el python-virtualenv paquete. En lugar de usar el binario certbot-auto ascendente para obtener el certificado TLS, podemos instalar el paquete certbot desde el repositorio de Ubuntu 20.04 y usarlo para obtener el certificado TLS.

sudo apt install certbot

A continuación, debemos cambiar la instancia de certbot-auto a certbot en el script con el siguiente comando.

sudo sed -i 's/\.\/certbot-auto/certbot/g' /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Vuelva a ejecutar el script y debería poder obtener correctamente el certificado TLS de Let's Encrypt.

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

Tenga en cuenta que este script usa el http-01 desafío, lo que significa que su servidor web Apache o Nginx necesita escuchar en el puerto 80 de la dirección IP pública. Si el entorno de su servidor no es compatible con http-01 desafío, entonces no debe ejecutar el script anterior. Necesitas usar otros tipos de desafíos. En mi caso, uso el desafío de DNS.

sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email [email protected] -d meet.linuxbabe.com

donde:

  • --agree-tos :Acepto los términos del servicio.
  • -a dns-cloudflare :utilizo el complemento de DNS de Cloudflare para autenticarme, porque uso el servicio de DNS de Cloudflare.
  • -i nginx :use el complemento nginx para instalar el certificado TLS. Si usa Apache, debe reemplazar nginx con apache .
  • --redirect :Forzar HTTPS por redirección 301.
  • --hsts :agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.
  • --staple-ocsp :activa el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.

Paso 4:habilite HTTP2

HTTP2 puede mejorar la velocidad de carga de la página web. Para habilitar HTTP2 en Nginx, edite el archivo de configuración del host virtual.

sudo nano /etc/nginx/sites-enabled/meet.example.com.conf

Encuentra las siguientes dos líneas.

listen 443 ssl;
listen [::]:443 ssl;

Agrega http2 al final.

listen 443 ssl http2;
listen [::]:443 ssl http2;

Guarde y cierre el archivo. Luego, vuelva a cargar Nginx para que el cambio surta efecto.

sudo systemctl reload nginx

Paso 5:Inicie una nueva reunión en línea

Ahora visita https://meet.example.com y podrá iniciar una conferencia. Para transferir audio, debe permitir que el navegador web use su micrófono. Y para transferir videos, debe permitir que el navegador web acceda a su cámara.

Asigne un nombre a su reunión y haga clic en el botón Ir. Una vez iniciada la reunión, tiene la opción de elegir establecer una contraseña para su reunión.

Paso 6:configurar la autenticación de usuario

De forma predeterminada, cualquiera puede ir a su instancia de Jitsi Meet, crear una sala e iniciar una reunión. Para configurar la autenticación de usuario, edite el archivo de configuración de Prosody.

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

Busque la siguiente línea.

authentication = "anonymous"

Cámbielo a lo siguiente, que requerirá que el usuario ingrese el nombre de usuario y la contraseña para iniciar una conferencia.

authentication = "internal_plain"

Sin embargo, no queremos que los asistentes ingresen el nombre de usuario y la contraseña al unirse a la conferencia, por lo que debemos crear un inicio de sesión anónimo para los invitados agregando las siguientes líneas al final de este archivo. Tenga en cuenta que no necesita crear un registro DNS A para guest.meet.example.com .

VirtualHost "guest.meet.example.com"
    authentication = "anonymous"
    c2s_require_encryption = false

Guarde y cierre el archivo.

A continuación, edite el archivo de configuración de Jitsi Meet.

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

Encuentra la siguiente línea,

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

Elimina las barras dobles y cambia el dominio invitado. Reemplace meet.example.com con su nombre de host real de Jitsi Meet.

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

Guarde y cierre el archivo.

Luego edite el archivo de configuración de Jicofo.

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

Agregue la siguiente línea al final de este archivo.

org.jitsi.jicofo.auth.URL=XMPP:meet.example.com

Guarde y cierre el archivo. Reinicie los servicios de systemd para que los cambios surtan efecto.

sudo systemctl restart jitsi-videobridge2 prosody jicofo

Para crear cuentas de usuario en Jisi Meet, ejecute el siguiente comando. Será promovido para ingresar una contraseña para el nuevo usuario.

sudo prosodyctl register username meet.example.com

Ahora, si crea una sala en Jitsi Meet, deberá ingresar un nombre de usuario y una contraseña.

Opcional:configurar Jigasi para marcación telefónica entrante o saliente

Jitsi ofrece una interfaz de telefonía que permite a los usuarios acceder a una conferencia o realizar llamadas de recordatorio. Instala el jigasi paquete (Puerta de enlace Jitsi para SIP).

sudo apt install jigasi

Durante la instalación, deberá ingresar su nombre de usuario y contraseña SIP. Si no tiene una, puede crear una cuenta SIP gratuita en OnSIP.com.

Si configuró la autenticación de usuario en el paso 6, debe editar el archivo de configuración de Jigasi.

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

Encuentra las siguientes líneas.

# [email protected]_DOMAIN
# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Descoméntelos e ingrese una cuenta y contraseña que creó en el paso 6.

org.jitsi.jigasi.xmpp.acc.USER_ID=[email protected]
org.jitsi.jigasi.xmpp.acc.PASS=user1_password
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Guarde y cierre el archivo. Reinicie el jigasi servicio systemd.

sudo systemctl status jigasi

Opcional:Configurar Coturn

Si ve el siguiente mensaje durante la instalación de Jitsi Meet, debe configurar Coturn para que funcione correctamente.

Warning! Could not resolve your external ip address! Error:^
Your turn server will not work till you edit your /etc/turnserver.conf config file.
You need to set your external ip address in external-ip and restart coturn service.

Edite el archivo de configuración de Coturn.

sudo nano /etc/turnserver.conf

Busque la siguiente línea.

external-ip=127.0.0.1

Reemplace 127.0.0.1 con la dirección IP pública de su servidor. Guarde y cierre el archivo. Luego reinicie Coturn.

sudo systemctl restart coturn

Consejos para solucionar problemas

Si encuentra errores, puede consultar el registro de errores de Nginx (/var/log/nginx/error.log ) para averiguar qué está mal. También puede consultar los registros de los servicios systemd.

sudo journalctl -eu jitsi-videobridge2 
sudo journalctl -eu prosody 
sudo journalctl -eu jicofo

Ubuntu
  1. Cómo instalar Zoom (herramienta de videoconferencia) en Ubuntu 20.04

  2. Cómo instalar Jitsi Meet en Debian 11

  3. Cómo instalar HandBrake Video Converter en Ubuntu

  4. Cómo instalar la plataforma de videoconferencia Jitsi Meet en Ubuntu

  5. Fácil instalación de VMware Ubuntu 21.10 (video)

Cómo instalar HandBrake en Ubuntu 18.04 LTS

Cómo instalar Jitsi Meet en Ubuntu 20.04 LTS

Cómo instalar Jitsi Meet en Debian y Ubuntu

Jitsi Meet en Ubuntu Linux:una solución de videoconferencia de código abierto

Cómo implementar el servidor de conferencias Jitsi Meet con Ubuntu 22.04

Cómo instalar la aplicación de videoconferencia Jitsi Meet en Ubuntu 20.04