Skip to main content

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 http vers https
  • 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-connector doit ê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-relay
  • mmc-agent
  • pulse-xmpp-master-substitute-assessor
  • apache2

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.