Ho bisogno di aiuto? Siamo proprio qui!
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:
×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.
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 |
sc qc miniorange
# 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"
reg query "HKLM\SOFTWARE" /f "miniorange" /s /k
reg query "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange\Parameters\Log"
net stop miniorange
mkdir C:\Backups
powershell -Command "Compress-Archive -Path 'C:\Program Files\miniOrange Identity Provider' -DestinationPath 'C:\Backups\moas_backup.zip'"
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).
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:
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.
"<Old_InstallDir>\bin\miniorange.exe" //DS//miniorange
sc query miniorange
"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
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.
Accedi ai Servizi di Windows e avvia tutti i servizi. Elenca tutti i servizi di miniOrange e avvia quelli che dovrebbero essere in esecuzione:

powershell -Command "Get-Service | Where-Object {$_.DisplayName -like '*miniOrange*'} | Format-Table Name, Status, StartType -AutoSize"
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:
Conferma il percorso di installazione, la destinazione del collegamento simbolico, l'istanza di Tomcat in esecuzione e la configurazione del servizio:
ls -la /opt/tomcat/
readlink -f /opt/tomcat/latest
ps -ef | grep -i catalina | grep -v grep
systemctl cat mo-idp-miniorange.service
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.
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>
ls -lh /opt/mo-idp-backup-<ver>-*.tar.gz
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.
cd /opt/tomcat
sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v<NewTomcatVer>/bin/apache-tomcat-<NewTomcatVer>.tar.gz
sudo tar -xzf apache-tomcat-<NewTomcatVer>.tar.gz
ls -la /opt/tomcat/apache-tomcat-<NewTomcatVer>/
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.
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
# 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
# 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
# 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
# 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
sudo ln -sfn /opt/tomcat/apache-tomcat-<NewTomcatVer> /opt/tomcat/latest
readlink -f /opt/tomcat/latest # must show the new versioned folder
# 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}')
# 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
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).
# 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}')
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