##目的
いい加減Ubuntuを18.04LTSから20.04LTSに上げたいが、どうしよう。
###問題点
Dcm4chee-arc-lightがMySQL8.0で動くのかわからない。
Dcm4chee-arc-lightもバージョンが上がっているので追いついておきたい。
###解決方法
テスト環境を作って、試してみよう。
###使用ソフト
本番環境と揃えるためdcm4chee-arc-light-5.19をUbuntu 18.04にDcm4chee-arc-lightをインストールする に準じてインストールした後、アップグレード作業を行った。Ubuntu18.04LTS。
- [dcm4chee-arc-5.19.0-mysql.zip](https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/)
- [dcm4chee-arc-5.22.5-mysql.zip](https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/)
- [wildfly-18.0.0.Final.zip](https://wildfly.org/downloads/)
- [weasis_3.5.4-rc-1_amd64.deb](https://github.com/nroduit/Weasis/releases)
- [weasis_3.6.2-1_amd64.deb](https://github.com/nroduit/Weasis/releases)
- [weasis-pacs-connector.war(7.1.1)](https://sourceforge.net/projects/dcm4che/files/Weasis/weasis-pacs-connector/)
- [weasis-pacs-connector.war(7.1.2)](https://sourceforge.net/projects/dcm4che/files/Weasis/weasis-pacs-connector/)
- [ApacheDirectoryStudio-2.0.0.v20180908-M14-linux.gtk.x86_64.tar.gz](https://directory.apache.org/studio/downloads.html)
###作業手順
実際には下記に従って進めるだけ。
Upgrade DCM4CHEE Archive light
Embedding in dcm4chee
####dcm4chee-arc-5.22.5の解凍
cd /opt
sudo unzip ~/Downloads/dcm4chee-arc-5.22.5-mysql.zip
sudo chown -R HOGE:HOGE dcm4chee-arc-5.22.5-mysql
sudo systemctl stop wildfly.service
sudo rm /opt/dcm4chee/
sudo ln -s /opt/dcm4chee-arc-5.22.5-mysql /opt/dcm4chee
####データベーススキーマのアップデート
cd /opt/dcm4chee/sql
mysql -u pacs -pDBPassWord pacsdb < update-5.20-mysql.sql
mysql -u pacs -pDBPassWord pacsdb < update-5.21-mysql.sql
mysql -u pacs -pDBPassWord pacsdb < update-5.22-mysql.sql
####LDAPスキーマのアップデート
cd /opt/dcm4chee/ldap/slapd
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f dcm4che-modify.ldif
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f dcm4chee-archive-modify.ldif
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f dcm4chee-archive-ui-modify.ldif
####LDAPデータのアップデート
cd /opt/dcm4chee/ldap
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.20.0.ldif
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.21.0.ldif
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.22.0.ldif
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.22.1.ldif
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.22.2.ldif
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.22.3.ldif
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.22.4.ldif
ldapmodify -xW -Dcn=admin,dc=dcm4che,dc=org -f update-config-5.22.5.ldif
####WildFlyのアップデート
sudo chown -R HOGE:HOGE /opt/wildfly
cd /opt/wildfly/standalone/configuration
mkdir keystores
mv dcm4chee-arc/key.jks keystores
mv dcm4chee-arc/cacerts.jks keystores
cd /opt/wildfly
wget https://downloads.jboss.org/keycloak/11.0.2/adapters/keycloak-oidc/keycloak-wildfly-adapter-dist-11.0.2.zip
unzip keycloak-wildfly-adapter-dist-11.0.2.zip
cd /opt/wildfly/standalone/configuration/keystores
cp /opt/dcm4chee/configuration/keystores/* .
cd /opt/wildfly
rm -r modules/org/dcm4che
unzip /opt/dcm4chee/jboss-modules/dcm4che-jboss-modules-5.22.5.zip
rm -r modules/org/apache/jclouds
unzip /opt/dcm4chee/jboss-modules/jclouds-jboss-modules-2.2.1-noguava.zip
別のターミナルで
./bin/standalone.sh -c dcm4chee-arc.xml
ここでは起動時にエラーが吐かれるはず。
./bin/jboss-cli.sh -c
[standalone@localhost:9990 /] undeploy dcm4chee-arc-ear-5.19.0-mysql.ear
[standalone@localhost:9990 /] deploy /opt/dcm4chee/deploy/dcm4chee-arc-ear-5.22.5-mysql.ear
deployがエラー無しで終了すれば、別のターミナルで立ち上げてあったwildflyをCtrl+cで終了させておく。
####WildFlyの再起動
cd /opt
sudo chown -R wildfly:wildfly wildfly-18.0.0.Final
sudo chown -R wildfly:wildfly wildfly
sudo chown -R wildfly:wildfly dcm4chee-arc-5.22.5-mysql
sudo chown -R wildfly:wildfly dcm4chee
別のターミナルでlogを観察し、起動時にエラーが出ないか確認する。
tail -f /opt/wildfly/standalone/log/server.log
sudo systemctl start wildfly
http://localhost:8080/dcm4chee-arc/ui2 で動作確認をしてみると、無事にデータも生きている。
uiが変わっているので少しまごつく。
####Weasisのアップグレード
http://localhost:9990/ のHAL Management Consoleから新しいweasis-pacs-connector.warをDeployする。
http://localhost:8080/dcm4chee-arc/ui2 の
Menu > Configuration > Devices > dcm4chee-arc > Extensions > Edit extension > Child Objects > Web Applications > DCM4CHEE のPropertyに以下の3行をaddする。
IID_STUDY_URL=weasis://$dicom:rs --url "{{qidoBaseURL}}{{qidoBasePath}}" -r "studyUID={{studyUID}}" --query-ext "&includedefaults=false"
IID_PATIENT_URL=weasis://$dicom:rs --url "{{qidoBaseURL}}{{qidoBasePath}}" -r "patientID={{patientID}}" --query-ext "&includedefaults=false"
IID_URL_TARGET=_self
各クライアントにweasis_3.6.2-1_amd64.debをインストールして終了、とはいかず、ここまでで目的の半分。
近日中にMySQLを8.0に上げてみることにしよう。
2020/10/16 追記
Ubuntu 20.04にMySQL 5.7をインストールすればいいんだっていうことに気づいた。
ということでおしまい。