Cómo: Instalar el servidor Jitsi en Ubuntu 19.10

Jitsi es una aplicación de videoconferencia que es completamente de código abierto, y le permite construir e implementar fácilmente su propio servidor de videoconferencia. Esta guía le mostrará cómo configurar un servidor virtual alojado Vultr seguro que ejecuta Jitsi: ¡puede realizar videoconferencias en menos de una hora! Lo primero que necesita para esta guía es una cuenta configurada con Vultr (o Digital Ocean): si hace clic en el enlace de Vultr a continuación, puede registrarse usando mi código de referencia, lo que me da unos cuantos dólares para la referencia. ¡Gracias! ¡OFERTA ESPECIAL! Con mi enlace Vultr, ¡actualmente obtienes $ 100.00 CRÉDITO GRATIS para tus servidores virtuales por registrarte! Haga clic en el logotipo de Vultr a continuación o use este enlace:

 https://www.vultr.com/?ref=8546041

*** NOTA: Como dije, el resto de este documento se centrará en una instalación de Vultr.

Parte 1: instalar el servidor virtual Vultr

Inicie sesión en Vultr y acceda al panel principal. Haga clic en “Productos” en el menú de la izquierda seguido del símbolo azul “+” en la esquina superior derecha. Esto lo llevará a la nueva página de configuración del servidor.

Asegúrese de haber seleccionado “Cloud Compute” y luego seleccione su ubicación. Elija el centro de datos que desee; sin embargo, tiendo a elegir el centro de datos más cercano a mi ubicación geográfica (o la de mi cliente). En este caso, voy a elegir Los Angeles.

El siguiente paso es donde seleccionamos nuestro tipo de servidor. Haga clic en Ubuntu y elija “19 .10 x64” en el menú desplegable.

A continuación, seleccione el tamaño de su servidor. Jitsi se ejecutará en cualquier cosa en el tamaño de $ 5.00 / mes o superior. Sin embargo, para un sistema de producción con mucho uso, es posible que desee subir esto a un nivel superior.

Finalmente, puede seleccionar cualquier opción (las copias de seguridad automáticas son muy recomendables para un servidor de producción) y luego asignar un nombre de host a su servidor. El nombre de host debe ser algo como jitsi.company.com. Para nuestra demostración, vamos a utilizar jitsi.crosstalksolutions.com. Este paso NO es opcional: utilizaremos un certificado Let’s Encrypt para asegurar el acceso HTTPS a este servidor.

¡Haz clic en “Implementar ahora” y listo! Volverá a la pantalla de resumen del servidor. El servidor tardará entre 1 y 2 minutos en girar, así que tenga paciencia. Una vez que el “Estado” cambia de “Instalar” a “En ejecución”, debe esperar otros 30 segundos, y listo. Haga clic en el nombre de su servidor para ver su pantalla detallada.

Una vez que el servidor esté en estado “En ejecución”, verá su dirección IP. Copie o tome nota de esa dirección IP; la usaremos para crear nuestro registro DNS A en el siguiente paso. También querrás anotar o copiar tu contraseña raíz predeterminada. (Cambiaremos esa contraseña inmediatamente al iniciar sesión). Puede mostrar la contraseña haciendo clic en el ícono “ojo” o simplemente copiarla al portapapeles haciendo clic en el ícono copiar.

Parte 2: crear un registro DNS A

Como ahora conoce su dirección IP, debe iniciar sesión en su proveedor de alojamiento DNS o servidor DNS y crear un nuevo registro A que señale el nombre de host que creó en el Paso 1 a la dirección IP de su servidor Vultr. Será necesario en el futuro para conectarse al servidor y configurar Let’s Encrypt.

Parte 3: inicie sesión en su nuevo servidor

En este punto, debe tener su nombre de usuario Vultr (root) y contraseña de los detalles del servidor. Copie la contraseña en su portapapeles y luego abra PuTTY.

Ingrese la dirección IP o el nombre de host de su servidor y luego haga clic en “Abrir”.

PuTTY abrirá una ventana de terminal y primero le preguntará si desea aceptar el nuevo host (haga clic en “SÍ”). Luego se le dará un mensaje de inicio de sesión. Use la información de las propiedades del servidor Vultr:

Usuario: root
Contraseña: (la contraseña de las propiedades del servidor Vultr; puede hacer SHIFT + INS o hacer clic con el botón derecho para pegarla)

Lo primero que debe hacer es cambiar su contraseña de root.

passwd root

