Comment installer Matrix Synapse Chat sur Ubuntu 18.04 LTS

Matrix est un nouvel écosystème de communication décentralisée en temps réel pour des services de messagerie instantanée et de VoIP fédérés ouverts. Il fournit des API HTTP JSON RESTful pour construire des serveurs de chat distribués et fédérés sans point de contrôle et de défaillance unique et fournit toutes les références pour les API.

Synapse est une implémentation du serveur domestique de matrix créée par l’équipe de matrix et écrite en Python/Twisted. Avec ce logiciel, nous pouvons mettre en œuvre la méthode matrix pour une communication décentralisée, nous pouvons créer notre propre serveur domestique et stocker toutes les informations personnelles de l’utilisateur, l’historique des chats, créer la salle pour son propre usage, etc.

Dans ce tutoriel, nous allons te montrer, étape par étape, comment installer et configurer Matrix Synapse sur Ubuntu 18.04. Nous allons configurer Matrix Synapse sur l’adresse IP locale, et configurer le serveur Web Nginx comme un proxy inverse pour lui, et mettre en œuvre la connexion HTTPS entre les clients et le serveur Web Nginx frontal.

Conditions préalables

  • Ubuntu 18.04
  • Privilèges de racine
  • Nom de domaine ou sous-domaine de Matrix – matrix.hakase-labs.io

Ce que nous allons faire ?

  1. Mettre à jour et mettre à niveau le système Ubuntu 18.04
  2. Installe Matrix Synapse
  3. Configurer Matrix Synapse
  4. Générer SSL Letsencrypt
  5. Installe et configure Nginx comme proxy inverse pour Matrix Synapse
  6. Configurer le pare-feu UFW
  7. Configurer un nouvel utilisateur Matrix
  8. Tester

Étape 1 – Mise à jour et mise à niveau du système

Connecte-toi à ton serveur Ubuntu, mets à jour le référentiel et mets à niveau tous les paquets à l’aide de la commande apt ci-dessous.

sudo apt update
sudo apt upgrade

Tous les paquets Ubuntu ont été mis à niveau.

Étape 2 – Installer Matrix Synapse

Dans cette étape, nous allons installer le logiciel matrix synapse en utilisant les paquets Debian du référentiel officiel de matrix.

Ajoute la clé et le référentiel matrix en exécutant toutes les commandes ci-dessous.

wget -qO - https://matrix.org/packages/debian/repo-key.asc | sudo apt-key add -
sudo add-apt-repository https://matrix.org/packages/debian/

La commande mettra automatiquement à jour le référentiel.

Installe Matrix Synapse

Installe maintenant matrix synapse à l’aide de la commande apt comme ci-dessous.

sudo apt install matrix-synapse -y

Pendant l’installation, il te sera demandé le nom du serveur de matrix – tape le nom de domaine de matrix ‘matrix.hakase-labs.io’.

Matrix synapse apt installer - part 1

Et pour le rapport de données anonymes, choisis ‘Non’.

Matrix synapse apt installer - part 1

Lorsque l’installation de matrix synapse est terminée, démarre le service et active-le pour qu’il se lance à chaque fois au démarrage du système.

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

matrix synapse est maintenant opérationnel et fonctionne avec la configuration par défaut sur les ports ‘8008’ et ‘8448’. Vérifie en utilisant la commande netstat.

netstat -plntu

Vérifie les ports ouverts

Étape 3 – Configurer Matrix Synapse

Après l’installation de matrix synapse, nous allons le configurer pour qu’il fonctionne sous l’adresse IP locale, désactiver l’enregistrement de matrix synapse et activer le secret partagé d’enregistrement.

Avant de modifier la configuration du serveur domestique, nous devons générer la clé du secret partagé.

Exécute la commande ci-dessous.

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

Tu obtiendras la clé générée. Copie la clé obtenue.

Maintenant, nous devons modifier le fichier de configuration du serveur domestique ‘homeserver.yaml’ dans le répertoire ‘/etc/matrix-synapse/’. Change le répertoire actuel en ‘/etc/matrix-synapse’ et modifie le fichier de configuration à l’aide de vim.

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

Change le port d’écoute HTTP et HTTPS ‘8008’ et ‘8448’ pour l’adresse IP locale ‘127.0.0.1’.

    port: 8448
    bind_addresses:
      - '127.0.0.1'

    - port: 8008
    bind_addresses: ['127.0.0.1']

Configuration de Matrix Synapse

Configuration du port de Matrix Synapse

Désactive l’enregistrement de matrix synapse, décommente la configuration ‘registration_shared_secret’ et colle la clé secrète générée.

enable_registration: False
registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"

Sauvegarde et quitte.

Remarque :

registration_shared_secret : Si elle est définie, elle permet l’enregistrement par toute personne qui possède également le secret partagé, même si l’enregistrement est désactivé.

Redémarre maintenant les services de matrix synapse.

sudo systemctl restart matrix-synapse

redémarre la matrice-synapse

Vérifie le service homeserver à l’aide de la commande ci-dessous.

