Bonjour!

Besoin d'aide? Nous sommes ici !

Icône de support
Assistance par e-mail miniOrange
succès

Merci pour votre demande. Notre équipe vous contactera bientôt.

Si vous n'avez pas de nouvelles de nous dans les 24 heures, n'hésitez pas à envoyer un e-mail de suivi à info@xecurify.com

Résultats de la recherche:

×

Comment mettre à niveau Apache Tomcat dans miniOrange On-Premise IAM


Ce guide explique comment mettre à niveau le moteur Apache Tomcat intégré au fournisseur d'identité sur site miniOrange. IAM installation d'une version 9.0.x à une autre (par exemple) 9.0.108 → 9.0.120), sans perdre les données, la configuration ou les personnalisations de l'application.


Pré-requis :

Avant de commencer la mise à niveau de Tomcat, assurez-vous de vérifier les points suivants :

Exigence Fenêtres Linux
L’accès Accès administrateur (invite de commandes élevée) Accès root ou sudo
package Tomcat Apache Tomcat 9.0.x Windows zip du archives officielles Apache Tomcat 9.0.x tar.gz du archives officielles
Fenêtre de maintenance Obligatoire — le service de fournisseur d'identité redémarrera et se désinscrira brièvement d'Eureka.
Espace disque Espace libre suffisant pour une sauvegarde complète du répertoire d'installation
Services aux personnes dépendantes Arrêtez miniOrange Redis et RabbitMQ avant la sauvegarde (IAM version 4.9.3 ou ultérieure)
Supplémentaire - Correctez les droits d'accès aux fichiers après la copie en tant que root.


Étape 1 : Découvrir la configuration du service

  • Identifiez le service et confirmez qu'il s'agit d'un démon procrun :
    sc qc miniorange
  • Localisez la clé de registre procrun. Sous Windows 64 bits, un démon 32 bits est enregistré sous WOW6432Node ; vérifiez les deux ruches.
    # 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 les deux échouent, recherchez le chemin d'accès réel à la clé :
    reg query "HKLM\SOFTWARE" /f "miniorange" /s /k
  • Enregistrez chaque valeur sous la sous-clé Java (Jvm, Options, Options9, Classpath, JvmMs, JvmMx). Enregistrez également la sous-clé Log. (Path, Prefix, StdOutput, StdError) — ceci contrôle la capture stdout/stderr propre au démon et est facile à perdre lors d'un réenregistrement :
    reg query "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange\Parameters\Log"

Étape 2 : Sauvegardez tout

  • Arrêtez le service miniOrange :
    net stop miniorange
  • Créer un dossier de sauvegarde :
    mkdir C:\Backups
  • Archivez le répertoire d'installation du fournisseur d'identité :
    powershell -Command "Compress-Archive -Path 'C:\Program Files\miniOrange Identity Provider' -DestinationPath 'C:\Backups\moas_backup.zip'"
  • Exporter la configuration du registre de services :
    reg export "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange" "C:\Backups\service_config.reg" /y

Mise en garde:
Arrêtez tous les services avant sauvegarde, y compris miniOrange Redis et RabbitMQ (requis pour IAM version 4.9.3 ou ultérieure).


Étape 3 : Assembler la nouvelle version

Commencez par extraire proprement le nouveau Tomcat et importez-y votre application. Cela garantit la présence de tous les nouveaux fichiers du moteur :

  • Renommez l'ancien fournisseur d'identité miniOrange (répertoire de travail actuel) sous un autre nom.
  • Extrayez le nouveau Tomcat vers le même emplacement de travail miniOrange et renommez-le en miniOrange Identity Provider.
  • Remplacez le fichier conf\server.xml de l'ancien répertoire par celui du nouveau répertoire Apache.
  • Déplacez les éléments de l'application et du fournisseur de l'installation actuelle vers le nouveau dossier : logs, moas, services, temp, uninstall, work, license.txt et le fichier miniorange.ico.
  • Créez une copie du nouveau fichier bin\tomcat9.exe vers bin\miniOrange.exe :
    copy "C:\Program Files\miniOrange Identity Provider\bin\tomcat9.exe" "C:\Program Files\miniOrange Identity Provider\bin\miniOrange.exe" /Y

