Cómo instalar Matrix Synapse Chat en Ubuntu 18.04 LTS

Matrix es un nuevo ecosistema de comunicación descentralizada en tiempo real para servicios abiertos de mensajería instantánea y VoIP federados. Proporciona APIs RESTful HTTP JSON para construir servidores de chat distribuidos y federados sin un único punto de control y fallo, y proporciona todas las referencias para las APIs.

Synapse es una implementación del servidor doméstico de matrix creada por el equipo de matrix y escrita en Python/Twisted. Con este software, podemos implementar la forma de comunicación descentralizada de matrix, podemos crear nuestro propio servidor doméstico y almacenar toda la información personal del usuario, el historial de chat, crear la sala para uso propio, etc.

En este tutorial, te mostraremos paso a paso cómo instalar y configurar Matrix Synapse en Ubuntu 18.04. Configuraremos Matrix Synapse en la dirección IP local, y configuraremos el servidor web Nginx como proxy inverso para él, e implementaremos la conexión HTTPS entre los clientes y el servidor web Nginx del front-end.

Requisitos previos

  • Ubuntu 18.04
  • Privilegios de root
  • Nombre de dominio o subdominio de la matriz – matrix.hakase-labs.io

¿Qué vamos a hacer?

  1. Actualizar y mejorar el sistema Ubuntu 18.04
  2. Instalar Matrix Synapse
  3. Configurar Matrix Synapse
  4. Generar SSL Letsencrypt
  5. Instalar y configurar Nginx como proxy inverso para Matrix Synapse
  6. Configurar el cortafuegos UFW
  7. Configurar un nuevo usuario de Matrix
  8. Prueba de

Paso 1 – Actualizar el sistema

Accede a tu servidor Ubuntu, actualiza el repositorio y actualiza todos los paquetes con el comando apt que aparece a continuación.

sudo apt update
sudo apt upgrade

Y todos los paquetes de Ubuntu han sido actualizados.

Paso 2 – Instalar Matrix Synapse

En este paso, instalaremos el software matrix synapse utilizando los paquetes de Debian del repositorio oficial de matrix.

Añade la clave de matrix y el repositorio ejecutando todos los comandos siguientes.

wget -qO - https://matrix.org/packages/debian/repo-key.asc | sudo apt-key add -
sudo add-apt-repository https://matrix.org/packages/debian/

El comando actualizará automáticamente el repositorio.

Instalar Matrix Synapse

Ahora instala matrix synapse utilizando el comando apt como se indica a continuación.

sudo apt install matrix-synapse -y

Durante la instalación, te preguntará por el nombre del servidor de matrix – escribe el nombre de dominio de matrix ‘matrix.hakase-labs.io’.

Instalador apt de Matrix synapse - parte 1

Y para el informe de datos anónimos, elige ‘No’.

Instalador apt de Matrix synapse - parte 1

Cuando la instalación de matrix synapse se haya completado, inicia el servicio y habilítalo para que se inicie siempre al arrancar el sistema.

sudo systemctl start matrix-synapse
sudo systemctl enable matrix-synapse

La sinapsis de la matriz está ahora en funcionamiento utilizando la configuración por defecto en los puertos ‘8008’ y ‘8448’. Compruébalo con el comando netstat.

netstat -plntu

Comprueba los puertos abiertos

Paso 3 – Configurar Matrix Synapse

Tras la instalación de matrix synapse, lo configuraremos para que se ejecute bajo la dirección IP local, desactivaremos el registro de matrix synapse y activaremos el registro-secreto compartido.

Antes de editar la configuración del servidor local, tenemos que generar la clave secreta compartida.

Ejecuta el siguiente comando.

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

Y obtendrás la clave generada. Copia la clave resultante.

Ahora tenemos que editar el archivo de configuración del servidor doméstico ‘homeserver.yaml’ en el directorio ‘/etc/matrix-synapse/’. Cambia el directorio actual a ‘/etc/matrix-synapse’ y edita el archivo de configuración utilizando vim.

cd /etc/matrix-synapse/
vim homeserver.yaml

Cambia el puerto de escucha HTTP y HTTPS ‘8008’ y ‘8448’ por la dirección IP local ‘127.0.0.1’.

    port: 8448
    bind_addresses:
      - '127.0.0.1'

    - port: 8008
    bind_addresses: ['127.0.0.1']

Configuración de la sinapsis de la matriz

Configuración del puerto de Matrix Synapse

Desactiva el registro de matrix synapse, descomenta la configuración ‘registration_shared_secret’ y pega la clave secreta generada.

enable_registration: False
registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"

Guarda y sal.

Nota:

registration_shared_secret: Si se establece, permite el registro de cualquier persona que también tenga el secreto compartido, incluso si el registro está desactivado.

Ahora reinicia los servicios de matrix synapse.

sudo systemctl restart matrix-synapse

reiniciar la matriz-sinapsis

Comprueba el servicio homeserver con el siguiente comando.

netstat -plntu

Obtendrás que el servicio matrix synapse está ahora en la dirección IP local.

Comprueba los puertos de sinapsis de la matriz

