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é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.
Pré-requis
- Le nouveau FQDN doit exister dans le DNS
- Le nouveau FQDN doit pointer vers l’adresse IP du serveur Medulla
- Le script doit être exécuté en
root - Le module Python
mysql-connectordoit être installé - Pour HTTPS : disposer d’un certificat SSL au format PEM ainsi que de sa clé privée non chiffrée
Recommandation :
Effectuer une sauvegarde des fichiers de configuration ainsi qu’un backup de la base xmppmaster avant exécution.
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
Rendre ensuite le script 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
- La base de données
xmppmaster - Le script d’installation Windows
install-agent.ps1 - Les URLs utilisées par les services Medulla
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 peut prendre un certain temps selon la fréquence de connexion des agents. Il est normal que certains postes pointent encore temporairement vers l’ancienne URL Guacamole.
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 sera 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 fournir un certificat SSL valide.
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éalisera automatiquement :
- L’activation SSL d’Apache
- La configuration des VirtualHosts HTTPS
- La redirection HTTP → HTTPS
- L’installation des certificats
Re-générer les agents avec le nouveau FQDN
Si les postes clients communiquent directement vers Medulla via le FQDN public, il est recommandé de re-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 :
- Met à jour le fichier
agentconf.ini - Met à jour le fichier
.generation_options - Re-génère automatiquement les agents Medulla
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.
Attention :
Après re-génération des agents, il sera nécessaire de déployer la nouvelle configuration sur les postes afin qu’ils puissent continuer à communiquer avec le serveur Medulla.
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). Nécessite --new-protocol https |
--ssl-pem-key-filename |
Non | Clé privée PEM non chiffrée |
--update-agent-conf |
Non | Re-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 re-génération (uniquement avec --update-agent-conf) |
Script Windows install-agent.ps1 |
Mise à jour de l’URL de téléchargement (systématique) |
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.
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é. 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).
Valeurs par défaut
| Élément | Valeur |
|---|---|
| Hôte SQL | localhost |
| Port SQL | 3306 |
| Utilisateur SQL | mmc |
| Protocole | Conservé si non spécifié |
| HTTPS | Optionnel |
| Re-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.