安裝dcm4chee-arc-light-5.4.1-mysql步驟


 

一.進入網址:

https://github.com/dcm4che/dcm4chee-arc-light/wiki/Installation


這個是GitHub上面給的步驟,可能會比較難理解,按照所給的步驟做,可能會出現各種問題,在此將筆者遇見的問題列舉出來,並給出解決方案。

二.安裝所需環境:

1、JDK 1.8.0_91 
2、wildfly-10.0.0.Final
3、mysql-5.7.12
4、Apache DS 2.0.0-M20
5、 Apache Directory Studio 2.0.0-M9
上述所需工具下載及環境配置在此不多贅述,如需了解詳情請到相應官網查閱。

三.所需資源

binaries下載地址:
https://sourceforge.net/projects/dcm4che/files/
筆者所用的是dcm4chee-arc-5.4.1-mysql這個版本,當然你可以使用其它數據庫版本,如果使用其它數據庫,第二個步驟中的數據庫也要相應的改變。

四.建立數據庫

我們選擇Mysql數據庫:

1、 創建數據庫並授權用戶

> mysql -u root -p<root-password>
mysql> create database <database-name>;
mysql> grant all on <database-name>.* to '<user-name>' identified by '<user-password>';
mysql> quit


2、 導入表到此數據庫

mysql -u <user-name> -p<user-password> <database-name> < $DCM4CHEE_ARC/sql/create-mysql.sql

五.設置 LDAP 服務器

我們選擇 Apache DS 2.0.0 服務器。

5.1 安裝 Apache DS 2.0.0-M20 並啟動服務

5.2 安裝 Apache Directory Studio 2.0.0-M9 並創建一個 LDAP 連接:

Network Parameter:
   Hostname: localhost
    Port:     10389
Authentication Parameter:
    Bind DN or user: uid=admin,ou=system
    Bind password:   secret

5.3 將 LDAP模式的文件導入到 Apache DS 中:

5.3.1 導入apacheds下的LDIF文件

$DCM4CHEE_ARC/ldap/apacheds/dicom.ldif
$DCM4CHEE_ARC/ldap/apacheds/dcm4che.ldif
$DCM4CHEE_ARC/ldap/apacheds/dcm4chee-archive.ldif
導入步驟為:在此連接右鍵importLDIF import,選擇要導入的文件。
注意:要嚴格按照上述所給文件先后順序導入。

5.3.2 新建分區dc=dcm4che,dc=org

如果不新建這個分區,按照GitHub上的步驟連接dc=dcm4che,dc=org會出現找不到分區的問題,此時,我們應該首先在uid=admin,ou=system 這個連接下
新建一個分區,步驟為:
(1) 在此連接右鍵open configuration,切換到Partitions選項,添加一個ID為dcm4che,Suffix為dc=dcm4che,dc=org的分區
(2) 重啟ApacheDS服務才會出現此分區。這個時候如果再建立一個新的連接,來連接此分區;Bind DN填寫dc=dcm4che,dc=org,密碼:secret,會出現驗證失敗的問題,因為dcm4che,dc=org的密碼不是secret,這個時候我們需要添加這個分區的用戶密碼,添加步驟:
①找到$DCM4CHEE_ARC/ldap/init-baseDN.ldif,在此文件末尾加上一個屬性userpassword: secret
②導入此ldif文件,會出現entry已存在的問題,這個時候需要刪除dc=dcm4che,dc=org 這個entry,刪除之后再導入,就會成功。
5.3.3 導入ldap下面的ldif文件
$DCM4CHEE_ARC/ldap/init-config.ldif
$DCM4CHEE_ARC/ldap/default-config.ldif
$DCM4CHEE_ARC/ldap/add-vendor-data.ldif
$DCM4CHEE_ARC/ldap/sample-config.ldif


導入方法和5.3.1一樣。

六.將dcm4chee-arc-light中的默認配置導入到 LDAP 服務器上

6.1 創建一個新LDAP連接:

