Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Unterstützungssymbol
miniOrange E-Mail-Support
Erfolg

Vielen Dank für Ihre Anfrage. Unser Team wird sich in Kürze mit Ihnen in Verbindung setzen.

Wenn Sie innerhalb von 24 Stunden nichts von uns hören, senden Sie bitte eine Folge-E-Mail an info@xecurify.com

Search Results:

×

So aktualisieren Sie Apache Tomcat in miniOrange On-Premise IAM


Dieser Leitfaden erklärt, wie Sie die mit dem miniOrange On-Premise Identity Provider mitgelieferte Apache Tomcat-Engine aktualisieren können. IAM Installation von einer 9.0.x-Version auf eine andere (zum Beispiel) 9.0.108 → 9.0.120), ohne Anwendungsdaten, Konfigurationen oder Anpassungen zu verlieren.


Voraussetzungen:

Stellen Sie vor Beginn des Tomcat-Upgrades Folgendes sicher:

Anforderung Windows Linux
Zugriff Administratorzugriff (erhöhte Eingabeaufforderung) Root- oder Sudo-Zugriff
Tomcat-Paket Apache Tomcat 9.0.x Windows-ZIP-Datei von der offizielles Archiv Apache Tomcat 9.0.x tar.gz von der offizielles Archiv
Wartungsfenster Erforderlich – der Identitätsanbieterdienst wird neu gestartet und meldet sich kurzzeitig von Eureka ab.
Speicherplatz Genügend freier Speicherplatz für eine vollständige Sicherung des Installationsverzeichnisses
Dienstleistungen für Angehörige MiniOrange Redis und RabbitMQ vor der Datensicherung stoppen (IAM Version 4.9.3 oder höher)
Zusätzliche - Korrekte Dateibesitzrechte nach dem Kopieren als Root


Schritt 1: Ermitteln Sie die Dienstkonfiguration

  • Identifizieren Sie den Dienst und bestätigen Sie, dass es sich um einen Procrun-Daemon handelt:
    sc qc miniorange
  • Suchen Sie den Registrierungsschlüssel „procrun“. Unter 64-Bit-Windows befindet sich ein 32-Bit-registrierter Daemon unter WOW6432Node – überprüfen Sie beide Registrierungsstrukturen:
    # 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"
  • Falls beides fehlschlägt, suchen Sie nach dem eigentlichen Schlüsselpfad:
    reg query "HKLM\SOFTWARE" /f "miniorange" /s /k
  • Erfassen Sie jeden Wert unter dem Java-Unterschlüssel (Jvm, Options, Options9, Classpath, JvmMs, JvmMx). Außerdem wird der Unterschlüssel „Log“ aufgezeichnet. (Pfad, Präfix, Standardausgabe, Standardfehler) – dies steuert die Erfassung von Standardausgabe und Standardfehlerausgabe des Daemons und kann bei einer erneuten Registrierung leicht verloren gehen:
    reg query "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange\Parameters\Log"

Schritt 2: Sichern Sie alles

  • Den miniOrange-Service einstellen:
    net stop miniorange
  • Erstellen Sie einen Sicherungsordner:
    mkdir C:\Backups
  • Archivieren Sie das Installationsverzeichnis des Identitätsanbieters:
    powershell -Command "Compress-Archive -Path 'C:\Program Files\miniOrange Identity Provider' -DestinationPath 'C:\Backups\moas_backup.zip'"
  • Exportieren Sie die Dienstregistrierungskonfiguration:
    reg export "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\miniorange" "C:\Backups\service_config.reg" /y

Warnung:
Alle Dienste einstellen bevor Datensicherung, einschließlich miniOrange Redis und RabbitMQ (erforderlich für IAM Version 4.9.3 oder höher).


Schritt 3: Die neue Version zusammenbauen

Beginnen Sie mit einer sauberen Extraktion des neuen Tomcat-Servers und integrieren Sie Ihre Anwendung darin. Dadurch wird sichergestellt, dass alle neuen Engine-Dateien vorhanden sind:

  • Benennen Sie den alten miniOrange Identity Provider (aktuelles Arbeitsverzeichnis) in einen anderen Namen um.
  • Extrahieren Sie den neuen Tomcat in dasselbe miniOrange-Arbeitsverzeichnis und benennen Sie ihn in miniOrange Identity Provider um.
  • Ersetzen Sie die Datei conf\server.xml aus dem alten Verzeichnis durch die Datei im neuen Apache-Verzeichnis.
  • Verschieben Sie die Anwendungs- und Anbieterdateien aus der aktuellen Installation in den neuen Ordner: logs, moas, services, temp, uninstall, work, license.txt und die Datei miniorange.ico.
  • Erstellen Sie eine Kopie der neuen Datei bin\tomcat9.exe nach bin\miniOrange.exe:
    copy "C:\Program Files\miniOrange Identity Provider\bin\tomcat9.exe" "C:\Program Files\miniOrange Identity Provider\bin\miniOrange.exe" /Y

