Matrix Protocol Featured

¿Qué es Matrix Protocol y cómo instalarlo?

Matrix es una alternativa innovadora y de código abierto a los servicios de chat como Discord y Slack que tiene muchas funciones y es fácil de usar. Es totalmente compatible con el cifrado de extremo a extremo y está disponible para casi todos los sistemas operativos. También puede alojarlo en su propio servidor, lo que lo convierte en una forma totalmente segura y privada de chatear en Internet.

Aquí le mostraremos cómo puede instalar Matrix en su servidor.

¿Qué es el Protocolo Matrix?

En esencia, Matrix es un conjunto de protocolos que definen cómo se envían los mensajes a través de Internet. Al igual que HTTP, Matrix pretende ser un estándar abierto que promueva el intercambio gratuito y transparente de información en línea. Lo hace haciendo dos cosas:

  • El equipo de protocolo central proporciona un servidor de código abierto que puede crear e implementar para que los clientes y usuarios se conecten. Esto también sirve como referencia para desarrolladores externos al crear su propio software.
  • Estos servidores, a su vez, están hechos para comunicarse entre sí. Esto significa que puede hablar con otros usuarios incluso si están en un servidor diferente al suyo.

¿Por qué utilizar el Protocolo Matrix?

Uno de los principales puntos de venta de Matrix es que le permite crear una red de servidores que pueden comunicarse entre sí sin problemas en tiempo real. Esto es similar a tecnologías como Email, IRC y Pleroma.

En eso, puede crear un servidor para usted y conectarse instantáneamente con el resto del mundo. Esto puede ser increíblemente útil si desea poder controlar sus propios datos cuando se comunica en línea.

Además, este modelo de comunicación también es muy resistente y seguro. Ser capaz de tener su propio servidor le da la capacidad de mantener el servicio incluso si partes de la red más grande fallan. No solo eso, esto también asegura que solo usted pueda acceder a las cuentas y mensajes que están en su servidor.

Alojamiento de su propio servidor Matrix

La forma más fácil de usar Matrix es alojando su propio servidor.

Sin embargo, es importante tener en cuenta que Matrix necesitará una serie de cosas antes de poder instalarlo y usarlo:

  • Primero, debe tener un nombre de dominio para su instancia. Esto es porque, sinapsisel servidor que va a utilizar necesita un nombre de dominio completo para funcionar.
  • También necesita una máquina a la que pueda acceder desde fuera de su red. Puede ser una PC en su hogar que tenga una dirección IP estática adecuada o un VPS que alquile en línea.
  • Por último, si tiene la intención de instalar Synapse en un VPS, debe asegurarse de tener acceso de root para esa máquina. Esto se debe a que Synapse depende de varios paquetes del sistema para funcionar correctamente.

Sabiendo todo esto, esta guía se centrará en configurar Synapse en un VPS Debian desde océano digital. Empecemos.

Servidor Matrix 29 Servidor Digitalocean

1. Instalación de Synapse

Inicie sesión en su instancia de VPS y descargue todas las dependencias para Synapse:

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

Dependencias de instalación de Matrix Server 12

De forma predeterminada, Debian no incluye los paquetes oficiales de Synapse en sus repositorios. Deberá importar el repositorio de Synapse a su servidor.

  1. Primero, importe las claves GPG de los desarrolladores a su máquina:
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg

Matrix Server 13 Agregar claves de Matrix Repo

  1. A continuación, agregue el repositorio de Synapse a «sources.list»:
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

Matrix Server 14 Agregar repositorio Matrix

  1. A partir de ahí, ahora puede usar apt para actualizar la lista de paquetes que puede instalar para su sistema:

Actualización de Matrix Server 15 Apt

Una vez hecho esto, ahora puede instalar Synapse a través de apt:

sudo apt install matrix-synapse-py3

Synapse le pedirá un par de cosas durante la instalación.

  1. Primero, deberá nombrar su servidor como el nombre de dominio que desea usar con Matrix. En mi caso, usé «yetanothermatrixserver.xyz».

Servidor Matrix 16 Nombre del servidor

  1. Desde allí, puede elegir si desea informar las estadísticas de su servidor a los desarrolladores de Matrix. Como quiero que mi servidor sea completamente privado, seleccioné «No».

Matrix Server 17 Anónimo Stat 1

2. Configurar Sinapsis

Una vez que se instala Synapse, lo siguiente que debe hacer es configurar un proxy inverso con nginx. Hacer esto le permitirá acceder a Synapse desde fuera de la máquina local. Esto funciona usando el servidor web Nginx para escuchar el tráfico entrante y reenviarlo a un puerto diferente en el sistema.

  1. Para comenzar, primero debe instalar Nginx:

Servidor Matrix 18 Instalar Nginx

  1. Ahora, debe crear el archivo de configuración de Nginx para Synapse. Puede hacer esto ejecutando el siguiente comando:
sudo touch /etc/nginx/sites-available/default
  1. Una vez hecho esto, puede editar este archivo de configuración y crear un proxy inverso para Synapse. Por ejemplo, una configuración de proxy inverso podría verse así:
