Ciao!

Ho bisogno di aiuto? Siamo proprio qui!

Icona di supporto
Supporto e-mail miniOrange
il successo

Grazie per la tua richiesta. Il nostro team ti contatterà presto.

Se non ricevi nostre notizie entro 24 ore, non esitare a inviare un'e-mail di follow-up a info@xecurify.com

Risultati di Ricerca:

×

Come aggiornare Apache Tomcat in miniOrange On-Premise IAM


Questa guida spiega come aggiornare il motore Apache Tomcat incluso nel provider di identità on-premise miniOrange / IAM installazione da una versione 9.0.x a un'altra (ad esempio 9.0.108 → 9.0.120), senza perdere dati dell'applicazione, configurazione o personalizzazioni.


Prerequisiti

Prima di avviare l'aggiornamento di Tomcat, assicurarsi di quanto segue:

Requisito Windows Linux
accesso a Accesso amministrativo (prompt dei comandi con privilegi elevati) Accesso root o sudo
Pacchetto Tomcat Apache Tomcat 9.0.x File zip di Windows dal archivio ufficiale Apache Tomcat 9.0.x tar.gz dal archivio ufficiale
Finestra di manutenzione Obbligatorio: il servizio Identity Provider verrà riavviato e si disconnetterà brevemente da Eureka.
Spazio sul disco Spazio libero sufficiente per un backup completo della directory di installazione.
Servizi per i familiari a carico Arrestare miniOrange Redis e RabbitMQ prima del backup (IAM versione 4.9.3 o successiva)
aggiuntivo - Corretta la proprietà dei file dopo la copia come root


Passaggio 1: Scopri la configurazione del servizio

  • Identifica il servizio e conferma che si tratti di un demone procrun:
    sc qc miniorange
  • Individua la chiave di registro procrun. Su Windows a 64 bit, un demone registrato a 32 bit risiede in WOW6432Node: controlla entrambi gli hive.
    # 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"
  • Se entrambi i tentativi falliscono, cerca il percorso chiave effettivo:
    reg query "HKLM\SOFTWARE" /f "miniorange" /s /k
  • Registra ogni valore sotto la sottochiave Java (Jvm, Options, Options9, Classpath, JvmMs, JvmMx). Registrare anche la sottochiave Log (Path, Prefix, StdOutput, StdError) — questo parametro controlla l'acquisizione di stdout/stderr da parte del demone ed è facile perderlo durante una nuova registrazione:
    reg query "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange\Parameters\Log"

Passaggio 2: eseguire il backup di tutto

  • Interrompere il servizio miniOrange:
    net stop miniorange
  • Crea una cartella di backup:
    mkdir C:\Backups
  • Archivia la directory di installazione del provider di identità:
    powershell -Command "Compress-Archive -Path 'C:\Program Files\miniOrange Identity Provider' -DestinationPath 'C:\Backups\moas_backup.zip'"
  • Esporta la configurazione del registro dei servizi:
    reg export "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange" "C:\Backups\service_config.reg" /y

Attenzione:
Interrompere tutti i servizi prima backup, inclusi miniOrange Redis e RabbitMQ (necessario per IAM versione 4.9.3 o successiva).


Passaggio 3: Assemblare la nuova versione

Parti da un'estrazione pulita del nuovo Tomcat e importa la tua applicazione al suo interno. Questo garantisce la presenza di tutti i nuovi file del motore:

  • Rinominare il vecchio miniOrange Identity Provider (nella directory di lavoro corrente) con un altro nome a piacere.
  • Estrai il nuovo Tomcat nella stessa directory di lavoro di miniOrange e rinominalo in miniOrange Identity Provider.
  • Sostituisci il file conf\server.xml dalla vecchia directory alla nuova directory di Apache.
  • Sposta i file dell'applicazione e del fornitore dall'installazione corrente nella nuova cartella: logs, moas, services, temp, uninstall, work, license.txt e il file miniorange.ico.
  • Crea una copia del nuovo file bin\tomcat9.exe nella cartella bin\miniOrange.exe:
    copy "C:\Program Files\miniOrange Identity Provider\bin\tomcat9.exe" "C:\Program Files\miniOrange Identity Provider\bin\miniOrange.exe" /Y

