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?
- Actualice y actualice el sistema Ubuntu 18.04
- Instalar Matrix Synapse
- Configurar Matrix Synapse
- Generar SSL Letsencrypt
- Instalar y configurar Nginx como proxy inverso para Matrix Synapse
- Configurar el cortafuegos UFW
- Configurar nuevo usuario de Matrix
- 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.
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.