【DCM】Dcm4chee-arc-light 5.24.2在CentOS7.9上的安装

1 篇文章 0 订阅
1 篇文章 0 订阅

本文主要参考:

1、DCM4CHEE Archive light 5.10在CentOS6.8上的安装
2、Install DCM4CHEE Archive light 5.x
列出了一些遇到的问题以及本人的解决方法。
同时提醒大家,由于不同小版本下还是有一些差异的,尽量参考【2】官方文档,步骤很详细!

一、安装环境

1、JDK11
2、Mysql8.0.27
3、OpenLDAP-2.6.0
4、ApacheDirectoryStudio-2.0.0-M17
5、wildfly-24.0.1.Final
以上工具的下载地址都可在官方文档中找到
p.s. 本人全程使用root

二、Dcm4chee包

根据数据库类型选择对应的包
本人使用的是dcm4chee-arc-5.24.2-mysql.zip
链接:dcm4chee-arc-5.24.2-mysql.zip

三、JDK安装

注意:选用JDK1.8以上,具体的来说是JDK11以上,因为后续的ApacheDirectoryStudio-2.0.0-M17至少需要JDK11。
本人选用的是Oracle JDK11
更新JDK版本,参考博客 xxx

四、Mysql8安装和配置

参考博客:linux源码安装Mysql8.0版本(亲测成功)
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

1、 <database-name>本人设置为dcm4chee;
2、 同时这里出现了**grant identified by…**的问题,参考博客MySQL8+使用 grant identified by…

2、创建表和索引:

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

p.s. 需要设置$DCM4CHEE_ARC环境变量,为dcm4chee包的路径,如:
/usr/local/dcm4chee-source/dcm4chee-arc-5.24.2-mysql
注意:最好将msyql服务设为开机自启,若忘记开启mysql服务,可能在后续部署服务时会出现Caused by: org.hibernate.service.spi.serviceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]的错误。

五、OpenLDAP安装和配置

1、安装

1、 安装Berkeley DB 18.1.40(伯克利大学嵌入式数据库方案, openldap用它作为存储方案)

