3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu 18.04にDcm4chee-arc-lightをインストールする

Last updated at Posted at 2019-12-21

##目的
DICOMサーバーであるDcm4chee-arc-lightをUbuntu 18.04 LTSにインストールする。

###問題点
以下のリンクを参考に進めていけば標準的な設定で構築できるはずだが、ディストリビューション毎の差異を調整する必要がある。この種のサーバーを必要とする現場には時間に余裕がなく、各々が解決するには無駄が多い。
公式Wiki
https://github.com/dcm4che/dcm4chee-arc-light/wiki/Installation

CentOSでの導入事例
Install DCM4CHEE Archive light 5.x インストールメモ
http://csdicom.blogspot.com/2019/02/install-dcm4chee-archive-light-5x.html

###解決方法
医療現場での導入が多いと思われるUbuntuへのインストール例を示して、参考にしてもらう。

###使用ソフト
下記のファイル群が最新であったため、これらを使用した。

[dcm4chee-arc-5.19.0-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-pacs-connector.war(7.1.1)](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)

###インストール

例文中のHOGEは作業をしているアカウントのユーザー名。
ApacheDirectoryStudio以外は全てターミナル内での作業になる。

####MySQLのインストール

% sudo apt install mysql-server
% sudo mysql_secure_installation

MySQLの設定の参考に
https://onobutaonnsenn.naturum.ne.jp/e3203250.html
https://weblabo.oscasierra.net/mysql-57-init-setup/

####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の作成

% sudo mysql -u root -p<root-password>
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のadminパスワードをldap-passとする。

% sudo systemctl start slapd
% 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 の編集

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
-

% sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f modify-baseDN.ldif
コンソール出力の最終行が
modifying entry "olcDatabase={1}mdb,cn=config"
となっていることを確認。

ldapmodify: invalid format (line 8) entry: "olcDatabase={1}mdb,cn=config"
がでる場合は、ファイル内の各スペースが半角になっているか、無駄なスペースが入っていないか確認する。

% slappasswd -s ldap-pass
で出力された
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
を以下のファイルのuserPassword:の後に記載する。

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

% 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

ADS
左ツリー・ビューの dc=dcm4che, dc=org を右クリックして現れるコンテキストメニューからimport→LDIF import...で以下のファイルをインポートする。init-baseDN.ldifは必要ないようだ。

/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

####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の編集

/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の編集
java.naming.security.credentialsをldapのadminパスワードに変更する。

/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の編集

/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)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=long-running-tasks,value=true)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=core-threads,value=2)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=max-threads,value=100)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=queue-length,value=0)
[standalone@localhost:9990 /] /subsystem=ee/managed-scheduled-executor-service=default:undefine-attribute(name=hung-task-threshold)
[standalone@localhost:9990 /] /subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=long-running-tasks,value=true)
[standalone@localhost:9990 /] /subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=core-threads,value=2)
[standalone@localhost:9990 /] deploy /opt/dcm4chee/deploy/dcm4chee-arc-ear-5.19.0-mysql.ear
[standalone@localhost:9990 /] quit

deployがエラーなく終了すれば、ブラウザーで
http://localhost:8080/dcm4chee-arc/ui2
にアクセスできる。
ui2

別のターミナルで立ち上げてあったwildflyをCtrl+cで終了させておく。

####systemdへの登録
% sudo useradd wildfly

/etc/passwdの編集

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の編集

/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を登録することで使用可能となる。
ui2画面で
Menu > Configuration > AE List > Registaer new application entity (+ボタン)

サーバーとしてきちんと使いたいときは
http://csdicom.blogspot.com/2019/02/install-dcm4chee-archive-light-5x.html
の「保存場所の変更」「自動実行」を参考に調整するといいかと。

####既存のdcmファイルを登録

使い慣れているので、ここではDCMTKのdcmsendを使う。
% sudo apt install dcmtk

Hostname : localhost
Port : 104
AE Title : DCMSEND

上記のパラメーターでAEを登録すれば、下記コマンドで送ることができる。

dcmsend -v +v -aet DCMSEND -aec DCM4CHEE localhost 11112 *.dcm

####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

/opt/wildfly/bin/add-user.shを実行しManagement Userを追加。http://localhost:9990/ のHAL Management Consoleに入れるようにしておく。
Deployments > Deploy an Application > add からweasis-pacs-connector.warをDeployした後ui2を再読込すると、眼球のアイコン Open study in the viewerが出現する。

各クライアントにWeasisをインストールすれば、閲覧可能となる。
% sudo dpkg -i ~/Downloads/weasis_3.5.4-rc-1_amd64.deb

この記事は
https://sites.google.com/site/twunji/dcm4chee-arc-light
を再編集したものです。

終了

2020/10/11
Ubuntu 18.04のDcm4chee-arc-lightをアップグレードする
続き

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?