Cómo instalar Matrix Synapse Chat en Ubuntu 18.04 LTS

Instalar Matrix Synapse

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

Synapse es una implementación del servidor principal de matriz creado por el equipo de matriz y escrito en Python/Twisted. Con este software, podemos implementar la forma matricial para la comunicación descentralizada, 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, le 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 un proxy inverso para él, e implementaremos la conexión HTTPS entre los clientes y el servidor web front-end Nginx.

requisitos previos

  • Ubuntu 18.04
  • Privilegios de raíz
  • Matrix Nombre de dominio o subdominio – matrix.hakase-labs.io

¿Lo que haremos?

  1. Actualice y actualice 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 nuevo usuario de matriz
  8. Pruebas

Paso 1: actualización y actualización del sistema

Inicie sesión en su servidor Ubuntu, actualice el repositorio y actualice todos los paquetes usando el comando apt a continuación.

sudo apt update
sudo apt upgrade

Y todos los paquetes de ubuntu se han actualizado.

Paso 2: instale Matrix Synapse

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

Agregue la clave de matriz y el repositorio ejecutando todos los comandos a continuación.

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 instale matrix synapse usando el comando apt como se muestra a continuación.

sudo apt install matrix-synapse -y

Durante la instalación, le preguntará sobre el nombre del servidor de matriz: escriba el nombre de dominio de matriz ‘matrix.hakase-labs.io’.

Instalador de Matrix Synapse apt - parte 1

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

Instalador de Matrix Synapse apt - parte 1

Cuando se complete la instalación de Matrix Synapse, inicie el servicio y habilítelo para que se inicie cada vez que se inicie el sistema.

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

La sinapsis de matriz ahora está en funcionamiento con la configuración predeterminada en los puertos ‘8008’ y ‘8448’. Verifique usando el comando netstat.

netstat -plntu

Comprobar puertos abiertos

Paso 3: configurar Matrix Synapse

Después de la instalación de matrix synapse, lo configuraremos para que se ejecute con la dirección IP local, deshabilitaremos el registro de matrix synapse y habilitaremos el registro compartido.

Antes de editar la configuración del servidor doméstico, debemos generar la clave secreta compartida.

Ejecute el siguiente comando.

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

Y obtendrá la clave generada. Copie la clave de resultado.

Ahora necesitamos editar el archivo de configuración del servidor principal ‘homeserver.yaml’ en el directorio ‘/etc/matrix-synapse/’. Cambie el directorio actual a ‘/etc/matrix-synapse’ y edite el archivo de configuración usando vim.

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

Cambie el puerto de escucha HTTP y HTTPS ‘8008’ y ‘8448’ a 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 Matrix Synapse

Configuración del puerto Matrix Synapse

Deshabilite el registro de sinapsis de matriz, elimine el comentario de la configuración ‘registration_shared_secret’ y pegue la clave secreta generada.

enable_registration: False
registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"

Guardar y Salir.

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

Ahora reinicie los servicios Matrix Synapse.

sudo systemctl restart matrix-synapse

reiniciar matrix-synapse

Verifique el servicio del servidor doméstico usando el siguiente comando.

netstat -plntu

Obtendrá el servicio Matrix Synapse ahora en la dirección IP local.

Compruebe los puertos Matrix Synapse

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 de Nginx y generaremos los archivos de certificado SSL desde Letsencrypt.

Instale la herramienta letsencrypt usando el comando apt a continuación.

sudo apt install letsencrypt -y

La herramienta Letsencrypt está instalada en el sistema, ahora genere los archivos de certificado SSL para el nombre de dominio matriz ‘matrix.hakase-labs.io’ usando 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á archivos de certificados SSL al ejecutar el servidor web temporal ‘independiente’ para la verificación.

Y cuando esté completo, obtendrá el resultado como se muestra a continuación.

Generar certificados SSL Letsencrypt

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

Paso 5: instale y configure Nginx como proxy inverso

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

Instale el servidor web Nginx usando el comando apt a continuación.

sudo apt install nginx -y

Una vez completada la instalación, inicie el servicio y habilítelo para que se inicie cada vez que se inicia 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 matriz ‘matrix.hakase-labs.io’.

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

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

Pegue la siguiente configuración allí.

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;
    }
}

Guardar y Salir.

Active el archivo de host virtual y pruebe la configuración.

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

Asegúrese de que no haya ningún error, luego reinicie los servicios de Nginx.

sudo systemctl restart nginx

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

Configurar Nginx

Paso 6: configurar el cortafuegos UFW

En este tutorial, solo abriremos tres puertos para nuestros servicios. Solo permitiremos la conexión SSH, HTTP y HTTPS en la configuración del firewall UFW.

Agregue los servicios SSH, HTTP y HTTPS a la configuración del firewall UFW ejecutando el siguiente comando.

ufw allow ssh
ufw allow http
ufw allow https

configurar el cortafuegos UFW

Ahora habilite el servicio de firewall UFW y luego verifique el estado.

ufw enable
ufw status

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

Comprobar el estado del cortafuegos

Y hemos completado la configuración del firewall UFW.

Paso 7: cree un nuevo usuario de Matrix

En esta etapa, la instalación y la configuración del servidor principal Matrix Synapse están completas. Y en este paso, le mostraremos cómo agregar un nuevo usuario de matriz desde el servidor de línea de comandos.

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

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

Ahora debe ingresar 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 de matriz llamado ‘hakase’ con privilegio de administrador.

Paso 8 – Prueba

Descargue la aplicación de escritorio Riot para su sistema operativo e instálela.

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

Sinapsis de matriz de prueba

Escriba el nombre de usuario y la contraseña de Matrix, luego elija la opción ‘Servidor personalizado’ y escriba el nombre de dominio personalizado ‘matrix.hakase-labs.io’.

Haga clic en el botón ‘Iniciar sesión’.

Y ahora obtendrás el Riot Dashboard.

Panel de control de disturbios

El servidor doméstico Matrix Synapse está en funcionamiento bajo la conexión HTTPS del proxy inverso Nginx, y el usuario ‘hakase’ ahora está conectado al servidor doméstico Matrix usando el escritorio de la aplicación Riot.

Configuración de usuarios de Matrix.

Ajustes de usuario

Usuario de Matrix chat como grupo.

Chat de matriz

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *