¡Hola!

¿Necesitas ayuda? ¡Estamos aquí!

Icono de soporte
Soporte por correo electrónico de miniOrange
comercial

Gracias por su encuesta. Nuestro equipo pronto se comunicará con usted.

Si no recibe noticias nuestras dentro de las 24 horas, no dude en enviar un correo electrónico de seguimiento a info@xecurify.com

Resultados de la búsqueda:

×

Cómo actualizar Apache Tomcat en miniOrange On-Premise IAM


Esta guía explica cómo actualizar el motor Apache Tomcat incluido con el proveedor de identidad local de miniOrange / IAM instalación de una versión 9.0.x a otra (por ejemplo 9.0.108 9.0.120 →), sin perder datos de la aplicación, configuración ni personalizaciones.


Requisitos previos

Asegúrese de lo siguiente antes de iniciar la actualización de Tomcat:

Requisito Windows Linux
Acceso Acceso de administrador (símbolo del sistema con privilegios elevados) Acceso root o sudo
Paquete Tomcat Apache Tomcat 9.0.x Windows zip del menú archivo oficial Apache Tomcat 9.0.x tar.gz del menú archivo oficial
Ventana de mantenimiento Requerido: el servicio de proveedor de identidad se reiniciará y se dará de baja brevemente de Eureka.
Espacio del disco Espacio libre suficiente para una copia de seguridad completa del directorio de instalación.
Servicios dependientes Detenga miniOrange Redis y RabbitMQ antes de realizar la copia de seguridad (IAM versión 4.9.3 o posterior)
Beneficios adicionales - Corregir la propiedad del archivo después de copiarlo como root


Paso 1: Descubra la configuración del servicio.

  • Identifique el servicio y confirme que se trata de un demonio Procrun:
    sc qc miniorange
  • Localice la clave de registro de procrun. En Windows de 64 bits, un demonio registrado de 32 bits reside bajo WOW6432Node; compruebe ambas ramas:
    # 1) reg query "HKLM\SOFTWARE\Apache Software Foundation\Procrun 2.0\miniorange\Parameters\Java"
    # 2) reg query "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange\Parameters\Java"
  • Si ambos fallan, busque la ruta de la clave real:
    reg query "HKLM\SOFTWARE" /f "miniorange" /s /k
  • Registre todos los valores bajo la subclave Java (Jvm, Options, Options9, Classpath, JvmMs, JvmMx). Registre también la subclave de registro. (Ruta, Prefijo, Salida estándar, Error estándar): esto controla la captura de la salida estándar/error estándar del propio demonio y es fácil perderlo durante un nuevo registro:
    reg query "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange\Parameters\Log"

Paso 2: Haz una copia de seguridad de todo

  • Detén el servicio miniOrange:
    net stop miniorange
  • Crea una carpeta de copia de seguridad:
    mkdir C:\Backups
  • Archive el directorio de instalación del proveedor de identidad:
    powershell -Command "Compress-Archive -Path 'C:\Program Files\miniOrange Identity Provider' -DestinationPath 'C:\Backups\moas_backup.zip'"
  • Exportar la configuración del registro de servicios:
    reg export "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange" "C:\Backups\service_config.reg" /y

Advertencia:
Detengan todos los servicios antes copia de seguridad, incluyendo miniOrange Redis y RabbitMQ (necesario para IAM versión 4.9.3 o posterior).


Paso 3: Ensamblar la nueva versión

Comience con una extracción limpia del nuevo Tomcat e instale su aplicación en él. Esto garantiza que todos los archivos del nuevo motor estén presentes:

  • Cambie el nombre del antiguo proveedor de identidad de miniOrange (directorio de trabajo actual) a cualquier otro nombre.
  • Extraiga el nuevo archivo Tomcat a la misma ubicación de trabajo de miniOrange y cámbiele el nombre a miniOrange Identity Provider.
  • Reemplace el archivo conf\server.xml del directorio antiguo al nuevo directorio de Apache.
  • Mueva los archivos de la aplicación y del proveedor de la instalación actual a la nueva carpeta: logs, moas, services, temp, uninstall, work, license.txt y el archivo miniorange.ico.
  • Crea una copia del nuevo archivo bin\tomcat9.exe en bin\miniOrange.exe:
    copy "C:\Program Files\miniOrange Identity Provider\bin\tomcat9.exe" "C:\Program Files\miniOrange Identity Provider\bin\miniOrange.exe" /Y

Nota:
Manteniendo la ruta final idéntica: El registro almacena la ruta de instalación como texto literal (catalina.home / catalina.base). Si el nombre y la ruta del directorio final coinciden exactamente con los originales, no es necesario modificar la ruta del registro; el servicio simplemente inicia el nuevo motor desde la misma ubicación.