Network Parameter:
    Hostname: localhost
    Port:     10389
Authentication Parameter:
    Bind DN or user: dc=dcm4che,dc=org
    Bind password:   secret
Browser Options:
Base DN: dc=dcm4che,dc=org
當然,端口號也可以使用GitHub 所給的389,這需要你創建一個 LDAP server,在 LDAP Servers 視圖下右鍵NewNew Server,選擇 ApacheDS 2.0.0 點擊 finish,打開配置視圖,選擇Overview 選項卡,更改端口號為 389,306,啟動此server。

6.3 導入ldap下面的ldif文件

$DCM4CHEE_ARC/ldap/init-config.ldif
$DCM4CHEE_ARC/ldap/sample-config.ldif
$DCM4CHEE_ARC/ldap/default-config.ldif
$DCM4CHEE_ARC/ldap/add-vendor-data.ldif


若5.3.3已經導入,這里就不需要導入了。導入方法和5.3.1一樣。

6.4 配置 Archive 的AE Title(s)

 6.4.1 可以參考這個文章:change the default AE Title(s) of the Archive

我們在這里選擇第一種方法:
創建一個 LDIF 文件 命名AETitle.ldif, 文件內容如下:
version: 1
# LDIF for modifying the AE Title of the Archive
# Adjust Base DN (dc=dc=dcm4che,dc=org), Device name (dcm4chee-arc), previous AE Title (DCM4CHEE),
# new AE Title (MY_AE) before import it into the LDAP server
dn: dicomAETitle=DCM4CHEE,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: moddn
newrdn: dicomAETitle=MY_AE
deleteoldrdn: 1
newsuperior: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
將此文件導入,導入方法和5.3.1一樣。

6.5 改變默認的存儲路徑

6.5.1 可以參考這個文章: change the default Storage Directory:

我們選擇第二種方法:
創建一個 LDIF 文件,命名 storage-directory.ldif,文件內容如下:
version: 1
dn: dcmStorageID=fs1,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: modify
replace: dcmURI
dcmURI: file:///D:/dcm4chee-arc/fs1/
筆者選擇的是D盤,如果想使用其它盤可以更改為相應的盤符,當然,路徑也可以自定義。

6.6 配置外部 DICOM 應用程序 AE Title(s) 來確定哪一個 Archive 允許被連接

6.6.1可以參考這個文章:configure AE Title(s) of external DICOM Applications

調整$DCM4CHEE_ARC/ldap/sample-device.ldif文件可以配置。此文件內容為:
version: 1
# LDIF for adding a Device providing one Application Entity available on one Network connection
# Adjust Base DN (dc=dcm4che,dc=org), Device name (SAMPLE_DEVICE), AE Title (SAMPLE_AET),
# Hostname (sample.host.name) and Port number before import it into the LDAP server


# Unique AE Title
# (will fail if there is already an object for the same AE Title)
dn: dicomAETitle=SAMPLE_AET,cn=Unique AE Titles Registry,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dicomUniqueAETitle
dicomAETitle: SAMPLE_AET


# Device
dn: dicomDeviceName=SAMPLE_DEVICE,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dicomDevice
dicomDeviceName: SAMPLE_DEVICE
dicomInstalled: TRUE


# Network Connection
dn: cn=dicom,dicomDeviceName=SAMPLE_DEVICE,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dicomNetworkConnection
cn: dicom
dicomHostname: sample.host.name
dicomPort: 12345


# Network Connection (secure)
# dn: cn=dicom-tls,dicomDeviceName=SAMPLE_DEVICE,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
# cn: dicom-tls
# objectClass: dicomNetworkConnection
# dicomHostname: sample.host.name
# dicomPort: 23456
# dicomTLSCipherSuite: TLS_RSA_WITH_AES_128_CBC_SHA
# dicomTLSCipherSuite: SSL_RSA_WITH_3DES_EDE_CBC_SHA