Nota:
Mantenendo identico il percorso finale: Il registro di sistema memorizza il percorso di installazione come testo letterale (catalina.home / catalina.base). Se il nome e il percorso della directory finale corrispondono esattamente a quelli originali, non è necessario modificare il percorso nel registro di sistema: il servizio avvia semplicemente il nuovo motore dalla stessa posizione.


Passaggio 4: Registra nuovamente il servizio

  • Per prima cosa disinstalla la vecchia registrazione: usa un file binario del demone ancora presente.
    "<Old_InstallDir>\bin\miniorange.exe" //DS//miniorange
  • Conferma che il servizio non esiste:
    sc query miniorange
  • Registrati nuovamente utilizzando i valori esatti registrati in Fase 1 (nota: i parametri di log sono inclusi in modo che la chiave di log del demone non vada persa):
    "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
  • Imposta l'account di accesso in modo che corrisponda a quello originale (in genere Servizio locale):
    sc config miniorange obj= "NT AUTHORITY\LocalService" password= ""

Nota:
Un avvertimento come Impossibile concedere all'utente del servizio le autorizzazioni di scrittura per il percorso del file di log… Durante l'installazione è innocuo: riguarda la posizione del log di diagnostica di procrun, non di Tomcat o dell'applicazione.


Passaggio 5: Avviare le dipendenze, quindi il servizio

Accedi ai Servizi di Windows e avvia tutti i servizi. Elenca tutti i servizi di miniOrange e avvia quelli che dovrebbero essere in esecuzione:

Servizi Windows che mostrano l'avvio dei servizi miniOrange

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

Passaggio 6: verifica

  • Controlla il banner della versione di Tomcat nel log del container: questo messaggio viene generato da Tomcat stesso ed è il modo più affidabile per confermare la versione. Non aspettarti di trovarlo nel registro dell'applicazione stessa. (ad esempio catalina-moas.out), che viene prodotto dal framework di logging dell'applicazione e non cattura le righe di avvio di Tomcat:
    findstr /i "Server version name" "C:\Program Files\miniOrange Identity Provider\logs\catalina.<date>.log"

Su Linux, miniOrange in genere esegue Tomcat tramite systemd . La configurazione del servizio si trova nel file di unità e, spesso, in bin/setenv.sh.

Nota:

  • - Scrivi miniOrange IAM versione invece di questo tag (ad esempio 5.2.0).
  • - Scrivere Apache Tomcat latest version invece di questo tag (ad esempio 9.0.120).

Passaggio 1: Scopri la configurazione del servizio

Conferma il percorso di installazione, la destinazione del collegamento simbolico, l'istanza di Tomcat in esecuzione e la configurazione del servizio:

  • Vedere la con i più recenti Collegamento simbolico e suo target:
    ls -la /opt/tomcat/
  • Risolvi il problema con la cartella versionata reale:
    readlink -f /opt/tomcat/latest
  • Esecuzione della JVM: CATALINA_HOME, classpath, opts:
    ps -ef | grep -i catalina | grep -v grep
  • Unità Tomcat (avvio tramite ExecStart via catalina.sh):
    systemctl cat mo-idp-miniorange.service
  • Ambiente condiviso: MO_IDP_FOLDER, percorsi di configurazione/log:
    cat /etc/mo-idp-server.env

Verifica che l'unità Tomcat utilizzi ${MO_IDP_FOLDER} (che punta al collegamento simbolico) e che gli altri servizi avviino i loro JAR da ${MO_IDP_FOLDER}/services/*.jar: questo è il motivo per cui la modifica del collegamento simbolico aggiorna l'intero stack in una sola volta.

Passaggio 2: Eseguire il backup dell'installazione corrente

  • Crea un archivio di backup dell'installazione corrente:
    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>
  • Conferma che il file di backup è stato creato:
    ls -lh /opt/mo-idp-backup-<ver>-*.tar.gz
  • Verifica la validità dell'archivio:
    sudo tar -tzf /opt/mo-idp-backup-<ver>-*.tar.gz > /dev/null && echo 'Archive OK'

