virtualbox の ubuntu 18.08 に dcm4chee arc をインストールしたいと思っています。
今のところ未完成ですが、かなりいいところまでは来ていると思っています。
後はAE title の設定方法でしょうか
参考サイトは「Ubuntu 18.04にDcm4chee-arc-lightをインストールする」です。
コマンド入力の工夫
参考サイトを見るとわかると思いますが、コピーペーストでも猛烈に複雑で面倒です。
コピーも大変ですし、簡単に間違えてしまいそうです。
そこで prism を使ってクリップボードにコピーするようにしました。
さらに、mysql ログイン画面でクリップボードにコピーすると「mysql>」までコピーされてしまうので、ちょっと工夫して必要なコマンドだけをコピーするようにしました。
例えば、以下の prism 画面で右の方の copy をクリックすると
mysql>
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'moheno';
クリップボードには、
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'moheno';
だけがコピーされるので、そのままペーストすればいいようになってます。
ユーザー名やパスワードなど
コンピュータ名 : hoge
ldap のパスワード : ldap-pass
mysql の root パスワード : moheno
Management User のユーザー名 : heno
Management User のパスワード : moheno
ホームに「Downloads」というディレクトリを作成して必要なアプリを移動しておきます。
必要なアプリ
必要なアプリは以下の5つ。
(weasis_3.5.4-1_amd64.deb だけはオリジナルと少し異なる)
dcm4chee-arc-5.19.0-mysql.zip
wildfly-18.0.0.Final.zip
weasis_3.5.4-1_amd64.deb
weasis-pacs-connector.war(7.1.1)
ApacheDirectoryStudio-2.0.0.v20180908-M14-linux.gtk.x86_64.tar.gz
Java のインストール
sudo apt install openjdk-11-jre-headless
mysql のインストール
sudo apt install mysql-server
パスワード設定。
sudo mysql
mysql>
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'moheno';
mysql>
\q
dcm4chee-arc-lightの準備
cd /opt
sudo unzip ~/Downloads/dcm4chee-arc-5.19.0-mysql.zip
sudo chown -R hoge:hoge /opt/dcm4chee-arc-5.19.0-mysql
sudo ln -s /opt/dcm4chee-arc-5.19.0-mysql /opt/dcm4chee
cd dcm4chee
databaseの作成
mysql -u root -p
mysql>
create database pacsdb;
mysql>
grant all on pacsdb.* to 'pacs' identified by 'DBPassWord';
mysql>
quit
mysql -u pacs -pDBPassWord pacsdb < /opt/dcm4chee/sql/create-mysql.sql
OpenLDAPのインストール、設定
sudo apt install slapd ldap-utils
パスワードは「ldap-pass」
以下は一気にコピペでOK。
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /opt/dcm4chee/ldap/slapd/dicom.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /opt/dcm4chee/ldap/slapd/dcm4che.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /opt/dcm4chee/ldap/slapd/dcm4chee-archive.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /opt/dcm4chee/ldap/slapd/dcm4chee-archive-ui.ldif
modify-baseDN.ldif の作成。
sudo nano modify-baseDN.ldif
modify-baseDN.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=dcm4che,dc=org
-
replace: olcRootDN
olcRootDN: cn=admin,dc=dcm4che,dc=org
-
記録して閉じる場合は、「ctl + O」→「ctl + x」。
確認。
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f modify-baseDN.ldif
コンソール出力の最終行が
modifying entry "olcDatabase={1}mdb,cn=config"
となっていることを確認。
slappasswd -s ldap-pass
で出力された
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
を以下のファイルのuserPassword:の後に記載する。
slapd_setup_basic.ldif の作成。
sudo nano slapd_setup_basic.ldif
slapd_setup_basic.ldif
dn: dc=dcm4che,dc=org
changetype: add
objectClass: top
objectClass: dcObject
objectClass: organization
o: Example Organisation name
dc: dcm4che
dn: cn=admin,dc=dcm4che,dc=org
changetype: add
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:{SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ldap-pass でログインできることを確認。
ldapmodify -x -W -D cn=admin,dc=dcm4che,dc=org -H ldapi:/// -f slapd_setup_basic.ldif
ApacheDirectoryStudio
cd ~/
sudo apt install default-jre libmysql-java
tar xzvf Downloads/ApacheDirectoryStudio-2.0.0.v20180908-M14-linux.gtk.x86_64.tar.gz
./ApacheDirectoryStudio/ApacheDirectoryStudio &
https://www.unix-power.net/networking/post-593 を参考にして以下のパラメーターでサーバーに接続。
Network Parameter:
Hostname: localhost
Port: 389
Authentication Parameter:
Bind DN or user: cn=admin,dc=dcm4che,dc=org
Bind password: ldap-pass
connection name はdcmとした。

左ツリー・ビューの dc=dcm4che, dc=org を右クリックして現れるコンテキストメニューからimport→LDIF import…で以下のファイルをインポートする。

/opt/dcm4chee/ldap/init-config.ldif
/opt/dcm4chee/ldap/default-config.ldif
/opt/dcm4chee/ldap/default-ui-config.ldif
/opt/dcm4chee/ldap/add-vendor-data.ldif
インポート後は閉じる。
以下のようなエラーが出る。
Failed to load module "canberra-gtk-module"
Gtk-Message: 16:36:28.308: Failed to load module "canberra-gtk-module"
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.directory.studio.connection.core.io.jndi.LdifSearchLogger (file:/home/hoge/ApacheDirectoryStudio/plugins/org.apache.directory.studio.connection.core_2.0.0.v20180908-M14.jar) to field java.util.logging.FileHandler.files
WARNING: Please consider reporting this to the maintainers of org.apache.directory.studio.connection.core.io.jndi.LdifSearchLogger
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
「ctl + c 」で終了。
WildFly
cd /opt
sudo unzip ~/Downloads/wildfly-18.0.0.Final.zip
sudo chown -R hoge:hoge /opt/wildfly-18.0.0.Final
sudo ln -s /opt/wildfly-18.0.0.Final /opt/wildfly
cp -r /opt/dcm4chee/configuration/dcm4chee-arc /opt/wildfly/standalone/configuration
cp /opt/wildfly/standalone/configuration/standalone-full.xml /opt/wildfly/standalone/configuration/dcm4chee-arc.xml
cd /opt/wildfly
unzip /opt/dcm4chee/jboss-modules/dcm4che-jboss-modules-5.19.0.zip
unzip /opt/dcm4chee/jboss-modules/jai_imageio-jboss-modules-1.2-pre-dr-b04.zip
unzip /opt/dcm4chee/jboss-modules/jclouds-jboss-modules-2.1.2-noguava.zip
unzip /opt/dcm4chee/jboss-modules/ecs-object-client-jboss-modules-3.0.0.zip
unzip /opt/dcm4chee/jboss-modules/jdbc-jboss-modules-1.0.0-mysql.zip
mysql-connector-java
cp /usr/share/java/mysql-connector-java-5.1.45.jar /opt/wildfly/modules/com/mysql/main/
/opt/wildfly/modules/com/mysql/main/module.xml の編集。
sudo nano /opt/wildfly/modules/com/mysql/main/module.xml
/opt/wildfly/modules/com/mysql/main/module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.45.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
/opt/wildfly/standalone/configuration/dcm4chee-arc/ldap.propertiesの編集。
sudo nano /opt/wildfly/standalone/configuration/dcm4chee-arc/ldap.properties
/opt/wildfly/standalone/configuration/dcm4chee-arc/ldap.properties
java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
java.naming.ldap.attributes.binary=dicomVendorData
java.naming.provider.url=ldap://localhost:389/dc=dcm4che,dc=org
java.naming.security.principal=cn=admin,dc=dcm4che,dc=org
java.naming.security.credentials=ldap-pass
wildflyを立ち上げる。
/opt/wildfly/bin/standalone.sh -c dcm4chee-arc.xml
別のコンソールで、
/opt/dcm4chee/cli/add-data-source-mysql.cliの編集。
sudo nano /opt/dcm4chee/cli/add-data-source-mysql.cli
/opt/dcm4chee/cli/add-data-source-mysql.cli
/subsystem=datasources/jdbc-driver=mysql:add(driver-module-name=com.mysql,driver-name=mysql)
data-source add --name=pacsds --driver-name=mysql --jndi-name=java:/PacsDS \
--connection-url=jdbc:mysql://localhost:3306/pacsdb?useSSL=false&requireSSL=false \
--user-name=pacs --password=DBPassWord
/opt/wildfly/bin/jboss-cli.sh -c --file=/opt/dcm4chee/cli/add-data-source-mysql.cli
/opt/wildfly/bin/jboss-cli.sh -c --file=/opt/dcm4chee/cli/add-jms-queues.cli
JBossのクライアントに入る。
/opt/wildfly/bin/jboss-cli.sh -c
クライアント内で以下のコマンドを実行する。
[standalone@localhost:9990 /]
/subsystem=ee/managed-executor-service=default:undefine-attribute(name=hung-task-threshold)
/subsystem=ee/managed-executor-service=default:write-attribute(name=long-running-tasks,value=true)
/subsystem=ee/managed-executor-service=default:write-attribute(name=core-threads,value=2)
/subsystem=ee/managed-executor-service=default:write-attribute(name=max-threads,value=100)
/subsystem=ee/managed-executor-service=default:write-attribute(name=queue-length,value=0)
/subsystem=ee/managed-scheduled-executor-service=default:undefine-attribute(name=hung-task-threshold)
/subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=long-running-tasks,value=true)
/subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=core-threads,value=2)
deploy /opt/dcm4chee/deploy/dcm4chee-arc-ear-5.19.0-mysql.ear
quit
deployがエラーなく終了すれば、ブラウザーで
http://localhost:8080/dcm4chee-arc/ui2
にアクセスできる。
ctl + c で wildfly を終了。
systemdへの登録
sudo useradd wildfly
sudo nano /etc/passwd
wildfly の ID を確認して最後に以下を加える。wildfly の ID は一番下にあるものを使う。
wildfly:x:997:998::/opt/wildfly:/sbin/nologin
wildflyでログインできないようにしておく。
sudo mkdir /etc/wildfly
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
/etc/wildfly/wildfly.conf の編集。
sudo nano /etc/wildfly/wildfly.conf
/etc/wildfly/wildfly.conf
# The configuration you want to run
WILDFLY_CONFIG=dcm4chee-arc.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/wildfly.service
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
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.19.0-mysql
sudo chown -R wildfly:wildfly dcm4chee
sudo systemctl enable wildfly
sudo systemctl start wildfly
でdcm4chee-arc-lightサーバーを起動することができる。
必要なAEを登録することで使用可能となる。----> 必要なAEって?
ui2画面で
Menu > Configuration > AE List > Registaer new application entity (+ボタン)
既存のdcmファイルをインポート
dcm4che-2.0.29 を用意して、
cd /home/hoge/dcm4che-2.0.29/bin
./dcmsnd DCM4CHEE@localhost:11112 ~/aaa
weasis
ui2画面で
Menu > Configuration > Devices > dcm4chee-arc > Device Extensions > Archive Device > Attributes
Invoke Image Display Patient URL に以下の内容をペースト。
weasis://$dicom:rs --url "http://HOSTNAME:8080/dcm4chee-arc/aets/DCM4CHEE/rs" -r "&patientID={}" --query-ext "&includedefaults=false" --
accept-ext="transfer-syntax=*"&target=_self
Invoke Image Display Study URL に以下の内容をペースト。
weasis://$dicom:rs --url "http://HOSTNAME:8080/dcm4chee-arc/aets/DCM4CHEE/rs" -r "&studyUID={}" --query-ext "&includedefaults=false" --
accept-ext="transfer-syntax=*"&target=_self
画面を下にスクロールして「save」。
Management Userを追加。
sudo /opt/wildfly/bin/add-user.sh
「a」 を選択して、適当なユーザー名とパスワードを設定。
http://localhost:9990/ のHAL Management Consoleに入る。

Deployments > Deploy an Application > add からweasis-pacs-connector.warをDeployした後ui2を再読込すると、眼球のアイコン Open study in the viewerが出現する。
各クライアントにWeasisをインストールすれば、閲覧可能となる。 --> ならない。AEの設定が必要か?
sudo dpkg -i ~/Downloads/weasis_3.5.4-1_amd64.deb
AE の設定
ここまでで、dicom ファイルのアップロードはできて目のアイコンも表示され、それをクリックすると weasis が立ち上がるようになりましたが、肝心の dicom ファイルがローカルにダウンロードされません。
おそらく AE の設定が必要なのでしょうが、アバウトに設定しても全然だめなようです。

この4番目まではできますが、5以下は具体的にどうすればいいのかはわかりません。
なぜこの情報があまりないんだろう?