Se le pedirá que ingrese su contraseña de root dos veces; asegúrese de que sea una contraseña FUERTE. Estaremos inhabilitando el acceso de root a este cuadro más adelante en esta guía, pero aún necesitará conocer la contraseña de root para ejecutar los comandos sudo.

Parte 4 – Crear nuevo usuario

La mayoría de las máquinas Linux del mundo tienen root como usuario predeterminado. La primera línea de defensa es crear una cuenta de inicio de sesión separada con los mismos privilegios y luego deshabilitar la raíz.

Comience creando un nuevo usuario: para simplificar, para este ejercicio, nuestro nombre de usuario será ‘jitsiadmin‘:

adduser jitsiadmin

Este comando le permitirá establecer una contraseña para el nuevo usuario, y también puede ingresar opcionalmente información adicional como su nombre real e información de contacto.

A continuación, otorgue privilegios de root (grupo sudo) al usuario recién creado:

usermod -aG sudo jitsiadmin

Este nuevo usuario ahora podrá usar el comando “sudo” para ejecutar comandos como root.

En este punto, hemos creado nuestro nuevo usuario, pero aún no hemos deshabilitado la raíz, lo haremos en un momento. Primero, habilitaremos la autenticación de clave privada como segunda línea de defensa.

Parte 5: crear un par de claves privadas

Ahora creemos nuestro par de claves pública y privada. La clave pública vive en el servidor, y la clave privada se usará para desbloquear el acceso desde cualquier dispositivo que lo necesite.

ssh-keygen

Cuando se le pregunte dónde colocar el archivo, tome el valor predeterminado. Puede elegir ingresar o no una frase de contraseña: tener una frase de contraseña significa que necesita tanto la clave privada como la frase de contraseña para obtener acceso. Proporciona una capa adicional de seguridad.

Una vez que se hayan creado sus claves, las encontrará en /home/root/.ssh: debe haber archivos id_rsa (clave privada) e id_rsa.pub (clave pública) en ese directorio.

A continuación, debemos copiar esa clave en la cuenta del usuario recién creado:

ssh-copy-id jitsiadmin@[server IP]

Elija “sí” cuando se le pregunte si desea continuar e ingrese la contraseña de jitsiadmin cuando se le solicite.

Este comando copiará la clave pública en el directorio ~ / .ssh del usuario jitsiadmin como un archivo de claves autorizadas. Ahora puede usar la clave privada para autenticarse con este servidor como usuario jitsiadmin.

Parte 6: modificar la configuración de SSH

El siguiente paso es modificar la configuración de SSH para que ambos desactivemos el acceso de usuario root y la autenticación de contraseña. Comience editando el archivo de configuración SSH:

nano -w /etc/ssh/sshd_config

Comience cambiando el puerto SSH predeterminado de 22 a algo no estándar.

Encuentra la línea que dice:

#Port 22

Y cámbielo a:

Port [different port number]

Puede usar cualquier número de puerto para su conexión SSH, pero normalmente uso el puerto 2222 cuando cambio a algo no estándar.

Ahora desplácese hacia abajo hasta encontrar la línea que dice:

PermitRootLogin yes

Y cambie “sí” a “no”:

PermitRootLogin no

Esto deshabilita el inicio de sesión del usuario root. Luego desplácese hacia abajo y encuentre:

#PasswordAuthentication yes

Remove the # at the beginning and again change ‘yes’ to ‘no’:

PasswordAuthentication no

Esto deshabilita la autenticación basada en contraseña. (La autenticación de clave privada ya debería estar habilitada de forma predeterminada; puede verificar esto asegurándose de que PubkeyAuthentication esté configurado en “sí” en el archivo de configuración SSH).

Presione CTRL + X seguido de “Y” e “Intro” para guardar y salir.

*** NOTA: El siguiente comando confirma estos cambios. Si pierde la conectividad porque cometió algún error, debe destruir el servidor Vultr y comenzar de nuevo. TAMBIÉN: mantenga abierta esta sesión original de PuTTY a medida que avanza en los siguientes pasos … incluso después de reiniciar SSH, esta sesión seguirá conectada, por lo que si no puede conectarse con la clave privada, aún tiene la oportunidad de realizar cambios

Reinicie SSH con:

systemctl reload sshd
Parte 7 – Descargar archivo de clave privada

Ahora necesitamos descargar nuestro archivo de clave privada. Comience mostrando el contenido del archivo id_rsa:

cat ~/.ssh/id_rsa

Seleccione todo el contenido del archivo con el mouse y presione CTRL + INS para copiar el texto en el portapapeles.