Paso 4: Vuelva a registrar el servicio.

  • Primero desinstala el registro anterior; usa un binario demonio que aún exista:
    "<Old_InstallDir>\bin\miniorange.exe" //DS//miniorange
  • Confirma que informa que el servicio no existe:
    sc query miniorange
  • Vuelva a registrarse utilizando los valores exactos registrados en Paso 1 (tenga en cuenta que los parámetros de registro están integrados para que no se pierda la clave de registro del demonio):
    "C:\Program Files\miniOrange Identity Provider\bin\miniorange.exe" //IS//miniorange ^
    --DisplayName="miniOrange Identity Provider" ^
    --Description="Identity Provider Authentication Server" ^
    --Install="C:\Program Files\miniOrange Identity Provider\bin\miniorange.exe" ^
    --Jvm="<path-to-jvm.dll>" ^
    --Classpath="C:\Program Files\miniOrange Identity Provider\bin\bootstrap.jar;C:\Program Files\miniOrange Identity Provider\bin\tomcat-juli.jar" ^
    --StartMode=jvm --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start ^
    --StartPath="C:\Program Files\miniOrange Identity Provider" ^
    --StopMode=jvm --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop ^
    --StopPath="C:\Program Files\miniOrange Identity Provider" ^
    --JvmOptions="-Dcatalina.home=C:\Program Files\miniOrange Identity Provider;-Dcatalina.base=C:\Program Files\miniOrange Identity Provider;-Djava.io.tmpdir=C:\Program Files\miniOrange Identity Provider\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=C:\Program Files\miniOrange Identity Provider\conf\logging.properties;-Dspring.profiles.active=redis" ^
    ++JvmOptions9="--add-opens=java.base/java.lang=ALL-UNNAMED;--add-opens=java.base/java.io=ALL-UNNAMED;--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" ^
    --JvmMs=256 --JvmMx=1024 ^
    --LogPath="C:\Program Files\miniOrange Identity Provider\logs" --LogPrefix=commons-daemon ^
    --StdOutput=auto --StdError=auto ^
    --Startup=auto
  • Configure la cuenta de inicio de sesión para que coincida con la original (normalmente Servicio local):
    sc config miniorange obj= "NT AUTHORITY\LocalService" password= ""

Nota:
Una advertencia como No se pudieron otorgar permisos de escritura al usuario del servicio para la ruta de registro… Durante la instalación no supone ningún riesgo; se refiere a la ubicación del registro de diagnóstico de Procrun, no a Tomcat ni a la aplicación.


Paso 5: Iniciar las dependencias y luego el servicio.

Acceda a Servicios de Windows e inicie todos los servicios. Enumere todos los servicios de miniOrange e inicie los que deban estar en ejecución:

Los servicios de Windows muestran que los servicios de miniOrange se están iniciando.

powershell -Command "Get-Service | Where-Object {$_.DisplayName -like '*miniOrange*'} | Format-Table Name, Status, StartType -AutoSize"

Paso 6: verificar

  • Comprueba el banner de la versión de Tomcat en el registro del contenedor; este lo genera el propio Tomcat y es el lugar fiable para confirmar la versión. No espere encontrarlo en el registro de la propia aplicación. (por ejemplo, catalina-moas.out), que es producido por el marco de registro de la aplicación y no captura las líneas de inicio de Tomcat:
    findstr /i "Server version name" "C:\Program Files\miniOrange Identity Provider\logs\catalina.<date>.log"

En Linux, miniOrange normalmente ejecuta Tomcat bajo systemd . La configuración del servicio se encuentra en el archivo de unidad y, a menudo, en bin/setenv.sh.

Nota:

  • - Escribe miniOrange IAM versión en lugar de esta etiqueta (por ejemplo 5.2.0).
  • - Escriba la última versión de Apache Tomcat en lugar de esta etiqueta (por ejemplo 9.0.120).

Paso 1: Descubra la configuración del servicio.

Confirme la ruta de instalación, el destino del enlace simbólico, el servidor Tomcat en ejecución y la configuración del servicio:

  • Consulte las más reciente Enlace simbólico y su destino:
    ls -la /opt/tomcat/
  • Resolver la carpeta versionada real:
    readlink -f /opt/tomcat/latest
  • Ejecutando JVM: CATALINA_HOME, classpath, opts:
    ps -ef | grep -i catalina | grep -v grep
  • Unidad Tomcat (ExecStart a través de catalina.sh):
    systemctl cat mo-idp-miniorange.service
  • Entorno compartido: MO_IDP_FOLDER, rutas de configuración/registro:
    cat /etc/mo-idp-server.env