À noter:
En conservant le chemin final identique : Le registre stocke le chemin d'installation sous forme de texte littéral (catalina.home / catalina.base). Si le nom et le chemin du répertoire final correspondent exactement à l'original, aucune modification du registre n'est nécessaire : le service lance simplement le nouveau moteur depuis le même emplacement.


Étape 4 : Réenregistrer le service

  • Désinstallez d'abord l'ancienne version d'enregistrement ; utilisez un binaire démon qui existe encore :
    "<Old_InstallDir>\bin\miniorange.exe" //DS//miniorange
  • Confirmez qu'il signale que le service n'existe pas :
    sc query miniorange
  • Réenregistrez-vous en utilisant les valeurs exactes enregistrées dans Étape 1 (Notez que les paramètres de journalisation sont intégrés afin que la clé de journalisation du démon ne soit pas perdue) :
    "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
  • Configurez le compte de connexion pour qu'il corresponde à l'original (généralement Service local) :
    sc config miniorange obj= "NT AUTHORITY\LocalService" password= ""

À noter:
Un avertissement tel que Impossible d'accorder à l'utilisateur du service les autorisations d'écriture sur le chemin du journal… Cela n'a aucune incidence sur l'installation ; cela concerne l'emplacement du journal de diagnostic de procrun, et non Tomcat ou l'application.


Étape 5 : Démarrez les dépendances, puis le service.

Accédez aux Services Windows et démarrez tous les services. Affichez la liste des services miniOrange et démarrez ceux qui devraient être en cours d'exécution :

Les services Windows affichent le démarrage des services miniOrange.

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

Étape 6: vérifier

  • Vérifiez la bannière de version de Tomcat dans le journal du conteneur ; celle-ci est générée par Tomcat lui-même et constitue l’endroit fiable pour confirmer la version. Ne vous attendez pas à le trouver dans le journal de l'application. (par exemple catalina-moas.out), qui est produit par le framework de journalisation de l'application et ne capture pas les lignes de démarrage de Tomcat :
    findstr /i "Server version name" "C:\Program Files\miniOrange Identity Provider\logs\catalina.<date>.log"

Sous Linux, miniOrange exécute généralement Tomcat via systemd . La configuration du service se trouve dans le fichier d'unité et, souvent, dans bin/setenv.sh.

À noter:

  • - Écrivez miniOrange IAM version au lieu de cette balise (par exemple 5.2.0).
  • - Indiquez la dernière version d'Apache Tomcat à la place de cette étiquette (par exemple 9.0.120).

Étape 1 : Découvrir la configuration du service

Veuillez vérifier le chemin d'installation, la cible du lien symbolique, le serveur Tomcat en cours d'exécution et la configuration du service :

  • Voir le derniers lien symbolique et sa cible :
    ls -la /opt/tomcat/
  • Résolvez le problème du dossier versionné réel :
    readlink -f /opt/tomcat/latest
  • Exécution de la JVM : CATALINA_HOME, classpath, options :
    ps -ef | grep -i catalina | grep -v grep
  • Unité Tomcat (ExecStart via catalina.sh) :
    systemctl cat mo-idp-miniorange.service
  • Environnement partagé : MO_IDP_FOLDER, chemins de configuration/journalisation :
    cat /etc/mo-idp-server.env

Vérifiez que l'unité Tomcat utilise ${MO_IDP_FOLDER} (pointant vers le lien symbolique) et que les autres services lancent leurs JAR à partir de ${MO_IDP_FOLDER}/services/*.jar - c'est pourquoi le fait de rediriger le lien symbolique met à niveau toute la pile en une seule fois.

