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 ré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
- Le script doit être exécuté en
root - Le module Python
mysql-connector(paquetmysql-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 :
Le script n’effectue aucun rollback automatique. Sauvegardez les fichiers de configuration et 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
Télécharger le script :
wget https://dl.medulla-tech.io/ma/rename_fqdn_and_protocol.py
Le rendre 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 les fichiers de configuration Medulla, les URLs Guacamole, les paramètres Apache et la base xmppmaster. Le détail figure dans la section Que modifie exactement le script ?
Propagation 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 dépend de 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 est 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, fournissez un certificat SSL 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é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
Régénérer les agents avec le nouveau FQDN
Si les postes clients communiquent directement avec Medulla via le FQDN public, il est recommandé de régénérer les agents afin qu’ils utilisent 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 met à jour les fichiers agentconf.ini et .generation_options, puis régénère automatiquement les agents Medulla.
Attention :
Après régénération, la nouvelle configuration doit être déployée sur les postes pour qu’ils continuent à 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). À utiliser avec --ssl-pem-key-filename et --new-protocol https |
--ssl-pem-key-filename |
Non | Clé privée PEM non chiffrée. À utiliser avec --ssl-pem-chain-filename et --new-protocol https |
--update-agent-conf |
Non | Régénère les agents avec le nouveau FQDN |
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 régénération (uniquement avec --update-agent-conf) |
Script Windows install-agent.ps1 |
Mise à jour de l’URL de téléchargement (systématique, avec ou sans --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
- L’interface Medulla est accessible via le nouveau FQDN (et en HTTPS si configuré)
- Les services redémarrés sont actifs :
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_reconfdoit 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, sur le serveur 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 | Aucune valeur par défaut : lu depuis la configuration |
| Protocole | Conservé si non spécifié |
| HTTPS | Optionnel |
| Régénération agent | Désactivée sans --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.