助けが必要? 私たちはここにいます!
お問い合わせいただきありがとうございます。弊社のチームがすぐにご連絡させていただきます。
24時間以内に連絡がない場合は、お気軽にフォローアップメールをお送りください。 info@xecurify.com
検索結果:
×このガイドでは、miniOrange On-Premise Identity Provider にバンドルされている Apache Tomcat エンジンをアップグレードする方法について説明します。 IAM ある 9.0.x リリースから別の 9.0.x リリースへのインストール (例) 9.0.108→9.0.120アプリケーションデータ、設定、カスタマイズを失うことなく、)
Tomcatのアップグレードを開始する前に、以下の点を確認してください。
| 要件 | Windows | Linux |
|---|---|---|
| アクセス | 管理者権限(管理者権限でのコマンドプロンプト実行) | root または sudo アクセス |
| Tomcatパッケージ | Apache Tomcat 9.0.x Windows zip 公式アーカイブ | Apache Tomcat 9.0.x tar.gz 公式アーカイブ |
| メンテナンスウィンドウ | 必須 — IDプロバイダーサービスが再起動し、一時的にEurekaから登録解除されます | |
| ディスクスペース | インストールディレクトリの完全バックアップに十分な空き容量が必要です。 | |
| 従属的なサービス | バックアップの前に miniOrange Redis と RabbitMQ を停止します (IAM バージョン4.9.3以降) | |
| NEW | - | 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
警告:
すべてのサービスを停止する miniOrange RedisとRabbitMQを含むバックアップ( IAM バージョン4.9.3以降)。
新しいTomcatをクリーンな状態で展開し、そこにアプリケーションを配置します。これにより、すべての新しいエンジンファイルが確実に存在するようになります。
copy "C:\Program Files\miniOrange Identity Provider\bin\tomcat9.exe" "C:\Program Files\miniOrange Identity Provider\bin\miniOrange.exe" /Y
注意:
最終的な経路を同一に保つ: レジストリにはインストールパスがテキストとして保存されます(catalina.home / catalina.base)。最終的なディレクトリ名とパスが元のものと完全に一致する場合、レジストリパスの編集は不要です。サービスは、同じ場所から新しいエンジンを起動するだけです。
"<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= ""
注意:
警告など サービスユーザーにログパスへの書き込み権限を付与できませんでした… インストール中に発生するこの処理は無害です。これは、Tomcatやアプリケーションではなく、procrun自身の診断ログの保存場所に関するものです。
Windowsサービスに移動し、すべてのサービスを開始します。miniOrangeサービスをすべて一覧表示し、実行中のサービスがあれば開始します。

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"
Linuxでは、miniOrangeは通常、systemd上でTomcatを実行します。サービスの設定はユニットファイル、多くの場合bin/setenv.shに記述されています。
注意:
インストールパス、シンボリックリンクのターゲット、実行中のTomcat、およびサービス構成を確認してください。
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
Tomcat ユニットが ${MO_IDP_FOLDER} (シンボリックリンクを指している) を使用していること、および他のサービスが ${MO_IDP_FOLDER}/services/*.jar から JAR を起動していることを確認してください。これが、シンボリックリンクを再設定するとスタック全体が一度にアップグレードされる理由です。
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'
注:サービス/ログを除外するとバックアップサイズが小さくなります(ログは破棄可能です)。完全なアーカイブを作成するには、--excludeオプションを削除してください。
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>/
cp -a (コピー、移動ではない)を使用すると、元のフォルダがそのまま残るため、すぐにロールバックできます。
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
注意:
バージョンを確認する場所: バージョンバナーは、bin/version.sh および logs/catalina に表示されます。 Tomcat自体によって書き込まれる.logファイルです。アプリケーション自身のログファイル(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