Hinweis:
Der endgültige Pfad bleibt identisch: Die Registry speichert den Installationspfad als Text (catalina.home / catalina.base). Stimmen der endgültige Verzeichnisname und Pfad exakt mit dem Original überein, sind keine Änderungen an den Registry-Pfaden erforderlich – der Dienst startet die neue Engine einfach vom selben Speicherort.


Schritt 4: Dienst erneut registrieren

  • Deinstallieren Sie zuerst die alte Registrierung – verwenden Sie dazu eine noch vorhandene Daemon-Binärdatei:
    "<Old_InstallDir>\bin\miniorange.exe" //DS//miniorange
  • Bestätigen Sie, dass gemeldet wird, dass der Dienst nicht existiert:
    sc query miniorange
  • Registrieren Sie sich erneut mit den exakten Werten, die in Schritt 1: (Hinweis: Die Log-Parameter sind integriert, damit der Daemon-Log-Schlüssel nicht verloren geht):
    "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
  • Stellen Sie das Anmeldekonto so ein, dass es dem ursprünglichen Konto entspricht (üblicherweise „Lokaler Dienst“):
    sc config miniorange obj= "NT AUTHORITY\LocalService" password= ""

Hinweis:
Eine Warnung wie zum Beispiel Fehler beim Erteilen von Schreibberechtigungen für den Protokollpfad an den Dienstbenutzer … Während der Installation ist dies harmlos – es betrifft den eigenen Diagnoseprotokollspeicherort von Procrun, nicht Tomcat oder die Anwendung.


Schritt 5: Zuerst die Abhängigkeiten und dann den Dienst starten

Navigieren Sie zu den Windows-Diensten und starten Sie alle Dienste. Listen Sie alle miniOrange-Dienste auf und starten Sie alle, die ausgeführt werden sollten:

Windows-Dienste zeigen an, dass miniOrange-Dienste gestartet werden.

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

Schritt 6: Überprüfen

  • Überprüfen Sie das Tomcat-Versionsbanner im Container-Log – dieses wird von Tomcat selbst geschrieben und ist der zuverlässigste Ort, um die Version zu bestätigen. Erwarten Sie es nicht im Anwendungsprotokoll. (z. B. catalina-moas.out), die vom Logging-Framework der Anwendung erzeugt wird und die Startzeilen von Tomcat nicht erfasst:
    findstr /i "Server version name" "C:\Program Files\miniOrange Identity Provider\logs\catalina.<date>.log"

Unter Linux läuft miniOrange typischerweise mit Tomcat unter systemd . Die Dienstkonfiguration befindet sich in der Unit-Datei und oft auch in bin/setenv.sh.

Hinweis:

  • - Schreibe miniOrange IAM Version anstelle dieses Tags (z. B. 5.2.0).
  • - Schreiben Sie anstelle dieses Tags die neueste Version von Apache Tomcat (z. B. 9.0.120).

Schritt 1: Ermitteln Sie die Dienstkonfiguration

Bestätigen Sie den Installationspfad, das Ziel des symbolischen Links, den laufenden Tomcat-Server und die Dienstkonfiguration:

  • Weitere Informationen im neuesten Symlink und sein Ziel:
    ls -la /opt/tomcat/
  • Den Ordner mit der tatsächlichen Version auflösen:
    readlink -f /opt/tomcat/latest
  • JVM wird ausgeführt: CATALINA_HOME, Klassenpfad, Optionen:
    ps -ef | grep -i catalina | grep -v grep
  • Tomcat-Unit (ExecStart via catalina.sh):
    systemctl cat mo-idp-miniorange.service
  • Gemeinsame Umgebung: MO_IDP_FOLDER, Konfigurations-/Protokollpfade:
    cat /etc/mo-idp-server.env