# Network Application Entity
dn: dicomAETitle=SAMPLE_AET,dicomDeviceName=SAMPLE_DEVICE,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dicomNetworkAE
dicomAETitle: SAMPLE_AET
dicomNetworkConnectionReference: cn=dicom,dicomDeviceName=SAMPLE_DEVICE,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
# dicomNetworkConnectionReference: cn=dicom-tls,dicomDeviceName=SAMPLE_DEVICE,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dicomAssociationInitiator: TRUE
dicomAssociationAcceptor: TRUE


七.設置WildFly 服務器

7.1 將配置文件拷貝到WildFly 安裝路徑中:

> cp -r $DCM4CHEE_ARC/configuration/dcm4chee-arc $WILDFLY_HOME/standalone/configuration [UNIX]
> xcopy %DCM4CHEE_ARC%\configuration\dcm4chee-arc %WILDFLY_HOME%\standalone\configuration [Windows]


這個時候需要修改 ldap.properties 文件
將java.naming.security.principal=cn=admin,dc=dcm4che,dc=org改為:
java.naming.security.principal=dc=dcm4che,dc=org
如果你上面建立的連接端口號是10389,需要將java.naming.provider.url的端口號改為10389

7.2 添加dcm4chee-arc 配置文件

> cd $WILDFLY_HOME/standalone/configuration/
> cp standalone-full.xml dcm4chee-arc.xml
可以手動復制

7.3 安裝dcm4chee-arc-light 庫作為 JBOSS 組件

> cd  $WILDFLY_HOME
> unzip $DCM4CHEE_ARC/jboss-module/dcm4che-jboss-modules-5.x-dcm4chee-arc-light.zip
解壓$DCM4CHEE_ARC/jboss-module/dcm4che-jboss-modules-5.x-dcm4chee-arc-light.zip到 WildFly根目錄。


也可以先解壓好,將modules/org下面的dcm4che復制到%WILDFLY_HOME%\modules\org下面

7.4 安裝JAI Image IO 1.2 庫作為JBOSS組件

> cd  $WILDFLY_HOME
> unzip $DCM4CHEE_ARC/jboss-module/jai_imageio-jboss-modules-1.2-pre-dr-b04.zip
也可以自己手動解壓復制到相應路徑

7.5 安裝 QueryDSL 3.2.3 庫作為JBOSS 組件

> cd  $WILDFLY_HOME
> unzip $DCM4CHEE_ARC/jboss-module/querydsl-jboss-modules-4.0.3-noguava.zip
也可以手動解壓復制到相應路徑

7.6 安裝jclouds 1.8.1 庫作為JBOSS 組件

> cd  $WILDFLY_HOME
> unzip $DCM4CHEE_ARC/jboss-module/jclouds-jboss-modules-1.9.1-noguava.zip
也可以手動解壓復制到相應路徑

7.7 根據你選擇的數據庫下載相應的JDBC 驅動

7.7.1 選擇合適的驅動

筆者使用的是Mysql,jdbc-jboss-modules-1.0.0-mysql.zip下的module.xml配置文件使用的是5.1.36版本,筆者使用的是5.1.39,在http://dev.mysql.com/downloads/connector/j/ 下載mysql-connector-java-5.1.39-bin.jar文件。你也可以下載其它版本,打開網址: https://downloads.mysql.com/archives/c-j/ 選擇其它版本。有可能會出現版本不兼容問題,請依據實際情況作出相應的調整。

7.7.2 安裝JDBC 驅動

有兩種安裝方式:部署和核心組件。
 See 這個有兩種方式的安裝步驟,我們這里選擇作為核心組件這種方式。

7.7.2.1在 JBOSS_HOME/modules下創建一個目錄結構

(1) 目錄結構為JBOSS_HOME/modules/com/mysql/main
(2)在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.39-bin.jar"/>
<!-- <resource-root path="mysql-license.jar"/> -->
    </resources>


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