netstat -plntu

Tu obtiendras que le service matrix synapse est maintenant sur l’adresse IP locale.

Vérifier les ports Synapse de Matrix

Et nous avons terminé l’installation et la configuration de matrix synapse.

Étape 4 – Générer des certificats SSL Letsencrypt

Dans ce tutoriel, nous allons activer HTTPS pour le reverse proxy Nginx, et nous allons générer les fichiers de certificat SSL à partir de Letsencrypt.

Installe l’outil letsencrypt à l’aide de la commande apt ci-dessous.

sudo apt install letsencrypt -y

L’outil Letsencrypt est installé sur le système, génère maintenant les fichiers de certificat SSL pour le nom de domaine matrix ‘matrix.hakase-labs.io’ en utilisant la commande certbot comme indiqué ci-dessous.

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

L’outil Letsencrypt générera les fichiers de certificat SSL en exécutant le serveur Web temporaire ‘autonome’ pour vérification.

Et quand il sera terminé, tu obtiendras le résultat comme indiqué ci-dessous.

Générer des certificats SSL Letsencrypt

Les fichiers du certificat SSL pour le nom de domaine matrix synapse ‘matrix.hakase-labs.io’ sont générés dans le répertoire ‘/etc/letsencrypt/live/’.

Étape 5 – Installe et configure Nginx comme proxy inverse

Dans cette étape, nous allons installer le serveur Web Nginx et le configurer comme un proxy inverse pour le serveur domestique qui fonctionne sur le port ‘8008’.

Installe le serveur Web Nginx à l’aide de la commande apt ci-dessous.

sudo apt install nginx -y

Une fois l’installation terminée, démarre le service et active-le pour qu’il se lance à chaque fois au démarrage du système.

sudo systemctl start nginx
sudo systemctl enable nginx

Ensuite, nous allons créer une nouvelle configuration d’hôte virtuel pour le nom de domaine matrix ‘matrix.hakase-labs.io’.

Va dans le répertoire de configuration ‘/etc/nginx’ et crée un nouveau fichier d’hôte virtuel ‘matrix’.

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

Colle la configuration suivante dans ce fichier.

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

Sauvegarde et quitte.

Active le fichier d’hôte virtuel et teste la configuration.

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

Assure-toi qu’il n’y a pas d’erreur, puis redémarre les services Nginx.

sudo systemctl restart nginx

L’installation et la configuration de Nginx comme proxy inverse pour le serveur domestique Matrix Synapse sont terminées.

Configurer Nginx

Étape 6 – Configurer le pare-feu UFW

Dans ce tutoriel, nous n’ouvrirons que trois ports pour nos services. Nous n’autoriserons que les connexions SSH, HTTP et HTTPS sur la configuration du pare-feu UFW.

Ajoute les services SSH, HTTP et HTTPS à la configuration du pare-feu UFW en exécutant la commande ci-dessous.

ufw allow ssh
ufw allow http
ufw allow https

Configurer le pare-feu UFW

Active maintenant le service du pare-feu UFW, puis vérifie l’état.

ufw enable
ufw status

Et tu obtiendras le résultat comme indiqué ci-dessous.

Vérifie l'état du pare-feu

Et nous avons terminé la configuration du pare-feu UFW.

Étape 7 – Créer un nouvel utilisateur Matrix

À ce stade, l’installation et la configuration de matrix synapse homeserver sont terminées. Et dans cette étape, nous allons te montrer comment ajouter un nouvel utilisateur matrix à partir de la ligne de commande du serveur.

Pour créer un nouvel utilisateur de matrice, exécute la commande ci-dessous.

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

Tu dois maintenant saisir le nom d’utilisateur, le mot de passe et décider si l’utilisateur aura les privilèges d’administrateur ou non.

Voici le résultat sur mon système.

Créer un nouvel utilisateur Matrix

Et nous avons créé un nouvel utilisateur de matrice nommé ‘hakase’ avec des privilèges d’administrateur.

Étape 8 – Test

Télécharge l’application de bureau Riot pour ton système d’exploitation et installe-la.

Ouvre le logiciel Riot et tu obtiendras la page de connexion de Matrix comme ci-dessous.

Test Matrix Synapse

Saisis le nom d’utilisateur et le mot de passe de Matrix, puis choisis l’option ‘Serveur personnalisé’ et saisis le nom de domaine personnalisé ‘matrix.hakase-labs.io’.

Clique sur le bouton ‘Sign In’.

Et maintenant, tu obtiendras le tableau de bord Riot.

Tableau de bord de l'émeute

Le serveur domestique Matrix Synapse est opérationnel sous la connexion HTTPS du proxy inverse Nginx, et l’utilisateur ‘hakase’ est maintenant connecté au serveur domestique matrix à l’aide du bureau de l’application Riot.

Configuration de l’utilisateur de Matrix.

Paramètres de l'utilisateur

Utilisateur de chat Matrix en tant que Groupe.

Matrix Chat

Référence

Vous aimerez aussi...