Étape 2 : Sauvegardez l’installation actuelle

  • Créez une archive de sauvegarde de l'installation actuelle :
    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>
  • Confirmez que le fichier de sauvegarde a été créé :
    ls -lh /opt/mo-idp-backup-<ver>-*.tar.gz
  • Vérifiez la validité de l'archive :
    sudo tar -tzf /opt/mo-idp-backup-<ver>-*.tar.gz > /dev/null && echo 'Archive OK'

Remarque : Exclure les services et les journaux permet de réduire la taille de la sauvegarde (les journaux sont éphémères). Supprimez l’ option `--exclude` pour une archive complète.

Étape 3 : Téléchargez et extrayez le nouveau Tomcat

  • Accédez au répertoire Tomcat :
    cd /opt/tomcat
  • Téléchargez le nouveau package Tomcat :
    sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v<NewTomcatVer>/bin/apache-tomcat-<NewTomcatVer>.tar.gz
  • Extraire le paquet :
    sudo tar -xzf apache-tomcat-<NewTomcatVer>.tar.gz
  • Vérifiez que le nouveau dossier existe :
    ls -la /opt/tomcat/apache-tomcat-<NewTomcatVer>/

Étape 4 : Migrer les données dans le nouveau dossier (cp -a)

Utilisez cp -a (copier, et non déplacer) afin que l'ancien dossier reste intact pour une restauration instantanée.

  • Configuration (préserve votre serveur.xml Contexte):
    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
  • Répertoires de l'application, de la licence et de l'environnement d'exécution :
    # 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
  • maillage de microservices (tous les fichiers JAR, la configuration, les certificats — à l'exclusion des journaux de service volumineux) :
    # 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

Étape 5 : Corriger la propriété et vérifier

  • Corrigez les droits d'accès, puis vérifiez le nombre de fichiers JAR, config/certs, catalina.sh et l'espace disque :
    # 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
  • Vérifiez : le nombre de fichiers JAR correspond au nombre de services, les fichiers de configuration et les certificats sont présents, moas existe, catalina.sh est exécutable et le disque n’est pas presque plein.

Étape 6 : Arrêter la pile

  • Arrêtez tous les services miniOrange (détectés par modèle), puis les services d'infrastructure :
    # 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

Étape 7 : Modifier le lien symbolique

  • Pointez le derniers Créez un lien symbolique vers le nouveau dossier Tomcat, puis confirmez la cible :
    sudo ln -sfn /opt/tomcat/apache-tomcat-<NewTomcatVer> /opt/tomcat/latest
    
    readlink -f /opt/tomcat/latest        # must show the new versioned folder

Étape 8 : Démarrer la pile (infrastructure et dépendances en premier)

  • Commencez par mettre en place l'infrastructure, puis les services de registre et de configuration, et enfin le reste. Initialiser Eureka et la configuration en premier permet d'éviter les échecs d'enregistrement temporaires.
    # 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}')

Étape 9: vérifier

  • Vérifiez l'état du service, la version de Tomcat, les journaux du conteneur et le point de terminaison de connexion :
    # 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
  • Vérifiez que la bannière indique Apache Tomcat/9.0.120 (ou votre version cible).
  • Confirmer chaque mo-idp Le service, comprenant nginx, RabbitMQ et Redis, est pleinement opérationnel.
  • Vérifiez que les points de terminaison de connexion/SSO répondent et s'affichent correctement.

À noter:
Où vérifier la version :
La bannière de version apparaît via bin/version.sh et dans logs/catalina. Le fichier .log est généré par Tomcat lui-même. Il n'apparaît pas dans le journal de l'application (catalina-moas.out).

Étape 10 : Restauration (instantanée)

  • Parce que l'ancien dossier versionné n'a jamais été modifié (cp -a), la restauration consiste en une simple inversion de lien symbolique suivie d'un redémarrage :
    # 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}')

Étape 11 : Nettoyage (après quelques jours de stabilité)

  • Supprimez l'ancien dossier et l'archive tar téléchargée. Conservez l'archive de sauvegarde encore quelque temps :
    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

Références supplémentaires

Vous souhaitez planifier une démo ?

Démonstration de la plateforme
  




Nos autres produits de gestion des identités et des accès