當然你也可以將$dcm4che-arc\jboss—modules\jdbc-jboss-modules-1.0.0-mysql.zip解壓出來的module.xml文件復制到此路徑下
(3)將下載的JDBC驅動
mysql-connector-java-5.1.39-bin.jar復制到JBOSS_HOME/modules/com/mysql/main下面


(4)核實一下JDBC驅動文件名和module.xml中path(s)下是否一致,要保持一致。
Resource-root 屬性可以有多個。

7.8 使用合適的配置文件以獨立模式啟動 WildFly.

> $WILDFLY_HOME/bin/standalone.sh -c dcm4chee-arc.xml [UNIX]
> %WILDFLY_HOME%\bin\standalone.bat -c dcm4chee-arc.xml [Windows]


Verify, that JBoss started successfully, e.g.:


=======================================================================


  JBoss Bootstrap Environment


  JBOSS_HOME: "C:\wildfly-10.0.0.Final"


  JAVA: "C:\Program Files\Java\jdk1.8.0_91\bin\java"


  JAVA_OPTS:  "-Dprogram.name=standalone.bat -Xms64M -Xmx512M -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -    Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"


=======================================================================


09:22:51,531 INFO  [org.jboss.modules] (main) JBoss Modules version 1.5.1.Final
09:22:51,704 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final
09:22:51,767 INFO  [org.jboss.as] (MSC service thread 1-6) WFLYSRV0049: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) starting
:
09:22:54,094 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) started in 28397ms - Started 1839 of 2270 services (683 services are lazy, passive or on-demand)


在域模式下運行的JBoss應該可以正常工作,但是還沒有測試。

7.9 打開一個新的控制台窗口,使用JBoss CLI 將 JDBC 驅動添加到服務器配置

> $WILDFLY_HOME/bin/jboss-cli.sh -c [UNIX]
> %WILDFLY_HOME%\bin\jboss-cli.bat -c [Windows]
[standalone@localhost:9999 /] /subsystem=datasources/jdbc-driver=<driver-name>:add(driver-name=<driver-name>,driver-module-name=<module-name>)


對於JDBC 驅動名字,<driver-name>可以任意,<module-name>必須和JDBC驅動組件的定義文件 module.xml中定義的名字一致,我們定義的是“com.mysql”所以:


[standalone@localhost:9999 /] /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql)

7.10 使用JBoss CLI 創建一個新的數據源綁定到 java:/PacsDS JNDI 

[standalone@localhost:9999 /] data-source add --name=PacsDS \
>     --driver-name=<driver-name> \
>     --connection-url= jdbc:mysql://<host>:3306/pacsdb \
>     --jndi-name=java:/PacsDS \
>     --user-name=pacsdb \
>     --password=pacsdb
[standalone@localhost:9999 /] data-source enable --name=PacsDS


The format of <jdbc-url> is JDBC Driver specific, e.g.:
• H2: jdbc:h2:<directory-path>/<database-name>
• MySQL: jdbc:mysql://<host>:3306/<database-name>
• PostgreSQL: jdbc:postgresql://<host>:5432/<database-name>
• Firebird: jdbc:firebirdsql:<host>/3050:<database-name>
• DB2: jdbc:db2://<host>:50000/<database-name>
• Oracle: jdbc:oracle:thin:@<host>:1521:<database-name>
• Microsoft SQL Server: jdbc:sqlserver://<host>:1433;databaseName=<database-name>
也可以使用CLI腳本$DCM4CHEE_ARC/cli/add-data-source-<db>.cli,這個文件中有兩個命令,一個是添加 JDBC driver,一個是創建數據源。在執行之前我們必須用實際值(也就是步驟四所建立的數據庫)取代
<host>, <database-name>, <user-name> and <user-password> 這些值。執行:
> $WILDFLY_HOME/bin/jboss-cli.sh -c -f $DCM4CHEE_ARC/cli/add-data-source-<db>.cli


7.11 使用JBoss CLI 創建 JMS 隊列:

