GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Matrix Synapse Chat en Ubuntu 20.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 doméstico de matriz creado por un equipo de matriz y escrito en Python/Twisted. Con este software, podemos implementar la forma matricial para la comunicación descentralizada, podemos crear nuestro 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 cómo instalar y configurar Matrix Synapse en Ubuntu 20.04. Configuraremos Matrix Synapse con Nginx como proxy inverso y aseguraremos la instalación mediante el SSL proporcionado por Letsencrypt.

Requisitos previos

Para esta guía, instalaremos Matrix Synapse en el último Ubuntu 20.04 con 1 Gb de RAM, 25 GB de espacio libre en disco y 2 CPU. Además, debe tener acceso a su servidor con privilegios de root.

¿Qué haremos?

  • Instalar Matrix Synapse
  • Configurar Matrix Synapse
  • Generar SSL Letsencrypt
  • Configurar Nginx como proxy inverso
  • Configurar el cortafuegos UFW
  • Registrar nuevo usuario
  • Pruebas

Paso 1:instalar Matrix Synapse

Primero, instalaremos Matrix Synapse en el último servidor Ubuntu 20.04. Para hacer eso, necesitamos agregar la clave GPG y el repositorio oficial de Matrix Synapse.

Antes de continuar, instale algunas dependencias de paquetes usando el comando apt a continuación.

sudo apt install -y lsb-release wget apt-transport-https

Después de eso, agregue la clave GPG y el repositorio de Matrix Synapse para el sistema basado en Debian/Ubuntu.

sudo wget -qO /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
    sudo tee /etc/apt/sources.list.d/matrix-org.list

Ahora actualice la lista de repositorios de todos los paquetes e instale los paquetes de Matrix Synapse.

sudo apt update
sudo apt install matrix-synapse-py3

Ahora se le pedirá la configuración del nombre de dominio.

Escriba su nombre de dominio para la instalación de Matrix Synapse y seleccione 'OK ' para continuar.

Para la 'Estadística de datos anónimos', elija 'No '.

Y la instalación de Matrix Synapse se ha completado.

A continuación, inicie el servicio 'matrix-synapse' y agréguelo al arranque del sistema.

systemctl start matrix-synapse
systemctl enable matrix-synapse

Matrix Synapse está funcionando, verifíquelo con el siguiente comando.

systemctl status matrix-synapse
ss -plnt

A continuación se muestra el resultado que obtendrá.

Como resultado, Matrix Synapse se ejecuta con el puerto TCP predeterminado '8008' en Ubuntu 20.04.

Paso 2:configurar Matrix Synapse

En este paso, configuraremos las 'direcciones de enlace' para Matrix Synapse, deshabilitaremos el registro en nuestro servidor y configuraremos el secreto compartido de registro.

Antes de continuar, genere el secreto de registro de Matrix Synapse con el siguiente comando.

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

Ahora obtendrá la clave aleatoria, copiará la clave y la guardará en su nota.

GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f

Luego, vaya al directorio '/etc/matrix-synapse' y edite la configuración 'homeserver.yaml' usando el editor vim.

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

Vaya a la sección 'oyentes' y cambie el valor 'bind-addresses' con la dirección IP local como se muestra a continuación.

listeners:

  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    bind_addresses: ['127.0.0.1']

    resources:
      - names: [client, federation]
        compress: false

Ahora deshabilite Matrix Synapse si está ejecutando el nodo solo para usted.

enable_registration: false

Cambie el 'registration_shared_secret' con la frase de contraseña aleatoria generada en la parte superior.

registration_shared_secret: "GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f"

Guardar y cerrar.

A continuación, reinicie el servicio Matrix Synapse para aplicar la nueva configuración.

systemctl restart matrix-synapse

Verifique el servicio usando el siguiente comando.

ss -plnt
systemctl status matrix-synapse

A continuación se muestra el resultado que obtendrá.

Como resultado, el servicio Matrix Synapse está en funcionamiento con una nueva configuración.

Paso 3:generar SSL Letsencrypt

En este paso, generaremos el SSL Letsencrypt utilizando la herramienta certbot. Matrix Synapse se ejecutará bajo la conexión HTTPS segura utilizando los certificados SSL proporcionados por Letsencrypt.

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

sudo apt install certbot -y

Después de eso, genere un nuevo certificado SSL utilizando el comando certbot a continuación y asegúrese de cambiar la dirección de correo electrónico y el nombre de dominio por los suyos propios.

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

Una vez que todo esté completo, sus certificados SSL estarán disponibles en el directorio '/etc/letsencrypt/live/domain.com/'.