server {
        server_name yetanothermatrixserver.xyz;
        listen 80;
        listen [::]:80;
        location / {
                proxy_pass https://localhost:8008;
        }
        location ~* ^(\/_matrix|\/_synapse\/client) {
                proxy_pass https://localhost:8008;
                proxy_set_header X-Forwarded-For $remote_addr;
                client_max_body_size 50M;
        }
        location /.well-known/matrix/server {
                return 200 '{"m.homeserver": {"base_url": "https://yetanothermatrixserver.xyz"}}';
                default_type application/json;
                add_header Access-Control-Allow-Origin *;
        }
}
  • los server_name apunta al nombre de dominio que está utilizando. En mi caso, utilicé «yetanothermatrixserver.xyz» como mi nombre_servidor.
  • Los dos listen Los comandos le dicen a Nginx dónde buscar conexiones entrantes. La primera línea busca conexiones IPv4 mientras que la segunda busca IPv6.
  • El tres location Los bloques indican qué hará Nginx para las rutas específicas que un usuario podría solicitar. Por ejemplo, el primer bloque de ubicación le dice a Nginx que redirija automáticamente el tráfico al puerto 8008. Mientras que el último bloque de ubicación maneja el desafío ACME para SSL.

Configuración Nginx de ejemplo de Matrix Server 19

3. Configurar SSL para Synapse

Una vez hecho esto, lo siguiente que debe hacer es configurar el cifrado. De forma predeterminada, Synapse no hace SSL por sí mismo, pero puede configurarlo fácilmente con Let’s Encrypt.

  1. Puede instalar certbot ejecutando el siguiente comando:
sudo apt install certbot python3-certbot-nginx

Matrix Server 20 Instalar Certbot

  1. Una vez hecho esto, puede ejecutar el siguiente comando para iniciar el proceso de certificado automático:
sudo certbot --nginx -d yetanothermatrixserver.xyz
  1. Después de eso, ahora puede volver a cargar nginx para verificar que su instalación de Synapse esté funcionando.
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Instalación exitosa de Matrix Server 21

4. Crear una cuenta de usuario en Synapse

Ahora puede crear su primera cuenta de usuario en Synapse. Para hacer eso, necesitas hacer dos cosas:

  • crear un secreto previamente compartido
  • ejecute el script de creación de usuarios.

Sabiendo eso, es relativamente simple crear un secreto previamente compartido. Esta es una cadena aleatoria de caracteres que debe colocar en su archivo de configuración de Synapse. Esto, a su vez, le permite crear y eliminar cuentas desde la línea de comandos de su VPS.

  1. Puede crear fácilmente una cadena aleatoria usando «/dev/random». Por ejemplo, este es un archivo que va junto con otros programas para crear una cadena aleatoria de caracteres:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

Matrix Server 22 Secreto precompartido

  1. A partir de ahí, ahora puede insertar este texto en su archivo de configuración de Synapse homeserver.yaml. Puede encontrar este archivo en su directorio «/etc/matrix-synapse».
  1. Si bien este es un archivo relativamente largo, lo único que debe editar aquí es la opción «registration_shared_secret». Debe descomentar esta línea y reemplazar su valor con el texto que acaba de crear.

Matrix Server 23 Homeserver Yaml secreto

  1. Una vez hecho esto, ahora puede guardar este archivo y volver a cargar Synapse. Al hacer esto, se asegura de que el servidor cargue correctamente el secreto precompartido.
sudo systemctl restart matrix-synapse

Lo último que debe hacer es crear la cuenta de usuario.

  1. Para hacer eso, puede ejecutar el siguiente comando:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://localhost:8008
  1. Synapse ahora le preguntará algunas cosas sobre la cuenta que desea crear. Primero, necesitará un nombre de usuario para su cuenta.

Primer nombre de usuario de Matrix Server 24

  1. Una vez completado este paso, Synapse le pedirá que establezca una contraseña para la cuenta. A diferencia de otros servicios, el servidor no lo restringirá al establecer una contraseña débil. Como tal, debe asegurarse de ingresar una contraseña lo suficientemente segura aquí.

Matrix Server 25 Primera contraseña de usuario

  1. A continuación, Synapse le preguntará si desea que esta cuenta sea administrador o no. Habilitar esto para su cuenta le permitirá administrar fácilmente su servidor desde un cliente de Matrix.

Administrador de primer usuario de Matrix Server 26

¡Felicidades! Ahora tiene una instalación funcional básica de Synapse.

Desde aquí, ahora puede iniciar sesión en su servidor a través de un cliente web como Elemento. Por otro lado, también puede usar una computadora de escritorio o un cliente móvil como Ídem.

Servidor Matrix 27 Elemento conectado

Preguntas frecuentes

¿Puedo usar Synapse bajo un subdominio en su lugar?

¡Sí! Puede alojar fácilmente Synapse bajo un subdominio. Para hacer eso, solo necesita asegurarse de que la dirección IP del subdominio apunte a su servidor. También debe cambiar la entrada «server_name» en el archivo de configuración de Nginx para asegurarse de que esté escuchando para acceder al subdominio.

¿Synapse incluye su propio cliente Matrix?

Tristemente no. Synapse no incluye su propio cliente web de forma predeterminada. Esta es también la razón por la que solo obtiene una pantalla de confirmación en su sitio web. Sabiendo eso, hay un número de buenos clientes de código abierto que puede instalar ahora para acceder a su servidor Synapse.

¿Hay alguna manera de habilitar registros externos para mi servidor Matrix?

¡Sí! Es relativamente fácil habilitar registros externos con Synapse. Todo lo que necesita hacer es cambiar la opción «enable_registration» a «true» en su archivo homeserver.yaml.

Sin embargo, una cosa importante a tener en cuenta es que hacerlo de esta manera significa que el servidor no verificará si el usuario es un ser humano real o no. Para hacer eso, debe usar CAPTCHA o enviar un correo electrónico para que Synapse envíe correos electrónicos de confirmación.

Credito de imagen: Símbolo de burbuja de diálogo de mensaje por 123RF

Deja un comentario

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

Experto Geek - Tu Guía en Tendencias Tecnológicas