Y hemos completado la instalación y configuración de matrix synapse.

Paso 4 – Generar certificados SSL Letsencrypt

En este tutorial, habilitaremos HTTPS para el proxy inverso Nginx, y generaremos los archivos de certificados SSL de Letsencrypt.

Instala la herramienta letsencrypt con el comando apt que aparece a continuación.

sudo apt install letsencrypt -y

La herramienta Letsencrypt está instalada en el sistema, ahora genera los archivos del certificado SSL para el nombre de dominio de matrix ‘matrix.hakase-labs.io’ utilizando el comando certbot como se muestra a continuación.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d matrix.hakase-labs.io

La herramienta Letsencrypt generará los archivos del certificado SSL ejecutando el servidor web temporal «independiente» para su verificación.

Y cuando se complete, obtendrás el resultado como se muestra a continuación.

Generar certificados SSL Letsencrypt

Los archivos del certificado SSL para el nombre de dominio matrix synapse ‘matrix.hakase-labs.io’ se generan dentro del directorio ‘/etc/letsencrypt/live/’.

Paso 5 – Instalar y configurar Nginx como proxy inverso

En este paso, instalaremos el servidor web Nginx y lo configuraremos como proxy inverso para el servidor home que se ejecuta en el puerto ‘8008’.

Instala el servidor web Nginx utilizando el comando apt que aparece a continuación.

sudo apt install nginx -y

Una vez completada la instalación, inicia el servicio y habilítalo para que se inicie siempre al arrancar el sistema

sudo systemctl start nginx
sudo systemctl enable nginx

A continuación, crearemos una nueva configuración de host virtual para el nombre de dominio de la matriz ‘matrix.hakase-labs.io’.

Ve al directorio de configuración ‘/etc/nginx’ y crea un nuevo archivo de host virtual ‘matrix’.

cd /etc/nginx/
vim sites-available/matrix

Pega allí la siguiente configuración.

server {
       listen 80;
       server_name matrix.hakase-labs.io;
       return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name matrix.hakase-labs.io;

    ssl_certificate /etc/letsencrypt/live/matrix.hakase-labs.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/matrix.hakase-labs.io/privkey.pem;

    # If you don't wanna serve a site, comment this out
    root /var/www/html;
    index index.html index.htm;

    location /_matrix {
      proxy_pass http://127.0.0.1:8008;
      proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Guarda y sal.

Activa el archivo de host virtual y prueba la configuración.

ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
nginx -t

Asegúrate de que no hay ningún error, y luego reinicia los servicios de Nginx.

sudo systemctl restart nginx

La instalación y configuración de Nginx como proxy inverso para el servidor doméstico de Matrix Synapse ha finalizado.

Configurar Nginx

Paso 6 – Configurar el cortafuegos UFW

En este tutorial, sólo abriremos tres puertos para nuestros servicios. Sólo permitiremos la conexión SSH, HTTP y HTTPS en la configuración del cortafuegos UFW.

Añade los servicios SSH, HTTP y HTTPS a la configuración del cortafuegos UFW ejecutando el siguiente comando.

ufw allow ssh
ufw allow http
ufw allow https

configurar el cortafuegos UFW

Ahora habilita el servicio del cortafuegos UFW y luego comprueba el estado.

ufw enable
ufw status

Y obtendrás el resultado que se muestra a continuación.

Comprueba el estado del Firewall

Y ya hemos completado la configuración del cortafuegos UFW.

Paso 7 – Crear un nuevo usuario de Matrix

En este paso, la instalación y configuración del servidor doméstico de Matrix Synapse se ha completado. Y en este paso, te mostraremos cómo añadir un nuevo usuario de la matriz desde el servidor de línea de comandos.

Para crear un nuevo usuario de la matriz, ejecuta el siguiente comando.

register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://127.0.0.1:8448

Ahora tienes que introducir el nombre de usuario, la contraseña y decidir si el usuario tendrá privilegios de administrador o no.

A continuación se muestra el resultado en mi sistema.

Crear un nuevo usuario de Matrix

Y hemos creado un nuevo usuario matriz llamado ‘hakase’ con privilegios de administrador.

Paso 8 – Prueba

Descarga la aplicación de escritorio Riot para tu sistema operativo e instálala.

Abre el software Riot y obtendrás la página de inicio de sesión de Matrix como se indica a continuación.

Sinapsis de la matriz de prueba

Escribe el nombre de usuario y la contraseña de Matrix, luego elige la opción «Servidor personalizado» y escribe el nombre de dominio personalizado «matrix.hakase-labs.io».

Haz clic en el botón «Iniciar sesión».

Y ahora obtendrás el panel de control de Riot.

Panel de control de disturbios

El servidor doméstico de Matrix Synapse está funcionando bajo la conexión HTTPS del proxy inverso Nginx, y el usuario ‘hakase’ ha iniciado la sesión en el servidor doméstico de Matrix utilizando el escritorio de la aplicación Riot.

Configuración del usuario de la matriz.

Ajustes del usuario

Usuario del chat de Matrix como grupo.

Chat de la matriz

Referencia

También te podría gustar...