GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Matrix Synapse Chat en Ubuntu 18.04 LTS

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

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

¿Qué 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 Matrix
  8. Pruebas

Paso 1:actualización y mejora 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:instalar 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.

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

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

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

Paso 3:configurar Matrix Synapse

Después de la instalación de matrix synapse, lo configuraremos para que se ejecute bajo la dirección IP local, deshabilitaremos el registro de matrix synapse y habilitaremos el registro-secreto 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']

Deshabilite el registro de sinapsis de matriz, descomente 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

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.

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

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:instalar y configurar 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 con el siguiente comando apt.

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 la 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 Matrix Synapse.

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

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.

Y hemos completado la configuración del cortafuegos UFW.

Paso 7:Crear 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.

Y hemos creado un nuevo usuario de matriz llamado 'hakase' con privilegios 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.

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 panel de control de Riot.

El servidor doméstico de 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 de Matrix usando el escritorio de la aplicación Riot.

Configuración de usuario de Matrix.

Usuario de Matrix chat como grupo.


Ubuntu
  1. Cómo instalar Docker en Ubuntu 22.04/20.04 LTS

  2. Cómo instalar PlayOnLinux en Ubuntu 20.04 LTS

  3. Cómo instalar MariaDB en Ubuntu 20.04 LTS

  4. Cómo instalar Ansible en Ubuntu 20.04 LTS / 21.04

  5. Cómo instalar Minikube en Ubuntu 20.04 LTS / 21.04

Cómo instalar Rocket.Chat en Ubuntu 16.04 LTS

Cómo instalar Go en Ubuntu 18.04 LTS

Cómo instalar Go en Ubuntu 20.04 LTS

Cómo instalar Rocket.Chat en Ubuntu 20.04 LTS

Cómo instalar Zulip Chat Server en Ubuntu 20.04 LTS

Cómo instalar Matrix Synapse en Ubuntu 20.04