[standalone@localhost:9990 /] jms-queue add --queue-address=StgCmtSCP --entries=java:/jms/queue/StgCmtSCP
[standalone@localhost:9990 /] jms-queue add --queue-address=MPPSSCU --entries=java:/jms/queue/MPPSSCU
[standalone@localhost:9990 /] jms-queue add --queue-address=IANSCU --entries=java:/jms/queue/IANSCU
[standalone@localhost:9990 /] jms-queue add --queue-address=Export1 --entries=java:/jms/queue/Export1
[standalone@localhost:9990 /] jms-queue add --queue-address=Export2 --entries=java:/jms/queue/Export2
[standalone@localhost:9990 /] jms-queue add --queue-address=Export3 --entries=java:/jms/queue/Export3


這個也有CLI 腳本 $DCM4CHEE_ARC/cli/add-jms-queues.cli 提供,里面含有命令行,
我們只需執行:
> $WILDFLY_HOME/bin/jboss-cli.sh -c -f DCM4CHEE_ARC/cli/add-jms-queues.cli

7.12 使用JBoss CLI 調整 managed-executor-services 配置 

[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)

7.13 使用 JBoss CLI 通過system property 指定一個不同的 Device Name

 DCM4CHEE Archive 5.x  默認的Device Name是dcm4chee-arc,在LDAP Server中有配置,可以通過system property指定一個不同的Device Name(此步驟也可以不執行)
[standalone@localhost:9999 /] /system-property=dcm4chee-arc.DeviceName:add(value=<device-name>)

7.14 使用JBoss CLI 部署 DCM4CHEE Archive 5.x

7.14.1 部署

[standalone@localhost:9999 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ear-5.x-psql.ear


Verify that DCM4CHEE Archive was deployed and started successfully, e.g.:


11:00:38,511 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "dcm4chee-arc-ear-5.x-psql.ear" (runtime-name: "dcm4chee-arc-ear-5.x-psql.ear")
:
11:00:42,742 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-1) Start TCP Listener on /0.0.0.0:11112
11:00:42,811 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-2) Start TCP Listener on /0.0.0.0:2762
11:00:42,811 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-3) Start TCP Listener on /0.0.0.0:2575
11:00:42,813 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-4) Start TCP Listener on /0.0.0.0:12575
11:00:43,095 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 20) WFLYUT0021: Registered web context: /dcm4chee-arc
11:00:43,095 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 23) WFLYUT0021: Registered web context: /dcm4chee-arc/ui
11:00:43,157 INFO  [org.jboss.as.server] (management-handler-thread - 3) WFLYSRV0010: Deployed "dcm4chee-arc-ear-5.x-SNAPSHOT-psql.ear" (runtime-name : "dcm4chee-arc-ear-5.x-SNAPSHOT-psql.ear")




7.14.2  Verify that the Web UI is accessible at 

http://localhost:8080/dcm4chee-arc/ui.


7.14.3 You may undeploy DCM4CHEE Archive at any time using JBoss CLI, e.g.:



[standalone@localhost:9999 /] undeploy dcm4chee-arc-ear-5.x-psql.ear


11:05:23,905 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 75) WFLYUT0022: Unregistered web context: /dcm4chee-arc
11:05:23,906 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 80) WFLYUT0022: Unregistered web context: /dcm4chee-arc/ui
11:05:23,912 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-1) Stop TCP Listener on /0.0.0.0:11112
11:05:23,912 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-2) Stop TCP Listener on /0.0.0.0:2762
11:05:23,915 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-4) Stop TCP Listener on /0.0.0.0:12575
11:05:23,915 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-3) Stop TCP Listener on /0.0.0.0:2575
:
11:05:24,023 INFO  [org.jboss.as.server] (management-handler-thread - 8) WFLYSRV0009: Undeployed "dcm4chee-arc-ear-5.x-psql.ear" (runtime-name: "dcm4chee-arc-ear-5.x-psql.ear")




到這里 dcm4chee-arc-light-5.4.1 安裝完成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM