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é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
Le script doit être exécuté en 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 :

    Lesles fichiers de configuration MedullaMedulla, Lesles URLs GuacamoleGuacamole, Lesles paramètres Apache Laet la base de données xmppmaster. Le détail figure dans la section Que modifie exactement 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 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 :

      Metmet à jour leles fichierfichiers agentconf.ini Met à jour le fichieret .generation_options, Re-génèrepuis ré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.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). NécessiteÀ utiliser avec --ssl-pem-key-filename et --new-protocol https
      --ssl-pem-key-filename Non Clé privée PEM non chiffréechiffrée. À utiliser avec --ssl-pem-chain-filename et --new-protocol https
      --update-agent-conf Non Re-génèreRé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érationrégénération (uniquement avec --update-agent-conf)
      Script Windows install-agent.ps1 Mise à jour de l’URL de téléchargement (systématique)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-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.


      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_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
        Aucune valeur par défaut : lu depuis la configuration Protocole Conservé si non spécifié HTTPS Optionnel Re-générationRé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.