Stellen Sie sicher, dass die Tomcat-Unit ${MO_IDP_FOLDER} (mit Verweis auf den Symlink) verwendet und dass andere Dienste ihre JAR-Dateien von ${MO_IDP_FOLDER}/services/*.jar starten – deshalb wird durch das Umverweisen des Symlinks der gesamte Stack gleichzeitig aktualisiert.

Schritt 2: Sichern Sie die aktuelle Installation

  • Erstellen Sie ein Sicherungsarchiv der aktuellen Installation:
    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>
  • Bestätigen Sie, dass die Sicherungsdatei erstellt wurde:
    ls -lh /opt/mo-idp-backup-<ver>-*.tar.gz
  • Überprüfen Sie, ob das Archiv gültig ist:
    sudo tar -tzf /opt/mo-idp-backup-<ver>-*.tar.gz > /dev/null && echo 'Archive OK'

Hinweis: Durch das Ausschließen von Diensten/Protokollen bleibt die Sicherung klein (Protokolle sind nicht löschbar). Lassen Sie die Option `--exclude` weg, um ein vollständiges Archiv zu erstellen.

Schritt 3: Laden Sie den neuen Tomcat herunter und extrahieren Sie ihn.

  • Wechseln Sie in das Tomcat-Verzeichnis:
    cd /opt/tomcat
  • Laden Sie das neue Tomcat-Paket herunter:
    sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v<NewTomcatVer>/bin/apache-tomcat-<NewTomcatVer>.tar.gz
  • Paket extrahieren:
    sudo tar -xzf apache-tomcat-<NewTomcatVer>.tar.gz
  • Prüfen Sie, ob der neue Ordner existiert:
    ls -la /opt/tomcat/apache-tomcat-<NewTomcatVer>/

Schritt 4: Daten in den neuen Ordner migrieren (cp -a)

Verwenden Sie cp -a (Kopieren, nicht Verschieben), damit der alte Ordner für ein sofortiges Rollback erhalten bleibt.

  • Konfiguration (bewahrt Ihre server.xml Kontext):
    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
  • Anwendungs-, Lizenz- und Laufzeitverzeichnisse:
    # 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
  • Microservice-Mesh (alle JAR-Dateien, Konfigurationen, Zertifikate – ausgenommen umfangreiche Service-Logs):
    # 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

Schritt 5: Eigentumsverhältnisse klären und überprüfen

  • Korrigieren Sie die Besitzverhältnisse und überprüfen Sie anschließend die Anzahl der JAR-Dateien, config/certs, catalina.sh und den verfügbaren Speicherplatz:
    # 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
  • Bestätigen Sie: Die Anzahl der JAR-Dateien stimmt mit der Anzahl Ihrer Dienste überein, Konfiguration/Zertifikate sind vorhanden, moas existiert, catalina.sh ist ausführbar und die Festplatte ist nicht annähernd voll.

Schritt 6: Stapel anhalten

  • Stoppen Sie zunächst alle miniOrange-Dienste (die anhand des Musters erkannt wurden), dann die Infrastrukturdienste:
    # 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

Schritt 7: Ändern Sie den symbolischen Link.

  • Zeigen Sie auf die neuesten Erstellen Sie einen symbolischen Link im neuen Tomcat-Ordner und bestätigen Sie anschließend das Ziel:
    sudo ln -sfn /opt/tomcat/apache-tomcat-<NewTomcatVer> /opt/tomcat/latest
    
    readlink -f /opt/tomcat/latest        # must show the new versioned folder

Schritt 8: Den Stack starten (zuerst Infrastruktur und Abhängigkeiten)

  • Zuerst die Infrastruktur bereitstellen, dann die Registry- und Konfigurationsdienste und anschließend alles andere. Durch das vorherige Initialisieren von Eureka und Config lassen sich vorübergehende Registrierungsfehler vermeiden.
    # 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}')

Schritt 9: Überprüfen

  • Überprüfen Sie den Dienststatus, die Tomcat-Version, die Containerprotokolle und den Anmelde-Endpunkt:
    # 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
  • Bestätigen Sie, dass auf dem Banner Folgendes steht: Apache Tomcat/9.0.120 (oder Ihre Zielversion).
  • Bestätigen Sie alle mo-idp Der Dienst plus nginx, RabbitMQ und Redis läuft aktiv.
  • Prüfen Sie, ob die Login-/SSO-Endpunkte korrekt antworten und angezeigt werden.

Hinweis:
Wo kann man die Version überprüfen?
Die Versionsanzeige erscheint über bin/version.sh und in logs/catalina. Die .log-Datei wird von Tomcat selbst geschrieben. Sie erscheint nicht im Anwendungsprotokoll (catalina-moas.out).

Schritt 10: Rollback (sofort)

  • Weil der alte Versionsordner nie geändert wurde (cp -a), ist ein Rollback das Umklappen eines einzelnen symbolischen Links plus ein Neustart:
    # 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}')

Schritt 11: Aufräumen (nach einigen Tagen der Stabilität)

  • Entfernen Sie den alten Ordner und das heruntergeladene Tarball-Archiv. Bewahren Sie das Sicherungsarchiv noch eine Weile auf:
    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

Weitere Referenzen

Möchten Sie eine Demo planen?

Demo anfordern
  




Unsere anderen Identity & Access Management-Produkte