AVERTISSEMENT
Cette page comporte un formulaire permettant de créer de manière interactive vos configurations. (*) Les données saisies restent sur votre navigateur et ne sont envoyées nulle part. Vous pouvez le vérifier en ouvrant la console de votre navigateur (onglet réseau). Code source attaché aux élements de formulaire de type input :
//onload add listeners on input
document.addEventListener("DOMContentLoaded", function () {
$(".replicator").each(function () {
let id = $(this).attr("id");
$("#" + id).on("keyup", function () {
$(".s" + id).html($(this).val());
});
});
});
//reset form and call trigger to reset all spans
function resetForm(id) {
$("#" + id)
.find("input")
.each(function () {
$(this).val("").trigger("keyup");
});
}
Ce programme est simplement chargé de réaliser une opération de réplication des données saisies dans les éléments de type span" intégrés au code représentant les éléments de configuration nécessaires à la bonne exécution de cette prodédure.
Configurations
Dans cet exemple, je déplace les données de Matrix, situées sur le serveur Postgresql A (192.168.25.2) vers l’autre serveur Postgresql B (192.168.25.100).
Préparation de la migration
Arrêt du service Matrix
Se connecter “root” à la console du serveur Matrix, puis exécutez :
systemctl stop synapse-matrix
Afficher les données de configuration du service Matrix (/opt/synapse/homeserver.yaml) et rechercher les éléments liés à la propriété “database”, puis complétez le formulaire des paramètres. Exemple :
database: name: psycopg2 args: user: password: database: host: port: cp_min: 5 cp_max: 10
Formulaire des paramètres
Paramètres | Complétez le formulaire (sécurité - voir ci-avant) |
---|---|
nom de la base | |
compte d’accès la base | |
mot de passe d’accès à la base | |
addresse IP du serveur Postgresql actuel A | |
port IP du service Postgresql actuel A | |
addresse IP du nouveau serveur Postgresql B | |
port IP du service Postgresql actuel A | |
addresse IP du serveur Matrix |
Sauvegarde de la base de données
Sur le serveur Matrix, et connecté “root” exécuter ces commandes :
# Installation client Postgresql si non installé apt-get update apt-get -y install postgresql-client cd #Sauvegarde de la base de données dans /root/backupmatrixdb.sql export PGPASSWORD="" pg_dump -d "" -h "" -p "" -U "" > "root/backupmatrixdb.sql" unset PGPASSWORD
Préparer le nouveau serveur postgresql B
NB Le serveur Postgresql B doit, pour poursuivre cette opération autoriser les connexions ssh pour le compte “root” (ssd_config).
Se connecter “root” sur le serveur Postgresql B () et installer le service postgresql :
apt-get upate
apt-get -y install postgresql
Copier la sauvegarde des données Matrix
Connecté “root” sur le serveur Postgresql A (), copier le fichier de sauvegarde sur le nouveau serveur Postgresql B () :
scp /root/backupmatrixdb.sql root@:/var/lib/postgresql/. # Indiquer le mot de passe root du serveur Postgresql B
Restauration de la sauvegarde
Connecté “root” sur le serveur Postgresql B (), exécuter ces commandes :
su - postgres su - postgres # Création de l'utilisateur et de la base createuser psql ALTER USER synapse WITH ENCRYPTED password ''; CREATE DATABASE ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER ; \q export PGPASSWORD="" psql -U "" "" < "/var/lib/postgresql/backupmatrixdb.sql" unset PGPASSWORD exit
Fichiers de configuration finaux
Sur le server postgresql B ()
- Fichier /etc/postgresql/[Postgresql version]/main/postgresql.conf
Chercher la ligne listen_addresses = 'localhost'
et commenter comme suit :
#listen_addresses = 'localhost'
Ajoutez la ligne
listen_addresses = ''
- Fichier /etc/postgresql/[cluster version]/pg_hba.conf
Ajouter à la fin du fichier :
host /32 md5
Redémarrer le service :
systemctl restart postgresql
Sur le Serveur Matrix ()
- Fichier /opt/synapse/homeserver.yaml, modifiez ce fichier comme suit :
database: name: psycopg2 args: user: password: database: host: port: cp_min: 5 cp_max: 10
Redémarrage de Matrix
Sur le serveur Matrix () et connecté “root”, exécutez la commande :
systemctl start synapse-matrix
Un peu de nettoyage
Supprimer les fichiers de sauvegarde sur les serveurs :
- Postgresql A () : /root/backupmatrixdb.sql
- Postgresql B () : /var/lib/postgresql/backupmatrixdb.sql
Enjoy +++
Licence de ce document : Creative Commons (CC BY-NC-ND 4.0)
CETTE DOCUMENTATION EST LIVRÉE “EN L’ÉTAT”, SANS GARANTIE D’AUCUNE SORTE ET DISTRIBUÉE DANS UN BUT ÉDUCATIF EXCLUSIVEMENT. L’AUTEUR, CONTRIBUTEURS DE CETTE DOCUMENTATION OU ©MYTINYDC.COM NE SAURAIENT EN AUCUN CAS ÊTRE TENUS RESPONSABLES DES DOMMAGES DIRECTS OU INDIRECTS POUVANT RÉSULTER DE L’APPLICATION DES PROCÉDURES MISES EN ŒUVRE DANS CETTE DOCUMENTATION, OU DE LA MAUVAISE INTERPRÉTATION DE CE DOCUMENT.