Skip to main content

2_Installation

Installation

Pour installer la dernière version

sudo apt install -y lsb-release wget apt-transport-https
sudo wget -O /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
sudo apt update
sudo apt install matrix-synapse-py3

Les packages sont également publiés pour les Release Candidates. Pour activer l’avant-première canal, ajoutez à la ligne. Par exemple:prerelease``sources.list

sudo wget -O /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 prerelease" |
    sudo tee /etc/apt/sources.list.d/matrix-org.list
sudo apt update
sudo apt install matrix-synapse-py3

L’empreinte digitale de la clé de signature du référentiel (comme indiqué par ) est .gpg /usr/share/keyrings/matrix-org-archive-

En lançant la commande pour installer synapse une page va s'afficher pour nous demander de donner un nom à notre serveur, puis on fait Ok matrix1
Sur cette page faire no et puis notre installation va continuer matrix2
Pour commencer à installer PostgreSQL ainsi que ses dépendances faire les commandes suivantes

Install PostgreSQL

sudo apt install libpq5 postgresql -y

Une fois l'installation terminé, on va activer et démarrer le service PostgreSQL avec la commande suivante

Enable the PostgreSQL service and start it`

sudo systemctl enable postgresql --now

Pour se connecter à PostgreSQL en tant qu'utilisateur système PostgreSQL, on exécute,

Connect to PostgreSQL

sudo -u postgres psql postgres

une fois connecté à la console postgres, on va définir un utilisateur spécifique à la console matrix synapse

Create Synapse database user

create user user with password 'password';

Ensuite la base de donnée matrix synapse avec les bons paramètres d'encodage et en attribuant les droits à l'utilisateur crée précédemment

Create matrix_synapse database

create database name_database with encoding='UTF8' lc_collate='C' lc_ctype='C' template='template0' owner='user';

matrix3

[!info] Si vous voyez une erreur comme could not change directory to "/home/user" : Permission non accordée ce n'est pas bloquant, Cette erreur est liée au fait que l'utilisateur Postgres ne peut accéder au dossier /home/val mais ce n'est pas grave pour nous car notre Postgres est toujours fonctionnel

Modifiez le fichier homeserver.yaml

sudo nano /etc/matrix-synapse/homeserver.yaml

Et voir que notre utilisateur et la base de donnée a bien été pris en compte

# This is set in /etc/matrix-synapse/conf.d/server_name.yaml for Debian installations.
#server_name: "matrix.rohba.eu"
pid_file: "/var/run/matrix-synapse.pid"
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    bind_addresses: ['::1', '127.0.0.1', '192.168.2.162']
    resources:
      - names: [client, federation]
        compress: false
# database:
#  name: sqlite3
#  args:
#    database: /var/lib/matrix-synapse/homeserver.db
database:
  name: psycopg2
  args:
    user: "user"
    password: "password"
    database: "name database"
    host: localhost
    port: 5432
    cp_min: 5
    cp_max: 10
log_config: "/etc/matrix-synapse/log.yaml"
media_store_path: /var/lib/matrix-synapse/media
signing_key_path: "/etc/matrix-synapse/homeserver.signing.key"
trusted_key_servers:
  - server_name: "matrix.org"
enable_registration: false
registration_shared_secret: "Key generé"
enable_room_encryption_by_default: true
# Modification de la taille des pièces jointes que l'on peut transférer 
max_upload_size: "1G"

Générer une clé secrète d’enregistrement

Pour permettre l’enregistrement manuel d’utilisateurs via la ligne de commande, générez un secret d’enregistrement (token) avec OpenSSL :

RANDOMSTRING=$(openssl rand -base64 30)
echo "registration_shared_secret: $RANDOMSTRING" | sudo tee -a /etc/matrix-synapse/homeserver.yaml > /dev/null

[!important] Cela ajoute la ligne registration_shared_secret dans le fichier de configuration homeserver.yaml de Synapse.

Appliquez les modifications en redémarrant le service Synapse :

sudo systemctl restart matrix-synapse

Verification

Après avoir terminé toutes les étapes précédentes, ouvrir votre navigateur et accédez à l’adresse suivante :

http://localhost:8008

Si notre serveur Matrix Synapse est installé et fonctionne correctement. Vous devriez avoir cette page qui s'affiche en vous disant "It Works!" Synapse is runnig matrix4