Renommer le FQDN et passer en HTTPS sur Medulla
S'applique à : Medulla
Version : Toutes
Environnement : On-Premise
Catégorie : Administration serveur
Contexte
Cette procédure permet de modifier le FQDN (nom DNS complet) d’une instance Medulla.
Exemple :
medulla.ancien-domaine.lan → medulla.nouveau-domaine.fr
Le script rename_fqdn_and_protocol.py permet également :
- De modifier automatiquement les fichiers de configuration Medulla
- De mettre à jour les URLs stockées en base de données
- De migrer de
httpvershttps - De configurer automatiquement Apache pour SSL
- De
re-générerrégénérer les agents Medulla avec le nouveau FQDN
Important :
Avant d’exécuter le script, le nouveau FQDN doit être résolvable par DNS et pointer vers votre serveur Medulla.
Ne supprimez pas l’ancien enregistrement DNS tant que tous les postes n’ont pas basculé sur le nouveau FQDN (voir Propagation vers les postes clients).
Pré-requis
- Le nouveau FQDN doit exister dans le DNS
- Le nouveau FQDN doit pointer vers l’adresse IP du serveur Medulla
- L’ancien FQDN doit rester résolvable pendant toute la période de transition
root
Le module Python mysql-connector (paquet mysql-connector-python) doit être installé
Pour HTTPS : disposer d’un certificat SSL au format PEM couvrant le nouveau FQDN (CN ou SAN), ainsi que de sa clé privée non chiffrée
Sauvegarde avant exécution
Recommandation :EffectuerLe unescript sauvegarden’effectue desaucun rollback automatique. Sauvegardez les fichiers de configuration ainsi qu’un backup deet la base xmppmaster avant exécution.
mysqldump xmppmaster > /root/xmppmaster_$(date +%F).sql
tar czf /root/conf_backup_$(date +%F).tgz /etc/mmc /etc/pulse-xmpp-agent* /etc/apache2
Téléchargement du script
Récupérer le script depuis l’URL suivante :
https://dl.medulla-tech.io/ma/rename_fqdn_and_protocol.py
Télécharger le script :
wget https://dl.medulla-tech.io/ma/rename_fqdn_and_protocol.py
RendreLe ensuite le scriptrendre exécutable :
chmod +x rename_fqdn_and_protocol.py
Afficher l’aide du script :
./rename_fqdn_and_protocol.py --help
Modifier le FQDN du serveur
Pour modifier un FQDN existant :
medulla.mondomaine.lan → medulla.mondomaine.fr
Commande :
./rename_fqdn_and_protocol.py \
--old-fqdn medulla.mondomaine.lan \
--new-fqdn medulla.mondomaine.fr
Cette commande met automatiquement à jour :
xmppmaster. Le détail figure dans la section Que modifie exactement le script install-agent.ps1Propagation vers les postes clients
L’URL Guacamole de chaque machine est mise à jour en base avec un marquage de reconfiguration (need_reconf). La nouvelle URL est ensuite transmise à chaque poste lors de son prochain check-in auprès du serveur Medulla.
Information :
Le changement de FQDN n’est donc pas instantané côté clients : la propagation peutdépend prendre un certain temps selonde la fréquence de connexion des agents. Il est normal que certains postes pointent encore temporairement vers l’ancienne URL Guacamole. Les postes éteints ou hors réseau ne basculeront qu’à leur prochaine connexion.
Attention :
Conservez l’ancien enregistrement DNS jusqu’à ce que tous les postes aient basculé. Le supprimer trop tôt coupe la communication avec les postes qui ne sont pas encore reconfigurés.
Modifier le protocole HTTP → HTTPS
Il est possible de migrer simultanément les URLs de http vers https.
Commande :
./rename_fqdn_and_protocol.py \
--old-fqdn medulla.mondomaine.lan \
--new-fqdn medulla.mondomaine.fr \
--new-protocol https
Le protocole seraest automatiquement remplacé dans les URLs gérées par Medulla. Si l’option --new-protocol n’est pas spécifiée, le protocole existant est conservé.
Attention :
Pour une configuration HTTPS complète, il est recommandé de fournirfournissez un certificat SSL valide.valide pour le nouveau FQDN. Les options --ssl-pem-chain-filename et --ssl-pem-key-filename s’utilisent ensemble, avec --new-protocol https.
Exemple complet avec certificat SSL
./rename_fqdn_and_protocol.py \
--old-fqdn medulla.ancien.fr \
--new-fqdn medulla.nouveau.fr \
--new-protocol https \
--ssl-pem-chain-filename /root/fullchain.pem \
--ssl-pem-key-filename /root/privkey.pem
Le script réaliseraréalise automatiquement :
- L’activation SSL d’Apache
- La configuration des VirtualHosts HTTPS
- La redirection HTTP → HTTPS
- L’installation des certificats
Information :
La clé privée n’étant pas chiffrée, restreignez ses droits avant exécution :
chmod 600 /root/privkey.pem
Re-générerRégénérer les agents avec le nouveau FQDN
Si les postes clients communiquent directement versavec Medulla via le FQDN public, il est recommandé de re-générerrégénérer les agents afin qu’ils utilisent automatiquement le nouveau nom DNS.
Commande :
./rename_fqdn_and_protocol.py \
--old-fqdn medulla.mondomaine.lan \
--new-fqdn medulla.mondomaine.fr \
--update-agent-conf
Information :
Cette option :
agentconf.ini .generation_options, Remarque :Le script d’installation Windows install-agent.ps1 est quant à lui mis à jour systématiquement, que l’option --update-agent-conf soit utilisée ou non.Medulla.
Attention :
Après re-génération des agents, il sera nécessaire de déployerrégénération, la nouvelle configuration doit être déployée sur les postes afinpour qu’ils puissent continuercontinuent à communiquer avec le serveur Medulla. Conservez l’ancien enregistrement DNS jusqu’à la fin de ce déploiement.
Options disponibles du script
| Argument | Obligatoire | Description |
|---|---|---|
--old-fqdn |
Oui | FQDN actuel à remplacer |
--new-fqdn |
Oui | Nouveau FQDN Medulla |
--new-protocol |
Non | http ou https. Si absent, le protocole existant est conservé |
--ssl-pem-chain-filename |
Non | Certificat SSL PEM (chaîne complète). --ssl-pem-key-filename et --new-protocol https |
--ssl-pem-key-filename |
Non | Clé privée PEM non --ssl-pem-chain-filename et --new-protocol https |
--update-agent-conf |
Non |
Que modifie exactement le script ?
| Élément | Action réalisée |
|---|---|
relayconf.ini.local |
Mise à jour de l’URL Guacamole |
xmppmaster.ini.local |
Mise à jour des URLs Guacamole / Graph / Render |
assessor_agent.ini.local |
Mise à jour de l’URL Guacamole |
Base xmppmaster |
Mise à jour des URLs Guacamole des tables machines et relayserver, avec marquage need_reconf |
| Apache | Mise à jour ProxyPass / Referer / SSL |
| Agents Medulla | Reconfiguration et --update-agent-conf) |
Script Windows install-agent.ps1 |
Mise à jour de l’URL de téléchargement (--update-agent-conf) |
Services automatiquement redémarrés
Pendant l’exécution du script, les services suivants sont automatiquement redémarrés :
pulse-xmpp-agent-relaymmc-agentpulse-xmpp-master-substitute-assessorapache2
Attention :
Une courte interruption de service peut être observée pendant l’exécution du script.
Vérifications après exécution
systemctl status pulse-xmpp-agent-relay mmc-agent pulse-xmpp-master-substitute-assessor apache2
Aucune référence à l’ancien FQDN ne subsiste dans la configuration :
grep -r "medulla.ancien-domaine.lan" /etc/mmc /etc/pulse-xmpp-agent* /etc/apache2
Suivre la bascule des postes : le nombre de machines encore marquées need_reconf doit diminuer au fil des check-ins.
Cas particulier : assessor distant
Si le serveur assessor est hébergé sur un serveur distant, le script ne pourra pas mettre à jour automatiquement le fichier suivant :
/etc/pulse-xmpp-agent-substitute/assessor_agent.ini.local
Dans ce cas, la modification devra être réalisée manuellement sur le serveur concerné.concerné, remplacez l’ancien FQDN (et le protocole le cas échéant) dans l’URL Guacamole de ce fichier, puis redémarrez le service :
systemctl restart pulse-xmpp-master-substitute-assessor
Cet échec n’interrompt pas l’exécution du script : les étapes suivantes sont réalisées normalement.
Gestion des erreurs
En cas d’échec, le script s’arrête immédiatement (à l’exception du cas de l’assessor distant ci-dessus).
Important :
Le script n’effectue aucun rollback automatique.
Les modifications déjà appliquées restent présentes. Une fois le problème corrigé, le script peut être relancé sans risque : les opérations sont idempotentes, un remplacement déjà effectué est sans effet (les services concernés seront toutefois redémarrés à nouveau). En cas de besoin, restaurez la sauvegarde réalisée avant exécution.
Valeurs par défaut
| Élément | Valeur |
|---|---|
| Hôte SQL | localhost |
| Port SQL | 3306 |
| Utilisateur SQL | mmc |
| Mot de passe SQL |
--update-agent-conf
Information :
Les paramètres de connexion SQL sont lus depuis /etc/mmc/plugins/xmppmaster.ini (et .local s’il existe). Les valeurs ci-dessus s’appliquent uniquement si elles n’y sont pas définies.