Serveur de chat · 16 min read · Nov 01, 2025
Comment installer et créer un serveur de chat utilisant Matrix Synapse et Element sur Ubuntu 22.04

Matrix est une norme ouverte pour la communication décentralisée et chiffrée de bout en bout. C’est un ensemble de serveurs et de services qui communiquent entre eux en utilisant une API standardisée qui se synchronise en temps réel. Il utilise des serveurs domestiques pour stocker les informations de compte et l’historique des discussions. Si un serveur domestique tombe en panne, d’autres serveurs peuvent continuer la communication sans problèmes en raison de la nature de la décentralisation. Vous pouvez utiliser un serveur domestique Matrix hébergé par quelqu’un d’autre ou héberger le vôtre pour maintenir le contrôle de vos données.
Dans ce tutoriel, vous apprendrez comment installer et créer un serveur de chat en utilisant Synapse, une implémentation de serveur domestique de Matrix. Element est un client web Matrix construit en utilisant le Matrix React SDK. Cela vous permettra d’offrir un chat Matrix sur le web. Vous pouvez également utiliser le serveur avec tout autre client Matrix de votre choix. Nous allons également installer le serveur Coturn pour activer les appels vocaux et vidéo. Le service Coturn est optionnel si vous n’êtes pas intéressé à l’utiliser.
Prérequis
- Un serveur exécutant Ubuntu 22.04.
- Un utilisateur non-sudo avec des privilèges root.
- Le pare-feu uncomplicated (UFW) est activé et en cours d’exécution.
- Noms de domaine pleinement qualifiés (FQDN) pour Matrix, Element et Coturn pointant vers votre serveur. Nous utiliserons respectivement
matrix.example.com,element.example.cometcoturn.example.compour les trois services. - Assurez-vous que tout est à jour.
$ sudo apt update && sudo apt upgrade
Étape 1 - Configurer le pare-feu
Avant d’installer des paquets, la première étape consiste à configurer le pare-feu pour ouvrir les ports pour HTTP, HTTPS et Synapse.
Vérifiez l’état du pare-feu.
$ sudo ufw status
Vous devriez voir quelque chose comme ce qui suit.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Ouvrez les ports HTTP, HTTPS et Synapse dans le pare-feu.
$ sudo ufw allow 8448
$ sudo ufw allow http
$ sudo ufw allow https
Vérifiez à nouveau l’état pour confirmer.
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
8448 ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
8448 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Étape 2 - Installer Matrix Synapse
Ajoutez la clé GPG de Matrix.
$ sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Ajoutez le dépôt APT de Matrix.
$ 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
Mettez à jour la liste des dépôts du système.
$ sudo apt update
Installez Matrix Synapse.
$ sudo apt install matrix-synapse-py3
Au cours de l’installation, on vous demandera le nom du serveur, qui fait partie de votre ID Matrix. Entrez votre nom de domaine Matrix à la place. Cela agira comme votre adresse de serveur domestique.
On vous demandera également si vous souhaitez ou non envoyer des statistiques anonymisées sur votre serveur domestique à Matrix. Tapez N pour refuser.
Vous pouvez modifier ces paramètres plus tard dans le fichier /etc/matrix-synapse/conf.d/server_name.yaml.
Le service Matrix Synapse est activé et démarré lors de l’installation. Vérifiez l’état du service.
$ sudo systemctl status matrix-synapse
? matrix-synapse.service - Synapse Matrix homeserver
Loaded: loaded (/lib/systemd/system/matrix-synapse.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-09-26 09:38:38 UTC; 1min 19s ago
Process: 12926 ExecStartPre=/opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/ --generate-key> Main PID: 12931 (python)
Tasks: 8 (limit: 2238)
Memory: 87.3M
CPU: 4.180s
CGroup: /system.slice/matrix-synapse.service
??12931 /opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/
Sep 26 09:38:36 matrix matrix-synapse[12926]: Generating signing key file /etc/matrix-synapse/homeserver.signing.key
Sep 26 09:38:37 matrix matrix-synapse[12931]: This server is configured to use 'matrix.org' as its trusted key server via the
Sep 26 09:38:37 matrix matrix-synapse[12931]: 'trusted_key_servers' config option. 'matrix.org' is a good choice for a key
Sep 26 09:38:37 matrix matrix-synapse[12931]: server since it is long-lived, stable and trusted. However, some admins may
Sep 26 09:38:37 matrix matrix-synapse[12931]: wish to use another server for this purpose.
Sep 26 09:38:37 matrix matrix-synapse[12931]: To suppress this warning and continue using 'matrix.org', admins should set
Sep 26 09:38:37 matrix matrix-synapse[12931]: 'suppress_key_server_warning' to 'true' in homeserver.yaml.
Sep 26 09:38:37 matrix matrix-synapse[12931]: --------------------------------------------------------------------------------
Sep 26 09:38:38 matrix matrix-synapse[12931]: Config is missing macaroon_secret_key
Sep 26 09:38:38 matrix systemd[1]: Started Synapse Matrix homeserver.
Étape 3 - Installer et configurer PostgreSQL
Nous allons utiliser le dépôt APT officiel de PostgreSQL pour installer. Exécutez la commande suivante pour ajouter la clé GPG de PostgreSQL.
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null
Ajoutez le dépôt APT à votre liste de sources.
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Mettez à jour le dépôt du système.
$ sudo apt update
Maintenant, vous pouvez installer PostgreSQL en utilisant la commande suivante.
$ sudo apt install postgresql postgresql-contrib
Vérifiez l’état du service PostgreSQL.
$ sudo systemctl status postgresql
? postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2022-09-26 09:41:36 UTC; 2min 14s ago
Process: 15586 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 15586 (code=exited, status=0/SUCCESS)
CPU: 1ms
Sep 26 09:41:36 matrix systemd[1]: Starting PostgreSQL RDBMS...
Sep 26 09:41:36 matrix systemd[1]: Finished PostgreSQL RDBMS.
Vous pouvez voir que le service est activé et en cours d’exécution par défaut.
Connectez-vous au compte système postgres.
$ sudo -su postgres
Créez un nouvel utilisateur de base de données et une base de données pour PostgreSQL.
$ createuser --pwprompt synapse
$ createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse synapse
Quittez le compte postgres.
$ exit
Étape 4 - Installer Nginx
Pour l’environnement de production, il est recommandé d’exécuter le serveur Synapse en utilisant un proxy Nginx.
Ubuntu 22.04 est livré avec une version plus ancienne de Nginx. Pour installer la dernière version, vous devez télécharger le dépôt officiel de Nginx.
Importez la clé de signature de Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Ajoutez le dépôt pour la version stable de Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Mettez à jour les dépôts du système.
$ sudo apt update
Installez Nginx.
$ sudo apt install nginx
Vérifiez l’installation.
$ nginx -v
nginx version: nginx/1.22.0
Démarrez le serveur Nginx.
$ sudo systemctl start nginx
Étape 5 - Installer SSL
Nous devons installer Certbot pour générer le certificat SSL. Vous pouvez soit installer Certbot en utilisant le dépôt d’Ubuntu, soit obtenir la dernière version en utilisant l’outil Snapd. Nous allons utiliser la version Snapd.
Ubuntu 22.04 est livré avec Snapd installé par défaut. Exécutez les commandes suivantes pour vous assurer que votre version de Snapd est à jour.
$ sudo snap install core
$ sudo snap refresh core
Installez Certbot.
$ sudo snap install --classic certbot
Utilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Exécutez la commande suivante pour générer un certificat SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d matrix.example.com
La commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/matrix.example.com sur votre serveur.
Générez un certificat de groupe Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Pour vérifier si le renouvellement SSL fonctionne correctement, effectuez un essai à blanc du processus.
$ sudo certbot renew --dry-run
Si vous ne voyez aucune erreur, vous êtes prêt. Votre certificat se renouvellera automatiquement.
Étape 6 - Configurer Matrix Synapse
Vous pouvez configurer le serveur Matrix via le fichier /etc/matrix-synapse/homeserver.yaml, mais ce n’est pas recommandé car il est écrasé après chaque mise à jour. Pour une utilisation en production, vous devez placer les fichiers de configuration dans le dossier /etc/matrix-synapse/conf.d.
L’installation de Synapse a créé deux fichiers de configuration dans le dossier /etc/matrix-synapse/conf.d.
$ ls /etc/matrix-synapse/conf.d
report_stats.yaml server_name.yaml
Créez un nouveau fichier de configuration pour la base de données et ouvrez-le pour l’édition.
$ sudo nano /etc/matrix-synapse/conf.d/database.yaml
Collez les lignes suivantes dans l’éditeur. Remplacez le champ your-password par le mot de passe de l’utilisateur PostgreSQL que vous avez créé à l’étape 3. Remplacez localhost par l’adresse IP de votre serveur, si vous hébergez la base de données ailleurs.
database:
name: psycopg2
args:
user: synapse
password: 'your-password'
database: synapsedb
host: localhost
cp_min: 5
cp_max: 10
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Créez une clé de partage d’enregistrement secrète. La clé doit être sécurisée car elle permettra à quiconque de s’inscrire en tant que nouvel utilisateur, même si l’inscription est désactivée.
$ echo "registration_shared_secret: '$(cat /dev/urandom | tr -cd '[:alnum:]' | fold -w 256 | head -n 1)'" | sudo tee /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
Par défaut, Synapse active les indicateurs de présence qui montrent si une personne est en ligne. Cela peut entraîner une utilisation élevée du CPU, vous pouvez donc le désactiver. Créez un nouveau fichier de configuration pour cela.
$ sudo nano /etc/matrix-synapse/conf.d/presence.yaml
Collez la ligne suivante dans l’éditeur.
presence:
enabled: false
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Redémarrez le service Synapse pour appliquer les modifications.
Créez un nouvel utilisateur matrix. On vous demandera votre nom d’utilisateur et votre mot de passe. Puisqu’il s’agit du premier utilisateur que nous créons, tapez yes lorsqu’on vous demande si vous souhaitez faire de l’utilisateur un administrateur.
$ register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml http://localhost:8008
New user localpart [navjot]: navjot
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success!
Si vous souhaitez ouvrir l’inscription publique, créez un nouveau fichier de configuration.
$ sudo nano /etc/matrix-synapse/conf.d/registration.yaml
Collez les lignes suivantes dedans.
enable_registration: true
Par défaut, Synapse n’autorise pas les inscriptions sans vérification par e-mail. Pour activer la vérification par e-mail, collez les lignes suivantes.
registrations_require_3pid:
- email
email:
smtp_host: mail.example.com
smtp_port: 587
# Si le serveur de messagerie n'a pas d'authentification, sautez ces 2 lignes
smtp_user: '[email protected]'
smtp_pass: 'password'
# Optionnel, nécessite le chiffrement avec STARTTLS
require_transport_security: true
app_name: 'HowtoForge Example Chat' # définit la valeur pour %(app)s dans notif_from et le sujet de l'e-mail
notif_from: "%(app)s <[email protected]>"
Pour désactiver la vérification par e-mail, collez la ligne suivante à la place.
enable_registration_without_verification: true
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Redémarrez Synapse pour appliquer la configuration.
$ sudo systemctl restart matrix-synapse
Étape 7 - Configurer Nginx
Ouvrez le fichier /etc/nginx/nginx.conf pour l’édition.
$ sudo nano /etc/nginx/nginx.conf
Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Créez et ouvrez le fichier /etc/nginx/conf.d/synapse.conf pour l’édition.
$ sudo nano /etc/nginx/conf.d/synapse.conf
Collez le code suivant dedans.
# enforce HTTPS
server {
# Client port
listen 80;
listen [::]:80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
server_name matrix.example.com;
# Client port
listen 443 ssl http2;
listen [::]:443 ssl http2;
# Federation port
listen 8448 ssl http2 default_server;
listen [::]:8448 ssl http2 default_server;
access_log /var/log/nginx/synapse.access.log;
error_log /var/log/nginx/synapse.error.log;
# TLS configuration
ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/matrix.example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
# Nginx par défaut n'autorise que les téléchargements de fichiers jusqu'à 1M en taille
# Augmentez client_max_body_size pour correspondre à max_upload_size défini dans homeserver.yaml
client_max_body_size 50M;
}
}
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité une fois terminé.
Vérifiez la syntaxe du fichier de configuration Nginx.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Redémarrez le service Nginx.
$ sudo systemctl restart nginx
Étape 8 - Installer Coturn
Vous aurez besoin d’installer un serveur Traversal Using Relays around NAT (TURN) pour activer les appels vocaux et vidéo. Pour cela, nous allons installer le paquet Coturn. Si vous n’avez pas besoin de cette fonctionnalité, vous pouvez sauter cette étape.
Ubuntu 22.04 ne livre pas le paquet Coturn en raison d’un problème de bogue qui a été résolu depuis. Cependant, il existe une autre façon d’installer Coturn en utilisant un dépôt non officiel. En option, vous pouvez également utiliser Docker pour installer Coturn, mais nous n’utiliserons pas cette méthode car elle est hors du champ de ce tutoriel.
Ajoutez le dépôt non officiel de Coturn.
$ sudo add-apt-repository ppa:ubuntuhandbook1/coturn
Installez Coturn.
$ sudo apt install coturn
Ouvrez les ports TURN et UDP.
$ sudo ufw allow 3478
$ sudo ufw allow 5349
$ sudo ufw allow 49152:65535/udp
Générez un certificat SSL pour Turn ( turn.example.com).
$ sudo certbot certonly --nginx -d turn.example.com
Générez un secret d’authentification et enregistrez-le dans le fichier de configuration.
$ echo "static-auth-secret=$(cat /dev/urandom | tr -cd '[:alnum:]' | fold -w 256 | head -n 1)" | sudo tee /etc/turnserver.conf
Ouvrez le fichier de configuration pour l’édition.
$ sudo nano /etc/turnserver.conf
Collez les lignes suivantes en dessous du secret d’authentification.
use-auth-secret
realm=turn.example.com
cert=/etc/letsencrypt/live/turn.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/turn.example.com/privkey.pem
# VoIP est UDP, pas besoin de TCP
no-tcp-relay
# Ne pas autoriser le trafic vers les plages d'IP privées
no-multicast-peers
denied-peer-ip=0.0.0.0-0.255.255.255
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=100.64.0.0-100.127.255.255
denied-peer-ip=127.0.0.0-127.255.255.255
denied-peer-ip=169.254.0.0-169.254.255.255
denied-peer-ip=172.16.0.0-172.31.255.255
denied-peer-ip=192.0.0.0-192.0.0.255
denied-peer-ip=192.0.2.0-192.0.2.255
denied-peer-ip=192.88.99.0-192.88.99.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=198.18.0.0-198.19.255.255
denied-peer-ip=198.51.100.0-198.51.100.255
denied-peer-ip=203.0.113.0-203.0.113.255
denied-peer-ip=240.0.0.0-255.255.255.255
denied-peer-ip=::1
denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff
defined-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255
denied-peer-ip=100::-100::ffff:ffff:ffff:ffff
denied-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
# Limiter le nombre de sessions par utilisateur
user-quota=12
# Limiter le nombre total de sessions
total-quota=1200
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Redémarrez Coturn pour appliquer la configuration.
$ sudo systemctl restart coturn
Créez un nouveau fichier de configuration Synapse pour Coturn.
$ sudo nano /etc/matrix-synapse/conf.d/turn.yaml
Collez les lignes suivantes dedans. Remplacez la valeur turn_shared_secret par la valeur de static-auth-secret du fichier eturnserver.conf.
turn_uris: [ "turn:turn.example.com?transport=udp", "turn:turn.example.com?transport=tcp" ]
turn_shared_secret: 'static-auth-secret'
turn_user_lifetime: 86400000
turn_allow_guests: True
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Redémarrez Synapse pour appliquer les modifications.
$ sudo systemctl restart matrix-synapse
Étape 9 - Accéder à Matrix
Vous pouvez accéder à Matrix Chat en utilisant le client web d’Element à https://app.element.io. Cliquez sur le bouton Se connecter pour continuer.