Nota: escludere servizi/log mantiene il backup di dimensioni ridotte (i log sono eliminabili). Rimuovi l'opzione --exclude per un archivio completo.

Passaggio 3: Scarica ed estrai il nuovo Tomcat

  • Vai alla directory di Tomcat:
    cd /opt/tomcat
  • Scarica il nuovo pacchetto Tomcat:
    sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v<NewTomcatVer>/bin/apache-tomcat-<NewTomcatVer>.tar.gz
  • Estrai il pacchetto:
    sudo tar -xzf apache-tomcat-<NewTomcatVer>.tar.gz
  • Conferma che la nuova cartella esiste:
    ls -la /opt/tomcat/apache-tomcat-<NewTomcatVer>/

Passaggio 4: Migrare i dati nella nuova cartella (cp -a)

Utilizza il comando cp -a (copia, non sposta) in modo che la vecchia cartella rimanga intatta e tu possa ripristinare la versione precedente in tempo reale.

  • Configurazione (conserva il tuo server.xml Contesto):
    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
  • Applicazione, licenza, directory di runtime:
    # 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
  • Rete di microservizi (tutti i file JAR, la configurazione e i certificati, esclusi i log di servizio di grandi dimensioni):
    # 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

Passaggio 5: Correggi la proprietà e verifica

  • Correggi i permessi di accesso, quindi verifica il numero di file JAR, la configurazione/i certificati, lo script catalina.sh e lo spazio su disco disponibile:
    # 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
  • Conferma: il numero di file JAR corrisponde al numero di servizi, i file di configurazione e i certificati sono presenti, moas esiste, catalina.sh è eseguibile e il disco non è quasi pieno.

Passaggio 6: Interrompere lo stack

  • Interrompere tutti i servizi miniOrange (individuati tramite pattern), quindi i servizi di infrastruttura:
    # 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

Passaggio 7: Modificare il collegamento simbolico

  • Punta il con i più recenti Crea un collegamento simbolico nella nuova cartella di Tomcat, quindi conferma la destinazione:
    sudo ln -sfn /opt/tomcat/apache-tomcat-<NewTomcatVer> /opt/tomcat/latest
    
    readlink -f /opt/tomcat/latest        # must show the new versioned folder

Passaggio 8: Avviare lo stack (prima l'infrastruttura e le dipendenze)

  • Avvia prima l'infrastruttura, poi il registro e i servizi di configurazione, infine tutto il resto. Avviare prima Eureka e Config evita errori di registrazione temporanei:
    # 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}')

Passaggio 9: verifica

  • Verifica lo stato del servizio, la versione di Tomcat, i log del container e l'endpoint di accesso:
    # 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
  • Conferma che il banner recita Apache Tomcat/9.0.120 (o la versione di destinazione).
  • Conferma ogni mo-idp Il servizio, che include nginx, RabbitMQ e Redis, è attivamente in esecuzione.
  • Verificare che gli endpoint di login/SSO rispondano e vengano visualizzati correttamente.

Nota:
Dove verificare la versione:
Il banner della versione viene visualizzato tramite bin/version.sh e nel file di log logs/catalina. Il file .log viene scritto direttamente da Tomcat. Non compare nel log dell'applicazione (catalina-moas.out).

Passaggio 10: Annullamento (istantaneo)

  • Poiché la cartella della vecchia versione non è mai stata modificata (cp -a), il rollback consiste in un singolo cambio di collegamento simbolico più un riavvio:
    # 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}')

Fase 11: Pulizia (dopo alcuni giorni di stabilità)

  • Elimina la vecchia cartella e il file tarball scaricato. Conserva l'archivio di backup ancora per un po':
    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

Ulteriori riferimenti

Vuoi programmare una demo?

Richiedi un demo
  




I nostri altri prodotti di gestione dell'identità e dell'accesso