GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instale Jitsi Meet en Ubuntu 18.04/20.04:videoconferencia autohospedada

Este tutorial le mostrará cómo instalar Jitsi Meet en el servidor Ubuntu 18.04/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 18.04/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 18.04/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 Fri 2020-04-24 12:11:13 UTC; 3min 27s ago
 Main PID: 3665 (java)
    Tasks: 37 (limit: 65000)
   CGroup: /system.slice/jitsi-videobridge2.service
           └─3665 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HO

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 :Servidor TURN y STUN para VoIP (systemctl status coturn )

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 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.

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 : Habilita 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;

Agregar http2 al final de cada línea.

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.

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 verifique los registros de los servicios de systemd.

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

Si ve el error "Se ha desconectado" al iniciar una reunión en Jitsi, es posible que haya olvidado cambiar meet.example.com a su nombre de host Jitsi Meet real en los archivos de configuración.

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 restart 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

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

  2. Cómo instalar y usar Powertop en Ubuntu 16.04/20.04

  3. Cómo instalar Dropbox en Ubuntu 18.04/20.04 (Terminal/GUI)

  4. Cómo instalar GIMP en Ubuntu 18.04/20.04

  5. Instalar Apache Cassandra en Ubuntu 04/20

2 formas de instalar Android Studio en Ubuntu 20.04/Ubuntu 18.04

Instale Jitsi Meet en Ubuntu 20.04:videoconferencia autohospedada

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 instalar la aplicación de videoconferencia Jitsi Meet en Ubuntu 20.04