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