Confirme que la unidad Tomcat utiliza ${MO_IDP_FOLDER} (apuntando al enlace simbólico) y que otros servicios ejecutan sus JAR desde ${MO_IDP_FOLDER}/services/*.jar; por eso, al volver a apuntar el enlace simbólico se actualiza toda la pila a la vez.

Paso 2: Realice una copia de seguridad de la instalación actual.

  • Cree un archivo de copia de seguridad de la instalación actual:
    sudo tar -czf /opt/mo-idp-backup-<ver>-$(date +%Y%m%d).tar.gz \
    -C /opt/tomcat --exclude='mo-idp-server-<ver>/services/logs' mo-idp-server-<ver>
  • Confirme que se creó el archivo de copia de seguridad:
    ls -lh /opt/mo-idp-backup-<ver>-*.tar.gz
  • Verifique que el archivo sea válido:
    sudo tar -tzf /opt/mo-idp-backup-<ver>-*.tar.gz > /dev/null && echo 'Archive OK'

Nota: Excluir servicios/registros mantiene la copia de seguridad pequeña (los registros son desechables). Elimine la opción --exclude para realizar un archivo completo.

Paso 3: Descargue y extraiga el nuevo Tomcat.

  • Vaya al directorio de Tomcat:
    cd /opt/tomcat
  • Descarga el nuevo paquete de Tomcat:
    sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v<NewTomcatVer>/bin/apache-tomcat-<NewTomcatVer>.tar.gz
  • Extraer el paquete:
    sudo tar -xzf apache-tomcat-<NewTomcatVer>.tar.gz
  • Confirme que la nueva carpeta existe:
    ls -la /opt/tomcat/apache-tomcat-<NewTomcatVer>/

Paso 4: Migrar los datos a la nueva carpeta (cp -a)

Utilice cp -a (copiar, no mover) para que la carpeta antigua permanezca intacta y permita una reversión instantánea.

  • Configuration (conserva tu servidor.xml Contexto):
    sudo cp -a /opt/tomcat/latest/conf/. /opt/tomcat/apache-tomcat-<NewTomcatVer>/conf/
    sudo grep -i moas /opt/tomcat/apache-tomcat-<NewTomcatVer>/conf/server.xml   # confirm Context copied
  • Directorios de aplicación, licencia y tiempo de ejecución:
    # 1) sudo cp -a /opt/tomcat/latest/moas        /opt/tomcat/apache-tomcat-<NewTomcatVer>/moas
    
    # 2) sudo cp -a /opt/tomcat/latest/license.txt /opt/tomcat/apache-tomcat-<NewTomcatVer>/license.txt
    
    # 3) optional: carry historical logs / temp / work (or let them regenerate)
    sudo rm -rf /opt/tomcat/apache-tomcat-<NewTomcatVer>/logs /opt/tomcat/apache-tomcat-<NewTomcatVer>/temp /opt/tomcat/apache-tomcat-<NewTomcatVer>/work
    
    # 4) sudo cp -a /opt/tomcat/latest/logs /opt/tomcat/apache-tomcat-<NewTomcatVer>/logs
    
    # 5) sudo cp -a /opt/tomcat/latest/temp /opt/tomcat/apache-tomcat-<NewTomcatVer>/temp
    
    # 6) sudo cp -a /opt/tomcat/latest/work /opt/tomcat/apache-tomcat-<NewTomcatVer>/work
  • malla de microservicios (todos los archivos JAR, configuración y certificados, excluyendo los registros de servicio voluminosos):
    # 1) sudo mkdir -p /opt/tomcat/apache-tomcat-<NewTomcatVer>/services
    
    # 2) sudo rsync -a --exclude 'logs' \
    /opt/tomcat/latest/services/ /opt/tomcat/apache-tomcat-<NewTomcatVer>/services/
    
    # 3) sudo mkdir -p /opt/tomcat/apache-tomcat-<NewTomcatVer>/services/logs

Paso 5: Corrija la propiedad y verifique.

  • Corrija la propiedad y luego verifique la cantidad de JAR, config/certs, catalina.sh y el espacio en disco:
    # 1) sudo chown -R root:root /opt/tomcat/apache-tomcat-<NewTomcatVer>
    
    # 2) verify — JAR count auto-counts, so it matches whatever the mesh contains
    sudo find /opt/tomcat/apache-tomcat-<NewTomcatVer>/services/ -maxdepth 1 -name '*.jar' | wc -l
    
    # 3) sudo ls /opt/tomcat/apache-tomcat-<NewTomcatVer>/services/ | grep -E 'config|certs'
    
    # 4) sudo ls /opt/tomcat/apache-tomcat-<NewTomcatVer>/                # bin conf lib logs moas services temp webapps work
    
    # 5) sudo ls -la /opt/tomcat/apache-tomcat-<NewTomcatVer>/bin/catalina.sh   # must exist and be executable
    
    # 6) df -h /opt
  • Confirme: el número de archivos JAR coincide con el número de servicios, la configuración y los certificados están presentes, moas existe, catalina.sh es ejecutable y el disco no está casi lleno.

Paso 6: Detener la pila

  • Detenga todos los servicios de miniOrange (detectados por patrón) y luego los servicios de infraestructura:
    # 1)MO_SERVICES=$(systemctl list-units 'mo-idp-*.service' --all --no-legend | awk '{print $1}')
    
    # 2) sudo systemctl stop $MO_SERVICES
    
    # 3) sudo systemctl stop nginx.service rabbitmq-server.service redis-server.service
    
    # 4) systemctl list-units --type=service | grep -iE 'orange|redis|rabbit|nginx'   # confirm all stopped

Paso 7: Cambiar el enlace simbólico

  • Apunta el más reciente Cree un enlace simbólico en la nueva carpeta de Tomcat y, a continuación, confirme el destino:
    sudo ln -sfn /opt/tomcat/apache-tomcat-<NewTomcatVer> /opt/tomcat/latest
    
    readlink -f /opt/tomcat/latest        # must show the new versioned folder

Paso 8: Iniciar la pila (primero la infraestructura y las dependencias)

  • Primero, configure la infraestructura, luego el registro y los servicios de configuración, y después todo lo demás. Inicializar Eureka y Config primero evita fallos de registro transitorios.
    # 1) infrastructure
    sudo systemctl start redis-server.service rabbitmq-server.service nginx.service
    sudo ss -tlnp | grep -E ':6379|:5672|:80'     # confirm listening
    
    # 2) registry + config first
    sudo systemctl start mo-idp-eurekaserver.service mo-idp-configserver.service
    sleep 25
    
    # 3) all remaining mo-idp services, discovered by pattern
    sudo systemctl start $(systemctl list-unit-files 'mo-idp-*.service' --no-legend | awk '{print $1}')

Paso 9: verificar

  • Compruebe el estado del servicio, la versión de Tomcat, los registros del contenedor y el punto final de inicio de sesión:
    # 1) systemctl list-units --type=service | grep -iE 'orange|redis|rabbit|nginx'
    
    # 2) sudo /opt/tomcat/latest/bin/version.sh | grep 'Server version'
    
    # 3) sudo tail -30 /opt/tomcat/latest/logs/catalina.$(date +%Y-%m-%d).log
    
    # 4) curl -I -k https://<miniorange_URL> 2>&1 | head -5
  • Confirma que el banner dice Apache Tomcat / 9.0.120 (o su versión de destino).
  • Confirmar cada mo-idp El servicio, junto con nginx, RabbitMQ y Redis, está en funcionamiento.
  • Confirme que los puntos finales de inicio de sesión/SSO responden y se visualizan correctamente.

Nota:
Dónde comprobar la versión:
El banner de la versión aparece a través de bin/version.sh y en logs/catalina. Archivo .log escrito por el propio Tomcat. No aparece en el registro de la aplicación (catalina-moas.out).

Paso 10: Reversión (instantánea)

  • Porque la carpeta de versiones antiguas nunca se modificó (cp -a), la reversión es un cambio de un solo enlace simbólico más un reinicio:
    # 1) sudo systemctl stop $(systemctl list-units 'mo-idp-*.service' --all --no-legend | awk '{print $1}')
    
    # 2) sudo ln -sfn /opt/tomcat/mo-idp-server-<ver> /opt/tomcat/latest
    
    # 3) sudo systemctl start mo-idp-eurekaserver.service mo-idp-configserver.service && sleep 25 && \
    
    # 4) sudo systemctl start $(systemctl list-unit-files 'mo-idp-*.service' --no-legend | awk '{print $1}')

Paso 11: Limpieza (después de unos días de estabilidad)

  • Elimine la carpeta antigua y el archivo tar descargado. Conserve el archivo de copia de seguridad durante un tiempo más:
    sudo rm -rf /opt/tomcat/mo-idp-server-<ver>            # old folder
    
    sudo rm -f  /opt/tomcat/apache-tomcat-<NewTomcatVer>.tar.gz  # downloaded tarball
    # keep /opt/mo-idp-backup-<ver>-*.tar.gz a while longer

Referencias adicionales

¿Quiere programar una demostración?

Solicitar una demo
  




Nuestros otros productos de gestión de identidad y acceso