Skip to main content

Cambiar el nombre del FQDN y pasar a HTTPS en Medulla

Aplicable a: Medulla
Versión: Todas
Entorno: On-Premise
Categoría: Administración de servidores

Contexto

Este procedimiento permite modificar el FQDN (nombre DNS completo) de una instancia de Medulla.

Ejemplo:

Medulla.antiguo-dominio.lan → Medulla.nuevo-dominio.fr

El script rename_fqdn_and_protocol.py también permite:

  • Modificar automáticamente los archivos de configuración de Medulla
  • Actualizar las URL almacenadas en la base de datos
  • Migrar de http a https
  • Configurar automáticamente Apache para SSL
  • Regenerar los agentes de Medulla con el nuevo FQDN

Importante:
Antes de ejecutar el script, el nuevo FQDN debe poder resolverse mediante DNS y apuntar a tu servidor Medulla.


Requisitos previos

  • El nuevo FQDN debe existir en el DNS
  • El nuevo FQDN debe apuntar a la dirección IP del servidor Medulla
  • El script debe ejecutarse como root
  • El módulo de Python «mysql-connector» debe estar instalado
  • Para HTTPS: disponer de un certificado SSL en formato PEM, así como de su clave privada sin cifrar

Recomendación:
Realiza una copia de seguridad de los archivos de configuración, así como de la base de datos xmppmaster, antes de ejecutar el script.


Descarga del script

Descarga el script desde la siguiente URL:

https://dl.medulla-tech.io/ma/rename_fqdn_and_protocol.py

Descargar el script:

wget https://dl.medulla-tech.io/ma/rename_fqdn_and_protocol.py

A continuación, haz que el script sea ejecutable:

chmod +x rename_fqdn_and_protocol.py

Mostrar la ayuda del script:

./rename_fqdn_and_protocol.py --help

Modificar el FQDN del servidor

Para modificar un FQDN existente:

Medulla.mondomaine.lan → Medulla.mondomaine.fr

Comando:

./rename_fqdn_and_protocol.py \
--old-fqdn medulla.mondomaine.lan \
--new-fqdn medulla.mondomaine.fr

Este comando actualiza automáticamente:

  • Los archivos de configuración de Medulla
  • Las URL de Guacamole
  • Los parámetros de Apache
  • La base de datos xmppmaster
  • El script de instalación para Windows «install-agent.ps1»
  • Las URL utilizadas por los servicios de Medulla

Propagación a los equipos cliente

La URL de Guacamole de cada máquina se actualiza en la base de datos con una marca de reconfiguración (need_reconf). A continuación, la nueva URL se transmite a cada equipo la próxima vez que se conecte al servidor Medulla.

Información:
Por lo tanto, el cambio de FQDN no es instantáneo en los clientes: la propagación puede tardar un tiempo dependiendo de la frecuencia de conexión de los agentes. Es normal que algunos equipos sigan apuntando temporalmente a la antigua URL de Guacamole.


Cambiar el protocolo de HTTP a HTTPS

Es posible migrar simultáneamente las URL de http a https.

Comando:

./rename_fqdn_and_protocol.py \
--old-fqdn medulla.mondomaine.lan \
--new-fqdn medulla.mondomaine.fr \
--new-protocol https

El protocolo se sustituirá automáticamente en las URL gestionadas por Medulla. Si no se especifica la opción --new-protocol, se mantendrá el protocolo existente.

Atención:
Para una configuración HTTPS completa, se recomienda proporcionar un certificado SSL válido.

Ejemplo completo con certificado 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

El script realizará automáticamente lo siguiente:

  • La activación de SSL en Apache
  • La configuración de los VirtualHosts HTTPS
  • La redirección de HTTP a HTTPS
  • La instalación de los certificados

La regeneración de los agentes con el nuevo FQDN

Si los equipos de los usuarios se conectan directamente a Medulla a través del FQDN público, se recomienda volver a generar los agentes para que utilicen automáticamente el nuevo nombre DNS.

Comando:

./rename_fqdn_and_protocol.py \
--old-fqdn medulla.mondomaine.lan \
--new-fqdn medulla.mondomaine.fr \
--update-agent-conf

Información:
Esta opción:

  • Actualiza el archivo agentconf.ini
  • Actualiza el archivo .generation_options
  • Vuelve a generar automáticamente los agentes de Medulla

Nota:
El script de instalación de Windows install-agent.ps1 se actualiza sistemáticamente, independientemente de si se utiliza o no la opción --update-agent-conf.

Atención:
Tras la regeneración de los agentes, será necesario realizar el despliegue de la nueva configuración en los equipos para que puedan seguir comunicándose con el servidor Medulla.


Opciones disponibles del script

Argumento Obligatorio Descripción
--old-fqdn FQDN actual que se va a sustituir
--new-fqdn Nuevo FQDN de Medulla
--new-protocol No http o https. Si no se especifica, se mantiene el protocolo existente
--ssl-pem-chain-filename No Certificado SSL PEM (cadena completa). Requiere --new-protocol https
--ssl-pem-key-filename No Clave privada PEM sin cifrar
--update-agent-conf No Vuelve a generar los agentes con el nuevo FQDN

¿Qué modifica exactamente el script?

Elemento Acción realizada
relayconf.ini.local Actualización de la URL de Guacamole
xmppmaster.ini.local Actualización de las URL de Guacamole / Graph / Render
assessor_agent.ini.local Actualización de la URL de Guacamole
Base xmppmaster Actualización de las URL de Guacamole de las tablas «machines» y «relayserver», con la marca «need_reconf»
Apache Actualización de ProxyPass / Referer / SSL
Agentes de Medulla Reconfiguración y regeneración (solo con --update-agent-conf)
Script de Windows install-agent.ps1 Actualización de la URL de descarga (sistemática)

Servicios reiniciados automáticamente

Durante la ejecución del script, se reinician automáticamente los siguientes servicios:

  • pulse-xmpp-agent-relay
  • mmc-agent
  • pulse-xmpp-master-substitute-assessor
  • apache2

Atención:
Puede producirse una breve interrupción del servicio durante la ejecución del script.


Caso particular: evaluador remoto

Si el servidor assessor está alojado en un servidor remoto, el script no podrá actualizar automáticamente el siguiente archivo:

/etc/pulse-xmpp-agent-substitute/assessor_agent.ini.local

En este caso, la modificación deberá realizarse manualmente en el servidor en cuestión. Este fallo no interrumpe la ejecución del script: los pasos siguientes se llevan a cabo con normalidad.


Gestión de errores

En caso de fallo, el script se detiene inmediatamente (excepto en el caso del asesor remoto mencionado anteriormente).

Importante:
El script no realiza ninguna reversión automática.

Los cambios ya aplicados se mantienen. Una vez corregido el problema, el script puede volver a ejecutarse sin riesgo: las operaciones son idempotentes, por lo que una sustitución ya realizada no tiene ningún efecto (aunque los servicios afectados se reiniciarán de nuevo).


Valores por defecto

Elemento Valor
Host SQL localhost
Puerto SQL 3306
Usuario de SQL mmc
Protocolo Se mantiene si no se especifica
HTTPS Opcional
Regeneración del agente Desactivada si no se utiliza --update-agent-conf

Información:
Los parámetros de conexión SQL se leen desde /etc/mmc/plugins/xmppmaster.ini (y .local, si existe). Los valores anteriores solo se aplican si no están definidos allí.