zoukankan      html  css  js  c++  java
  • 安装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%configurationdcm4chee-arc %WILDFLY_HOME%standaloneconfiguration [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%modulesorg下面

    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-arcjboss—modulesjdbc-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%instandalone.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 FilesJavajdk1.8.0_91injava"


      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%injboss-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 安装完成!

  • 相关阅读:
    物理删除文件 业务层
    页面在本机可以显示,其它机器不可以看到页面
    我对asp.net并行请求数量的理解
    分布式缓存Memcached
    任意两个对象赋值,用Spring.Objects.ObjectWrapper效率比直接反射还慢?
    在Linux(RHEL5.5)里用mono2.8.2和jexus4.1运行.net3.5下的MVC2.0过程记录
    Nhibernate连接oracle数据库,主键ID用序列生成时连接数据库IO次数分析
    Sqlserver别太信任SysComments表中的text字段
    .net4.0线程池取消执行的实际应用
    spring.net、castle windsor、unity实现aop、ioc的方式和简单区别
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/8436657.html
Copyright © 2011-2022 走看看