A continuación, abra un editor de texto como el Bloc de notas y pegue todo el bloque de texto en un archivo en blanco. Guarde este archivo en una ubicación segura.

Una vez guardado, puede eliminar el archivo id_rsa del servidor (aunque, probablemente debería probar primero la conectividad si es la primera vez que realiza estos cambios):

rm ~/.ssh/id_rsa
Parte 8 – Clave privada secreta a formato PuTTY

Antes de que pueda usar su clave privada con PuTTY, debe convertirla al formato .PPK. Para hacer esto, usaremos otro programa gratuito de los creadores de PuTTY llamado PuTTYgen (puede descargarlo desde el mismo enlace que PuTTY arriba).

Primero, ejecute PuTTYgen y haga clic en el botón “Cargar”. Busque el archivo de clave privada que guardó en el paso 7. Cuando busque su clave privada, cambie el tipo de archivo que está buscando de ‘Archivos de clave privada PuTTY (* .ppk)’ a ‘Todos los archivos (*. *). ‘

Abra su archivo de clave privada y debería recibir un aviso de que la clave privada se importó correctamente. Haga clic en Aceptar para salir de esta notificación.

Ahora, haga clic en el botón “Guardar clave privada” y guarde su clave privada como un archivo .ppk (generalmente uso el mismo directorio que usé para guardar la clave privada original). Ahora puede cerrar PuTTYgen.

Parte 9 – Inicia sesión como nuevo usuario

Inicie una nueva sesión PuTTY: puede hacerlo desde la ventana existente haciendo clic en el icono PuTTY en la esquina superior izquierda y seleccionando “Nueva sesión”.

En la ventana PuTTY, ingrese el nombre de host del servidor en el campo Nombre de host y también cambie el puerto SSH al puerto al que cambió SSH en la Parte 6 de esta guía.

Luego, en el menú de la izquierda, expanda la sección “SSH” debajo de “Conexión”, luego haga clic en “Autent.” Aquí verá un lugar para buscar su archivo de clave privada PuTTY .PPK. Haga clic en “Examinar …” y busque el archivo .PPK que creamos en la Parte 8.

Una vez que haya cargado el archivo, vuelva a hacer clic en “Sesión” en la parte superior del menú de la izquierda.

Si desea GUARDAR estos detalles de conexión, ahora debe ingresar un nombre descriptivo en el cuadro “Sesiones guardadas” y hacer clic en el botón “Guardar”.

Ingrese un nombre descriptivo en “Sesiones guardadas” y luego haga clic en “Guardar” para guardar esta sesión PuTTY.

Ahora haga clic en “Abrir” y debería recibir un mensaje de “Iniciar sesión como:”. Ingrese el nombre del usuario que creó en la Parte 4 (en nuestro caso, fue jitsiadmin) y ahora debe conectarse al servidor. Si tiene una frase de contraseña en su par de claves privadas, también se le solicitará esa frase de contraseña.

Parte 10: habilite el firewall de UFW

En este punto, ahora hemos asegurado nuestra conexión SSH bastante bien. Ahora, aseguremos aún más nuestro servidor utilizando algunas reglas de firewall para bloquear todo.

Ubuntu usa el firewall UFW, sin embargo, no está habilitado de forma predeterminada. Primero, agregaremos todas las reglas de firewall que necesitamos para conectarnos a Jitsi, y luego lo activaremos.

Primero, permitamos nuestro nuevo puerto SSH y bloqueemos para que las conexiones a este puerto solo se permitan desde nuestra dirección IP:

sudo ufw allow from [IP address] to any port [SSH port number]

En este ejemplo, si su dirección IP es 1.2.3.4 y su puerto SSH es 2222, el comando debería ser:

sudo ufw allow from 1.2.3.4 to any port 2222

Agreguemos también una regla para Cockpit, que es una GUI de monitoreo de servidor opcional (no agregue esta regla si no planea ejecutar Cockpit, es opcional … más información sobre Cockpit en la Parte 16 a continuación):

sudo ufw allow from 1.2.3.4 to any port 9090

Una vez más, sustituya 1.2.3.4 con su propia dirección IP.

A continuación, abramos el acceso a los puertos que Jitsi necesita. Vamos a permitir conexiones a este servidor en HTTP, HTTPS y UDP 10,000-20,000.

sudo ufw allow http
sudo ufw allow https
sudo ufw allow in 10000:20000/udp

En este punto, ahora activaremos nuestro firewall UFW y echaremos un vistazo a las reglas que creamos.

