GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Matrix Synapse Chat sur Ubuntu 20.04 LTS

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

Synapse est une implémentation du serveur domestique matriciel créé par une équipe matricielle et écrit en Python/Twisted. Avec ce logiciel, nous pouvons implémenter la méthode matricielle pour la communication décentralisée, nous pouvons créer notre serveur domestique et stocker toutes les informations personnelles de l'utilisateur, l'historique des discussions, créer la salle pour son propre usage, etc.

Dans ce tutoriel, nous allons vous montrer comment installer et configurer Matrix Synapse sur Ubuntu 20.04. Nous allons configurer Matrix Synapse avec le Nginx en tant que proxy inverse et sécuriser l'installation en utilisant le SSL fourni par Letsencrypt.

Prérequis

Pour ce guide, nous installerons Matrix Synapse sur le dernier Ubuntu 20.04 avec 1 Go de RAM, 25 Go d'espace disque libre et 2 processeurs. De plus, vous devez avoir accès à votre serveur avec le privilège root dessus.

Qu'allons-nous faire ?

  • Installer Matrix Synapse
  • Configurer Matrix Synapse
  • Générer SSL Letsencrypt
  • Configurer Nginx en tant que proxy inverse
  • Configurer le pare-feu UFW
  • Enregistrer un nouvel utilisateur
  • Test

Étape 1 - Installer Matrix Synapse

Tout d'abord, nous allons installer Matrix Synapse sur le dernier serveur Ubuntu 20.04. Pour ce faire, nous devons ajouter la clé GPG et le référentiel officiel de Matrix Synapse.

Avant d'aller plus loin, installez certaines dépendances de packages à l'aide de la commande apt ci-dessous.

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

Après cela, ajoutez la clé GPG et le référentiel de Matrix Synapse pour le système basé sur 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

Maintenant, mettez à jour la liste de tous les référentiels de packages et installez les packages Matrix Synapse.

sudo apt update
sudo apt install matrix-synapse-py3

Maintenant, il vous sera demandé la configuration du nom de domaine.

Tapez votre nom de domaine pour l'installation de Matrix Synapse et sélectionnez 'OK ' pour continuer.

Pour la 'Statistique de données anonymes', choisissez 'Non '.

Et l'installation de Matrix Synapse est terminée.

Ensuite, démarrez le service 'matrix-synapse' et ajoutez-le au démarrage du système.

systemctl start matrix-synapse
systemctl enable matrix-synapse

Matrix Synapse est opérationnel, vérifiez-le à l'aide de la commande suivante.

systemctl status matrix-synapse
ss -plnt

Vous trouverez ci-dessous le résultat que vous obtiendrez.

En conséquence, Matrix Synapse fonctionne avec le port TCP par défaut '8008' sur Ubuntu 20.04.

Étape 2 - Configurer Matrix Synapse

Dans cette étape, nous allons configurer les "adresses de liaison" pour Matrix synapse, désactiver l'enregistrement sur notre serveur et configurer le secret partagé d'enregistrement.

Avant d'aller plus loin, générez le secret d'enregistrement de Matrix Synapse à l'aide de la commande suivante.

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

Vous allez maintenant obtenir la clé aléatoire, copier la clé et l'enregistrer sur votre note.

GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f

Ensuite, allez dans le répertoire '/etc/matrix-synapse' et modifiez la configuration 'homeserver.yaml' à l'aide de l'éditeur vim.

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

Déplacez-vous vers la section 'listeners' et modifiez la valeur 'bind-addresses' avec l'adresse IP locale comme ci-dessous.

listeners:

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

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

Désactivez maintenant Matrix Synapse si vous exécutez le nœud uniquement pour vous.

enable_registration: false

Modifiez le 'registration_shared_secret' avec la phrase de passe aléatoire générée en haut.

registration_shared_secret: "GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f"

Enregistrez et fermez.

Ensuite, redémarrez le service Matrix Synapse pour appliquer la nouvelle configuration.

systemctl restart matrix-synapse

Vérifiez le service à l'aide de la commande suivante.

ss -plnt
systemctl status matrix-synapse

Vous trouverez ci-dessous le résultat que vous obtiendrez.

En conséquence, le service Matrix Synapse est opérationnel avec une nouvelle configuration.

Étape 3 - Générer SSL Letsencrypt

Dans cette étape, nous allons générer le SSL Letsencrypt à l'aide de l'outil certbot. Matrix Synapse fonctionnera sous la connexion HTTPS sécurisée en utilisant les certificats SSL fournis par Letsencrypt.

Installez l'outil certbot à l'aide de la commande apt ci-dessous.

sudo apt install certbot -y

Après cela, générez un nouveau certificat SSL à l'aide de la commande certbot ci-dessous et assurez-vous de remplacer l'adresse e-mail et le nom de domaine par les vôtres.

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

Une fois que tout est terminé, vos certificats SSL seront disponibles dans le répertoire '/etc/letsencrypt/live/domain.com/'.

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

Le 'fullchain.pem' est la clé publique et le 'privkey.pem' est la clé privée.