ls -lah /etc/letsencrypt/live/domain.com/

'fullchain.pem' es la clave pública y 'privkey.pem' es la clave privada.

Paso 4:configurar Nginx como proxy inverso

Para este tutorial, ejecutaremos Matrix Synapse bajo el proxy Nginx Reverse. Y para este paso, instalaremos los paquetes de Nginx y lo configuraremos como un proxy inverso.

El servidor web Nginx se ejecutará en 3 puertos, el puerto HTTP predeterminado '80', el puerto HTTPS seguro '443' y el puerto TCP '8448' que se utilizará para la federación Matrix Synapse.

Instale los paquetes Nginx usando el comando apt a continuación.

sudo apt install nginx -y

Una vez completada toda la instalación, vaya al directorio '/etc/nginx/sites-available' y cree una nueva configuración de virtualhost llamada 'matrix' usando el editor vim.

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

Cambie el nombre de dominio y la ruta de los certificados SSL por los suyos propios, luego pegue la configuración en él.

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

server {
    listen 443 ssl;
    server_name hakase-labs.io;

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

    location /_matrix {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        # Nginx by default only allows file uploads up to 1M in size
        # Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
        client_max_body_size 10M;
    }
}

# This is used for Matrix Federation
# which is using default TCP port '8448'
server {
    listen 8448 ssl;
    server_name hakase-labs.io;

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

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

Guardar y cerrar.

A continuación, active el virtualhost 'matrix' y pruebe la configuración de Nginx. Además, asegúrese de que no haya ningún error.

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

Ahora reinicie el servicio Nginx y agréguelo al arranque del sistema.

systemctl restart nginx
systemctl enable nginx

Después de eso, verifique el servicio Nginx usando el siguiente comando.

ss -plnt
systemctl status nginx

A continuación se muestra el resultado que obtendrá.

Como resultado, el servicio Nginx está funcionando en Ubuntu 20.04 con tres puertos diferentes, el puerto HTTP predeterminado 80 que se redirigirá automáticamente al puerto HTTPS seguro y el puerto '8448' que se usará para Matrix Synapse Federation.

Paso 5 - Cortafuegos UFW

Para este tutorial, ejecutaremos Matrix Synapse en Ubuntu 20.04 con el firewall UFW habilitado.

Agregue ssh, http, https y el puerto TCP '8448' al firewall UFW usando el siguiente comando.

for svc in ssh http https 8448
do
ufw allow $svc
done

Después de eso, ejecute y habilite el firewall UFW.

ufw enable

Escriba 'y ' para confirmar que el cortafuegos de UFW está en funcionamiento, verifique todas las reglas disponibles en el cortafuegos de UFW usando el siguiente comando.

ufw status numbered

A continuación se muestra el resultado que obtendrá.

Como resultado, se ha completado la configuración del cortafuegos UFW.

Paso 6 - Registrar usuario

En esta etapa, se completa la instalación y configuración del servidor principal Matrix Synapse. 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.

sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008

Ahora escriba el nombre de usuario y la contraseña de su usuario, para convertir al usuario en administrador, escriba 'sí'.

New user localpart [root]: changbin
Password:
Confirm password:
Make admin [no]:
Sending registration request...
Success!

Como resultado, se ha creado el nuevo usuario de Matrix.

Paso 7 - Prueba

Para este paso, probaremos la instalación de nuestro servidor Matrix Synapse.

- Prueba de Matrix Synapse Federation

Vaya a la URL de Matrix Synapse Federation Tester a continuación.

https://federationtester.matrix.org/

Ahora escriba su nombre de dominio de Matrix Synapse y haga clic en 'Ir ', y obtendrá el resultado exitoso como se muestra a continuación.

Como se puede ver, Matrix Synapse Federation está trabajando a través del puerto '8448'.

- Inicio de sesión de Test Matrix con usuario y contraseña

Vaya al cliente Matrix basado en la web llamado 'riot.im' como URL a continuación.

https://riot.im/app/

Haga clic en 'Iniciar sesión ' y puede usar su servidor Matrix Synapse personalizado.

Escriba su nombre de dominio y haga clic en 'Siguiente '.

Ahora escriba su nombre de usuario y contraseña, luego haga clic en 'Iniciar sesión botón '.

Se le pedirán preguntas de seguridad adicionales.

Una vez que haya iniciado sesión, obtendrá la siguiente página.

Como resultado, la instalación de Matrix Synapse con el proxy inverso de Nginx y la federación habilitada en Ubuntu 20.04 se completó con éxito.


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