2019年2月21日木曜日

Install DCM4CHEE Archive light 5.x インストールメモ

Install DCM4CHEE Archive light 5.x インストールメモ

dcm4chee 5.x バージョンが出ていたのでインストールしてみました。
LDAPの設定が新たに必要になっています。
LDAPはモダリティの装置名などに使用するのでしょうか?「PS3.15 医療におけるデジタル画像と通信」にはなにやら書かれておりますが、とくに日常現場で使う必要はなさそうです。。

おおむね、マニュアル通りに設定をしていますが、LDAPが理解不足で。。。

対象OS: CentOS7 (CentOS-7-x86_64-Minimal-2009.iso)
----usbでインストール。その後、isoファイルをHDDに展開してローカルレポジトリとします。2024年以降も使いたい。。。。。

(以下 centosに入っているものをそのまま使用しています)

データベース: postgresql
LDAPサーバ: OpenLDAP
java: openjdk

01. OSの設定

centosにもpacsユーザを作成しておいた。

>useradd pacs
>passwd pacs
 適当なパスワード


フォルダは以下に展開

dcm4chee-arc-5.15.1-psql.zip >> /var/dcm4chee-arc
wildfly-12.0.0.Final.zip     >> /opt/wildfly


10. データベース

10.10. 設定

postgresql.conf,pg_hba.confは適宜に編集。

10.20. データベースとユーザの作成。

database: pacsdb
user: pacs


>su -l postgres
>createuser pacs
>psql -U postgres
postgres=#create database pacsdb owner pacs;
postgres=#\q


10.30. テーブルとインデックスの作成


>su -l pacs
psql pacsdb < /var/dcm4chee-arc/sql/create-psql.sql
psql pacsdb < /var/dcm4chee-arc/sql/create-fk-index.sql


20. LDAP Server

centos のものをそのまま使用します
centos7用のLDAPではslapd.confファイルを直接編集するのではなく、コマンドから設定します。

20.10. インストール


>yum -y install openldap openldap-clients openldap-servers


20.20. Berkeley DBのDB設定ファイルをコピー

>cp -p /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG


20.30. サービスの登録と起動


>systemctl enable slapd
>systemctl start slapd


20.40. 管理者パスワード


# slappasswd
  New passwrd:secret
  Re-enter new password: secret

  {SSHA}*****************************


20.50. ダイナミック設定  


>cd /var/dcm4chee-arc/ldap/slapd

>ldapadd -Y EXTERNAL -H ldapi:/// -f dicom.ldif
>ldapadd -Y EXTERNAL -H ldapi:/// -f dcm4che.ldif
>ldapadd -Y EXTERNAL -H ldapi:/// -f dcm4chee-archive.ldif
>ldapadd -Y EXTERNAL -H ldapi:/// -f dcm4chee-archive-ui.ldif


20.60. olcSuffixの書き換え(replace)

modify-baseDN.ldif を新規作成

>vi modify-baseDN.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=dcm4che,dc=org
-
replace: olcRootDN
olcRootDN: cn=admin,dc=dcm4che,dc=org
-

保存終了

実行します
>ldapmodify -Y EXTERNAL -H ldapi:/// -f modify-baseDN.ldif


確認します

ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b 'olcDatabase={2}hdb,cn=config'


20.70. パスワードの変更


>vi setup_pwd.ldif


dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}************************ #(20.40 で取得したもの)

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}************************ #(20.40 で取得したもの)


実行

>ldapadd -Y EXTERNAL -H ldapi:// -f ./setup_pwd.ldif


確認

>ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b 'olcDatabase={2}hdb,cn=config'


20.80. 最上位要素とLDAP管理者アカウントのオブジェクトの作成



>vi slapd_setup_basic.ldif


dn: dc=dcm4che,dc=org
changetype: add
objectClass: top
objectClass: dcObject
objectClass: organization
o: dcm4che.org
dc: dcm4che

dn: cn=admin,dc=dcm4che,dc=org
changetype: add
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: {SSHA}***************************

実行

>ldapmodify -x -D cn=admin,dc=dcm4che,dc=org -H ldapi:/// -f slapd_setup_basic.ldif -W
>secret