Étape 4 - Configurer Nginx en tant que proxy inverse

Pour ce didacticiel, nous allons exécuter Matrix Synapse sous le proxy inverse Nginx. Et pour cette étape, nous allons installer les packages Nginx et le configurer en tant que proxy inverse.

Le serveur Web Nginx fonctionnera sur 3 ports, le port HTTP par défaut '80', le port HTTPS sécurisé '443' et le port TCP '8448' qui sera utilisé pour la fédération Matrix Synapse.

Installez les packages Nginx à l'aide de la commande apt ci-dessous.

sudo apt install nginx -y

Une fois l'installation terminée, accédez au répertoire '/etc/nginx/sites-available' et créez une nouvelle configuration d'hôte virtuel nommée 'matrice' à l'aide de l'éditeur vim.

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

Changez le nom de domaine et le chemin des certificats SSL avec les vôtres, puis collez-y la configuration.

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

Enregistrez et fermez.

Ensuite, activez l'hôte virtuel 'matrice' et testez la configuration Nginx. Assurez-vous également qu'il n'y a pas d'erreur.

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

Maintenant, redémarrez le service Nginx et ajoutez-le au démarrage du système.

systemctl restart nginx
systemctl enable nginx

Après cela, vérifiez le service Nginx à l'aide de la commande ci-dessous.

ss -plnt
systemctl status nginx

Vous trouverez ci-dessous le résultat que vous obtiendrez.

En conséquence, le service Nginx est opérationnel sur Ubuntu 20.04 avec trois ports différents, le port HTTP par défaut 80 qui sera automatiquement redirigé vers le port HTTPS sécurisé et le port '8448' qui sera utilisé pour Matrix Synapse Federation.

Étape 5 - Pare-feu UFW

Pour ce didacticiel, nous exécuterons Matrix Synapse sur Ubuntu 20.04 avec le pare-feu UFW activé.

Ajoutez ssh, http, https et le port TCP "8448" au pare-feu UFW à l'aide de la commande ci-dessous.

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

Après cela, exécutez et activez le pare-feu UFW.

ufw enable

Tapez 'y ' pour confirmer que le pare-feu UFW est opérationnel, vérifiez toutes les règles disponibles sur le pare-feu UFW à l'aide de la commande ci-dessous.

ufw status numbered

Vous trouverez ci-dessous le résultat que vous obtiendrez.

En conséquence, la configuration du pare-feu UFW est terminée.

Étape 6 - Enregistrer l'utilisateur

À ce stade, l'installation et la configuration du serveur domestique Matrix Synapse sont terminées. Et dans cette étape, nous vous montrerons comment ajouter un nouvel utilisateur de matrice à partir du serveur de ligne de commande.

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

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

Tapez maintenant le nom d'utilisateur et le mot de passe de votre utilisateur, pour faire de l'utilisateur un administrateur, tapez "oui".

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

En conséquence, le nouvel utilisateur Matrix a été créé.

Étape 7 - Tester

Pour cette étape, nous allons tester l'installation de notre serveur Matrix Synapse.

- Tester la fédération Matrix Synapse

Accédez à l'URL du testeur de fédération Matrix Synapse ci-dessous.

https://federationtester.matrix.org/

Tapez maintenant votre nom de domaine Matrix Synapse et cliquez sur 'Go ', et vous obtiendrez le résultat réussi comme ci-dessous.

Comme on peut le voir, la Fédération Matrix Synapse fonctionne via le port '8448'.

- Tester la connexion Matrix avec utilisateur et mot de passe

Accédez au client Web Matrix appelé "riot.im" comme URL ci-dessous.

https://riot.im/app/

Cliquez sur 'Connexion ' et vous pouvez utiliser votre serveur Matrix Synapse personnalisé.

Tapez votre nom de domaine et cliquez sur 'Suivant '.

Tapez maintenant votre nom d'utilisateur et votre mot de passe, puis cliquez sur 'Connexion ' bouton.

Des questions de sécurité supplémentaires vous seront demandées.

Une fois connecté, vous obtiendrez la page suivante.

En conséquence, l'installation de Matrix Synapse avec le proxy inverse Nginx et la fédération activés sur Ubuntu 20.04 s'est terminée avec succès.


Ubuntu
  1. Comment installer Docker sur Ubuntu 22.04 / 20.04 LTS

  2. Comment installer PlayOnLinux sur Ubuntu 20.04 LTS

  3. Comment installer MariaDB dans Ubuntu 20.04 LTS

  4. Comment installer Ansible sur Ubuntu 20.04 LTS / 21.04

  5. Comment installer Minikube sur Ubuntu 20.04 LTS / 21.04

Comment installer Rocket.Chat sur Ubuntu 16.04 LTS

Comment installer Go sur Ubuntu 18.04 LTS

Comment installer Go sur Ubuntu 20.04 LTS

Comment installer Rocket.Chat sur Ubuntu 20.04 LTS

Comment installer Zulip Chat Server sur Ubuntu 20.04 LTS

Comment installer Matrix Synapse sur Ubuntu 20.04