yum install gcc
wget http://download.oracle.com/berkeley-db/db-18.1.40.tar.gz
tar zxvf berkeley-db-18.1.40.tar.gz
cd db-18.1.40/build_unix/
mkdir /usr/local/berkeleyDB
../dist/configure --prefix=/usr/local/berkeleyDB
make
make install
cp /usr/local/berkeleyDB/include/* /usr/include/
cp /usr/local/berkeleyDB/lib/* /usr/lib/

期间也遇到了一些问题:
如:

cp: cannot stat 'bdb-sql': No such file or directory
cp: cannot stat 'gsg_db_server': No such file or directory
make: **[install_docs] Error 1

解决方案参考:
Berkeley DB: “make install” fails on Linux

其中讲了三种方法:

1、不使用18.1.40版本的berkeleydb
2、自己 mkdir db-18.1.40/docs/bdb-sql db-18.1.40/docs/gsg_db_server本人采用第二种方法,注意路径
3、configure 后加参数去掉这两个

2、修改环境变量/etc/profile

CPPFLAGS="-I/usr/local/berkeleyDB/include"
export CPPFLAGS
LDFLAGS="-L/usr/local/lib -L/usr/local/berkeleyDB/lib -R/usr/local/berkeleyDB/lib"
export LDFLAGS
LD_LIBRARY_PATH="/usr/local/berkeleyDB/lib"
export LD_LIBRARY_PATH

3、安装OpenLDAP

yum install tcp_wrappers
yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64
wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.6.0.tgz
tar -xzvf  openldap-2.6.0.tgz
cd openldap-2.6.0/
./configure --enable-bdb --libdir=/usr/local/BerkeleyDB/lib --includedir=/usr/local/BerkeleyDB/include  --prefix=/usr/local/openldap --sysconfdir=/etc/openldap 
make depend
make
make install

期间遇到了一些问题:
configure出错

checking for openssl/ssl.h..- yes
configure: error: in /usr/local/dcm4chee-source/openldap-2.6.0':
configure: error: OpenssL 1.1.1 or newer required
See `config.log' for more details

解决方式—升级openssl
参考:
Openssl升级操作

wget http://www.openssl.org/source/openssl-1.1.1b.tar.gz --no-check-certificate
...

2、配置

官方手册中提供了两种方式进行配置,本人使用通过slapd.conf文件进行配置的方法。

1、将 OpenLDAP 的 LDAP 架构文件从 DCM4CHEE 存档分发复制到 OpenLDAP 架构配置目录:

cp $DCM4CHEE_ARC/ldap/schema/* /etc/openldap/schema/

2、在slapd.conf配置文件中添加引用(找到对应位置进行修改

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/dicom.schema
include         /etc/openldap/schema/dcm4che.schema
include         /etc/openldap/schema/dcm4chee-archive.schema
include         /etc/openldap/schema/dcm4chee-archive-ui.schema

3、修改slapd.conf文件中的Directory Base DN和Root User DN

suffix          "dc=dcm4che,dc=org"
rootdn          "cn=admin,dc=dcm4che,dc=org"
rootpw          secret

3、启动

参考博客

cp /etc/openldap/openldap/DB_CONFIG.example /usr/local/openldap/var/openldap-data/DB_CONFIG

但并没有找到DB_CONFIG.example,所以就find / -name DB_CONFIG,在此路径/usr/local/dcm4chee-source/db-18.1.40/test/xa/src5/下找到了一个,所以本人使用:

cp /usr/local/dcm4chee-source/db-18.1.40/test/xa/src5/DB_CONFIG /usr/local/openldap/var/openldap-data/DB_CONFIG
/usr/local/openldap/libexec/slapd -d256 -f /etc/openldap/openldap/slapd.conf

4、设置默认文件

参考博客#设置默认文件的操作

配置期间,也遇到了不少问题。
起初使用的jdk1.8,但Apache Directory Studio 2.0.0-M17,最低需要JDK11,配置完环境变量后,在图形化界面运行此软件,发现依然报错No Java virtual machine was found after searching the following locations:/root/Downloads/ApacheDirectoryStudio/jre/bin/java java in your current PATH。又参考Apache Directory Studio- JRE Issue中提供方法:可以手动把java/jre中的文件拷贝到/root/Downloads/ApacheDirectoryStudio/中。
同时,在手动import ldif文件时,也有一些小问题,不过还算好解决。
p.s. 需要手动生成jre,注意目录
参考linux下配置jdk11以及生成jre,jdk9以上自动生成jre解决

六、WildFly安装和配置

1、安装
安装后需要配置环境变量,后续大量使用,可在/etc/profile中添加

WILDFLY_HOME=/home/usertest/wildfly-24.0.1.Final(解压文件的目录)
export WILDFLY_HOME

2、拷贝配置文件

cp -r $DCM4CHEE_ARC/configuration $WILDFLY_HOME/standalone

注意:除了 LDAP 连接配置之外dcm4chee-arc/ldap.properties,TLS 连接中使用的私钥keystores/key.p12 和可信 CA 证书keystores/cacerts.p12不存储在 LDAP 中。也需要拷贝其中,否则后续会出错!!=.=!

3、添加dcm4chee-arc 配置文件
根据官方手册的说法,5.24.0后的版本可以使用下面的命令

cd $WILDFLY_HOME/standalone/configuration/
cp standalone.xml dcm4chee-arc.xml

4、安装包含 DCM4CHE 库、Keycloak 管理客户端和 Apache commons 的 JBoss 模块。

cd  $WILDFLY_HOME
unzip $DCM4CHEE_ARC/jboss-modules/dcm4che-jboss-modules-dcm4chee-arc-light-5.10.0.zip 

5、将 JAI Image IO 1.2 库安装为 JBoss 模块(压缩/解压所需,在 Windows 64 位和 Mac OS X 上由于缺少这些平台的本机组件而无法运行):

unzip $DCM4CHEE_ARC/jboss-modules/jai_imageio-jboss-modules-1.2-pre-dr-b04.zip

6、将 jclouds 2.2.1 库安装为 JBoss 模块:

unzip $DCM4CHEE_ARC/jboss-modules/jclouds-jboss-modules-2.4.0-noguava.zip

7、安装 ecs-object-client 3.0.0 库作为 JBoss 模块:

unzip $DCM4CHEE_ARC/jboss-modules/ecs-object-client-jboss-modules-3.0.0.zip

8、从 5.22.4版本开始,从 Keycloak下载用于 Wildfly 的客户端适配器 并将其解压缩到WILDFLY_HOME.。

cd  $WILDFLY_HOME
unzip $Downloads/keycloak-wildfly-adapter-dist-15.0.0.zip

本条是需要特别注意的,这个也是在撰写本博客时才发现的!=.=!
由于版本不同,和DCM4CHEE Archive light 5.10在CentOS6.8上的安装操作不同,也疏忽了这一条,导致最后在部署ear时,出现了大量的org.jboss.modules.ModuleNotFoundException,百思不得其解,最后通过手动下载缺失的jar包,添加模块,才得以侥幸解决,不过也花费了大量时间。

9、数据库安装JDBC Driver。

cd $WILDFLY_HOME
unzip $DCM4CHEE_ARC/jboss-modules/jdbc-jboss-modules-mysql-8.0.25.zip

同时需要手动创建

mkdir $DCM4CHEE_ARC/modules/com/mysql/main/

并在其中添加mysql-connector-java-8.0.27.jar,
同时参考文章xxx,添加module.xml

10、启动wildfly

$WILDFLY_HOME/bin/standalone.sh -c dcm4chee-arc.xml

11、打开一个新的控制台窗口,使用JBoss CLI 将 JDBC Driver模块添加到服务器

$WILDFLY_HOME/bin/jboss-cli.sh -c 

参考文章:
DCM4CHEE Archive light 5.10在CentOS6.8上的安装

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

其中<driver-name>JDBC驱动可以任意选择,<module-name>必须与JDBC驱动的模块定义文件module.xml中定义的名称相匹配。

我的配置

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

12、java:/PacsDS使用 JBoss CLI创建并启用绑定到 JNDI 名称的新数据源:

[standalone@localhost:9990 /] data-source add --name=PacsDS \
>     --driver-name=<driver-name> \
>     --connection-url=<jdbc-url> \
>     --jndi-name=java:/PacsDS \
>     --user-name=<user-name> \
>     --password=<user-password>

其中是特定于JDBC 驱动程序的
MySQL: jdbc:mysql://<host>:3306/<database-name>?serverTimezone=<timezone>

我的配置

[standalone@localhost:9990 /] data-source add --name=PacsDS \
>     --driver-name=mysql \
>     --connection-url= jdbc:mysql://localhost:3306/DCM4CHEE?serverTimezone=Asia/Shanghai \
>     --jndi-name=java:/PacsDS \
>     --user-name=root \
>     --password=root

同时,$DCM4CHEE_ARC/cli/add-data-source-<db>.cli提供了一个 CLI 脚本,它只是应用命令来添加 JDBC 驱动程序和创建数据源。替换<host>, <database-name>, <timezone> (可以从系统的时区文件中获取该值),<user-name><user-password>在执行之前替换为它们的实际值.

> $WILDFLY_HOME/bin/jboss-cli.sh -c --file=$DCM4CHEE_ARC/cli/add-data-source-<db>.cli

13、创建 JMS 队列
参考DCM4CHEE Archive light 5.10在CentOS6.8上的安装,发现和官方手册Install DCM4CHEE Archive light 5.x的不太一致,不过我还是选用了前者的配置。

jms-queue add --queue-address=StgCmtSCP --entries=java:/jms/queue/StgCmtSCP
jms-queue add --queue-address=StgCmtSCU --entries=java:/jms/queue/StgCmtSCU
jms-queue add --queue-address=MPPSSCU --entries=java:/jms/queue/MPPSSCU
jms-queue add --queue-address=IANSCU --entries=java:/jms/queue/IANSCU
jms-queue add --queue-address=Export1 --entries=java:/jms/queue/Export1
jms-queue add --queue-address=Export2 --entries=java:/jms/queue/Export2
jms-queue add --queue-address=Export3 --entries=java:/jms/queue/Export3
jms-queue add --queue-address=HL7Send --entries=java:/jms/queue/HL7Send
jms-queue add --queue-address=RSClient --entries=java:/jms/queue/RSClient

以下的本人没添加

jms-queue add --queue-address=DiffTasks --entries=java:/jms/queue/DiffTasks
jms-queue add --queue-address=Export4 --entries=java:/jms/queue/Export4
jms-queue add --queue-address=Export5 --entries=java:/jms/queue/Export5
jms-queue add --queue-address=Export6 --entries=java:/jms/queue/Export6
jms-queue add --queue-address=Export7 --entries=java:/jms/queue/Export7
jms-queue add --queue-address=Export8 --entries=java:/jms/queue/Export8
jms-queue add --queue-address=Export9 --entries=java:/jms/queue/Export9
jms-queue add --queue-address=Export10 --entries=java:/jms/queue/Export10
jms-queue add --queue-address=StgVerTasks --entries=java:/jms/queue/StgVerTasks
jms-queue add --queue-address=Rejection --entries=java:/jms/queue/Rejection

同时官方手册上还提供了使用cli脚本执行的,在$DCM4CHEE_ARC/cli/adjust-managed-executor.cli,不过我使用的是上述命令:

$WILDFLY_HOME/bin/jboss-cli.sh -c --file=$DCM4CHEE_ARC/cli/adjust-managed-executor.cli

14、默认情况下,DCM4CHEE Archive 5.x 将假定dcm4chee-arc为其设备名称,用于在 LDAP 服务器中查找其配置。可以dcm4chee-arc.DeviceName使用 JBoss CLI通过系统属性指定不同的设备名称(可选):

[standalone@localhost:9990 /] /system-property=dcm4chee-arc.DeviceName:add(value=<device-name>)

16、默认情况下,Wildfly 支持的最大 POST 请求大小仅为 10MB,您可以将其更改为更高的值,如下所示(可选):

[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-post-size,value=10000000000) 
[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=max-post-size,value=10000000000) 

17.重新加载使更改生效

[standalone@localhost:9990 /] :reload

18、部署Dcm4chee

此处有些不同
5.23.2 版本之前,使用 JBoss CLI 部署 DCM4CHEE Archive 5.x,如:

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

5.23.3后的版本,UI和后端是相互独立的,需要分别部署。

[standalone@localhost:9990 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ear-5.24.2-mysql.ear
[standalone@localhost:9990 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ui2-5.24.2.war

19、验证是否正常访问
访问http://localhost:8080/dcm4chee-arc/ui2,能访问说明至少ui部署成功,进行一些查询操作如果错误,证明基本部署成功!

20、可以随时使用 JBoss CLI 取消部署 DCM4CHEE Archive Backend 和 UI,例如:

[standalone@localhost:9990 /] undeploy dcm4chee-arc-ear-5.x-SNAPSHOT-psql.ear
[standalone@localhost:9990 /] undeploy dcm4chee-arc-ui2-5.x-SNAPSHOT.war

也可在Web端进行操作,对了在开启Wildfly后可能需要设置账号密码,不过也都简单。

21、上传一些dicom图片进行测试
使用storescu进行上传操作,在Web可正常查询,ok!

再次声明,本博客主要参考
1、DCM4CHEE Archive light 5.10在CentOS6.8上的安装
2、Install DCM4CHEE Archive light 5.x
记录了环境搭建过程中的一些问题以及解决方法,可能会有疏漏,希望能和大家多多交流!
同时,建议大家尽量多多参阅官方文档,也就是Install DCM4CHEE Archive light 5.x
发现好几个大坑都在官方文档上写得明明白白的=.=!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值