sudo ufw enable

Cuando se le solicite si desea continuar, elija sí.

Echemos un vistazo a nuestras reglas:

sudo ufw status

Deberías ver algo similar a esto:

El cortafuegos ahora se está ejecutando, y si vuelve a probar su conexión PuTTY, aún debería poder conectarse. Pero si prueba la conexión en el puerto SSH estándar 22, no podrá conectarse.

Parte 11 – Actualizar el servidor

Ahora que el acceso al servidor está asegurado, ejecutemos las actualizaciones de nuestro sistema.

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y

Es posible que no se necesiten actualizaciones, pero si se le pregunta si desea continuar con alguno de estos pasos, simplemente responda Y.

Parte 12 – Configurar zona horaria

Configure su zona horaria ejecutando:

sudo dpkg-reconfigure tzdata

Aparecerá una ventana con borde rosa: seleccione su área geográfica (use América para Estados Unidos) y luego seleccione su ciudad / zona horaria de la lista. Puede presionar TAB, las teclas de flecha y el ESPACIO para moverse por estas pantallas y hacer selecciones.

Una vez que haya seleccionado su zona horaria, presione OK y habrá terminado con el Paso 6.

Part 13 – Configure NTP

NTP (Network Time Protocol) can be installed by running:

sudo apt install ntp

Puede asegurarse de que el servicio NTP se haya iniciado y se esté ejecutando escribiendo:

service ntp status

Debería ver que NTP está “activo (en ejecución)”. Si escribe:

date

Su hora local debe mostrarse correctamente (en formato de 24 horas).

Parte 14 – Instalar Cockpit (opcional)

A continuación, instalaremos Cockpit: Cockpit es un software de monitoreo del sistema para visualizar CPU / RAM / espacio en disco. Puede leer más sobre Cockpit aquí: https://cockpit-project.org/

Instale Cockpit ejecutando:

sudo apt install cockpit -y

Una vez instalado, debería poder navegar a https: // [IP del servidor o FQDN]: 9090. Inicie sesión con las credenciales que creó en la Parte 4. Tenga en cuenta que este servicio puede bloquearse en Google Chrome (pruebe FireFox).

Parte 15 – Configurar la eliminación automática

A medida que ejecuta actualizaciones en su servidor, ya no se necesitan versiones anteriores del kernel de Linux, y potencialmente pueden llenar su volumen de arranque. Para evitar que esto suceda, podemos ejecutar:

sudo apt autoremove -y

(Adelante y ejecuta esto ahora). Esto borra las versiones anteriores que ya no son necesarias, pero este comando también debe programarse para ejecutarse regularmente. Para hacer esto,

sudo sh -c 'echo "sudo apt autoremove -y" >> /etc/cron.monthly/autoremove'

Esto crea un nuevo archivo llamado “autoremove” en el directorio /etc/cron.monthly que se ejecutará automáticamente una vez al mes, pero para que se ejecute, este archivo debe ser ejecutable:

sudo chmod +x /etc/cron.monthly/autoremove

Ahora estamos listos para Seguir.

Parte 16 – Instalar Jitsi

¡Finalmente es hora de instalar Jitsi! Primero, agregaremos el repositorio de paquetes Jitsi y la clave GPG con estos dos comandos:

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

sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

A continuación, actualice su lista de paquetes:

sudo apt update

Y finalmente instale el paquete completo de Jitsi (digo paquete completo de Jitsi porque es posible instalar varios componentes de Jitsi por separado; sin embargo, eso está más allá del alcance de esta guía):

sudo apt install jitsi-meet -y

Durante la instalación, se le pedirá el nombre de host del servidor; ingrese su nombre de host (es decir, jitsi.crosstalksolutions.com).

También se le preguntará si desea generar un nuevo certificado autofirmado o si desea usar su propio certificado. Elija la opción 1 ya que instalaremos Let’s Encrypt en el siguiente paso.

La instalación solo debería tomar alrededor de 1 minuto más o menos. Una vez completado, ejecute este comando para instalar Let’s Encrypt:

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

Se le pedirá su dirección de correo electrónico: ingrésela y presione ENTER.

¡Ahora has instalado con éxito Jitsi! Probémoslo. Abra su navegador y navegue hasta https: // [su Jitsi FQDN] – debería ver una pantalla como esta:

Escriba un nombre para su conferencia en el cuadro (o tome uno de sus nombres generados aleatoriamente) y luego presione “IR”. ¡Su videoconferencia ya ha comenzado!