Cliquez sur le lien Modifier sous Serveur domestique. Entrez matrix.example.com comme votre serveur domestique.

Si le client détecte correctement votre serveur domestique, la bordure et le texte deviendront verts, sinon ils seront affichés en rouge. Cliquez sur Continuer pour procéder.

Cliquez sur le bouton Se connecter pour vous connecter. On vous demandera de créer une sauvegarde sécurisée et chiffrée.

Sélectionnez l’option Entrer une phrase de sécurité pour créer une phrase de sécurité qui sera requise chaque fois que vous vous connectez. Cliquez sur Continuer pour procéder.

Entrez une phrase de sécurité et cliquez sur le bouton Continuer pour procéder. On vous demandera de la confirmer à nouveau à l’écran suivant.

Entrez à nouveau la phrase et cliquez sur Continuer pour procéder.

Vous recevrez un ensemble de clés de sécurité que vous pouvez utiliser si vous oubliez votre phrase de sécurité. Cliquez sur le bouton Télécharger pour les enregistrer.
Cliquez sur le bouton Continuer pour procéder.

On vous demandera votre mot de passe de compte. Entrez le mot de passe et cliquez sur le bouton Continuer pour terminer la configuration de la sauvegarde chiffrée.

Nous avons créé une salle de chat de groupe nommée Howtoforge comme montré ci-dessus.
Étape 10 - Installer Element
Installez le paquet jq pour installer le processeur de texte JSON.
$ sudo apt install jq
Créez un répertoire pour Element.
$ sudo mkdir -p /var/www/element
Créez un nouveau fichier pour récupérer la dernière version d’Element.
$ sudo nano /var/www/element/update.sh
Ajoutez les lignes suivantes dedans.
#!/bin/sh
set -e
install_location="/var/www/element"
latest="$(curl -s https://api.github.com/repos/vector-im/element-web/releases/latest | jq -r .tag_name)"
cd "$install_location"
[ ! -d "archive" ] && mkdir -p "archive"
[ -d "archive/element-${latest}" ] && rm -r "archive/element-${latest}"
[ -f "archive/element-${latest}.tar.gz" ] && rm "archive/element-${latest}.tar.gz"
wget "https://github.com/vector-im/element-web/releases/download/${latest}/element-${latest}.tar.gz" -P "archive"
tar xf "archive/element-${latest}.tar.gz" -C "archive"
[ -L "${install_location}/current" ] && rm "${install_location}/current"
ln -sf "${install_location}/archive/element-${latest}" "${install_location}/current"
ln -sf "${install_location}/config.json" "${install_location}/current/config.json"
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Rendez le fichier exécutable.
$ sudo chmod +x /var/www/element/update.sh
Exécutez le script pour télécharger Element.
$ sudo /var/www/element/update.sh
Étape 11 - Configurer Element
Copiez le même fichier de configuration d’Element.
$ sudo cp /var/www/element/current/config.sample.json /var/www/element/config.json
Ouvrez le fichier de configuration pour l’édition.
$ sudo nano /var/www/element/config.json
Trouvez les lignes suivantes.
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org",
"server_name": "matrix.org"
},
Changez l’adresse du serveur domestique Matrix par défaut par votre serveur domestique et supprimez la variable server_name.
"m.homeserver": {
"base_url": "https://matrix.example.com",
"server_name": "matrix.element.com"
},
Si vous souhaitez utiliser votre propre nom au lieu d’Element dans le titre du site web, changez le nom de la marque.
"brand": "Howtoforge Example Chat",
Définissez la variable disable_guests sur true pour interdire aux invités d’utiliser Element.
"disable_guests": true,
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Générez un certificat SSL pour le client Element.
$ sudo certbot certonly --nginx -d element.example.com
Créez et ouvrez le fichier /etc/nginx/conf.d/element.conf pour l’édition.
$ sudo nano /etc/nginx/conf.d/element.conf
Collez les lignes suivantes dedans.
server {
listen 80;
listen [::]:80;
server_name element.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name element.example.com;
root /var/www/element/current;
index index.html;
access_log /var/log/nginx/element.access.log;
error_log /var/log/nginx/element.error.log;
add_header Referrer-Policy "strict-origin" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
# TLS configuration
ssl_certificate /etc/letsencrypt/live/element.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/element.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/element.example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
}
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Vérifiez la syntaxe du fichier de configuration Nginx.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Redémarrez le service Nginx.
$ sudo systemctl restart nginx
Vous pouvez accéder au client Element via l’URL https://element.example.com dans votre navigateur. Connectez-vous et vous serez dirigé vers le tableau de bord de l’application.

Conclusion
Cela conclut notre tutoriel sur l’installation du serveur de chat Matrix Synapse ainsi que de Coturn et du client web Element en utilisant Nginx comme serveur proxy. Si vous avez des questions, postez-les dans les commentaires ci-dessous.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.