30. 設定をLDAPサーバにインポート


 Apache Directory Studio 2.0.0-M9 (http://directory.apache.org/studio/downloads.html)のダウンロード
 適当な場所に展開
 ApacheDirectoryStudio を実行

30.10. 設定

 Network Parameter:
    Hostname: localhost
    Port:     389
 Authentication Parameter:
    Bind DN or user: cn=admin,dc=dcm4che,dc=org
    Bind password:   secret
 Browser Options:                  #<=ない
    Base DN: dc=dcm4che,dc=org     #<=ない
 上記設定でログイン

30.20. インポート

 Connection > localhost(右クリック) > import
 /var/dcm4chee-arc/ldap以下の5つのファイルを import

init-baseDN.ldif      #<=もともと設定されているためエラー
init-config.ldif
default-config.ldif
default-ui-config.ldif
add-vendor-data.ldif

40. Wildflyの設定

40.10. インストール

ver 12.0
 /opt/wildfly へ解凍

40.20. dcm4cheeのconfiguration files のコピー



> cp -r /var/dcm4chee-arc/configuration/dcm4chee-arc /opt/wildfly/standalone/configuration


40.30. standalone-full.xml>dcm4chee-arc.xml



> cd /opt/wldfly/standalone/configuration/
> cp standalone-full.xml dcm4chee-arc.xml


40.40. ライブラリをJBossモジュールとしてインストール



>cd /opt/wildfly
>unzip /var/dcm4chee-arc/jboss-modules/dcm4che-jboss-modules-5.x.x.zip
>unzip /var/dcm4chee-arc/jboss-modules/jai_imageio-jboss-modules-1.2-pre-dr-b04.zip
>unzip /var/dcm4chee-arc/jboss-modules/querydsl-jboss-modules-4.2.1-noguava.zip
>unzip /var/dcm4chee-arc/jboss-modules/jclouds-jboss-modules-2.1.0-noguava.zip
>unzip /var/dcm4chee-arc/jboss-modules/ecs-object-client-jboss-modules-3.0.0.zip


40.50. jdbc ドライバー

 コアモジュールとして


>cd /opt/wildfly
>unzip /var/dcm4chee-arc/jboss-modules/jdbc-jboss-modules-1.0.0-psql.zip


40.60. postgresql-42.2.4.jar のダウンロードとコピー


>cp postgresql-42.2.5.jar /opt/wildfly/modules/org/postgresql/main/



40.70. module.xmlファイルの編集

resource-root path=を上記のダンロードしたファイル名にする


vi /opt/wildfly//modules/org/postgresql/main/module.xml


<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
    <resources>
        <resource-root path="postgresql-42.2.5.jar"/>
    </resources>

    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

40.80. スタンドアローンモードでWildFlyを起動



> /opt/wildfly/bin/standalone.sh -c dcm4chee-arc.xml



40.90. JBoss CLIを使用してJDBCドライバーをサーバー設定に追加

add-data-source-psql.cliの編集

  • >vi add-data-source-psql.cli


/subsystem=datasources/jdbc-driver=psql:add(driver-module-name=org.postgresql,driver-name=psql)
data-source add --name=pacsds --driver-name=psql --jndi-name=java:/PacsDS \
--connection-url=jdbc:postgresql://localhost:5432/pacsdb \
--user-name=pacs --password=pacsユーザのパスワード

実行

>/opt/wildfly/bin/jboss-cli.sh -c --file=/var/dcm4chee-arc/cli/add-data-source-psql.cli


確認

>/opt/wildfly/bin/jboss-cli.sh -c
[standalone@localhost:9990 /] ls subsystem
[standalone@localhost:9990 /] ls subsystem=datasources
[standalone@localhost:9990 /] ls subsystem=datasources/data-source=pacsds
[standalone@localhost:9990 /] ls subsystem=datasources/jdbc-driver=psql


40.100. JBoss CLIを使用してJMSキューを作成



>/opt/wildfly/bin/jboss-cli.sh -c --file=/var/dcm4chee-arc/cli/add-jms-queues.cli


40.110. JBoss CLIを使用してdcm4chee-arcをデプロイ(配備)


> /opt/wildfly/bin/jboss-cli.sh -c
[standalone@localhost:9990 /] deploy /var/dcm4chee-arc/deploy/dcm4chee-arc-ear-5.13.3-psql.ear


40.120. WildFlayのadmin ユーザーを作成


>/opt/wildfly/bin/add-user.sh
user-name: admin
password:  ******


50. ブラウザで参照

http://localhost:9990
http://localhost:8080/dcm4chee-arc/ui2.

60. sendscu

dcmtkよりstorescu
>storescu.exe -v -aet any -aec DCM4CHEE 192.168.0.* 11112 xray.dcm

(ちなみにフォルダごと再帰的に送信の場合は以下。極めて便利。dicom以外のファイルはスルーしてくれる)
>storescu.exe -v +r +sd -aet any -aec DCM4CHEE 192.168.0.* c:\temp\

70. 保存場所の変更

70.10. 保存場所

デフォルトは ${wildfly}/standalone/data/fs1 なので /data/にブラウザで変更
http://localhost:8080/dcm4chee-arc/ui2/

configration>Device>Dcm4Chee>Extension>ArchiveDrive>StorageDescriptor>StrageURI 
    file:///data/

70.20. 保存形式

保存形式はデフォルトでは送信日時だったのでstudydateに変更
>storageProperty
    pathFormat=00080020,date,yyyy}/{00080020,date,MM}/{00080020,date,dd}/{0020000D,hash}/{0020000E,hash}/{00080018,hash}

80. 自動実行

>useradd wildfly
>cd /opt
>chown -R wildfly:wildfly wildfly

>cd /etc
>mkdir wildfly
>cd wildfly
>cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf ./wildfly.conf
>vi 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

>cd /etc/systemd/system/
>cp -piv /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service ./wildfly.service


>cd /opt/wildfly/bin/
>cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh ./launch.sh


/var/dcm4chee-arc にwildflyユーザの実行権限を再帰的に与えます。

>systemctl start wildfly
>systemctl enable wildfly






0 件のコメント :

コメントを投稿