在 Linux 上使用 MySQL / MariaDB 安装 MirthConnect 的 8 个步骤

举报
Tiamo_T 发表于 2021/11/25 20:32:19 2021/11/25
【摘要】 在本教程中,我们将解释如何安装 MirthConnect 开源软件,并将其配置为与 Linux 平台上的 MySQL 数据库通信。

Mirth Connect 是一个开源集成引擎,主要用于医疗保健领域。

这支持各种医疗保健标准(HL7、XML、EDI/X12、DICOM 等),这将帮助企业集成不同的系统,并让它们以通用语言相互交流。

MirthConnect 接口引擎还支持各种标准协议(例如,TCP、HTTP、JDBS、SFTP 等)来连接两个系统。

默认情况下,当您安装 mirthconnect 时,它使用 Apache Derby 作为存储引擎。但是,它支持几乎所有流行的数据库,包括 MySQL / MariaDB、PostgreSQL、Oracle 和 SQL Server。

在本教程中,我们将解释如何安装 MirthConnect 开源软件,并将其配置为与 Linux 平台上的 MySQL 数据库通信。

开源版本支持以下连接器和格式:

  • 连接器:TCP、MLLP、HTTP、FTP、DICOM、SOAP、SQL、JMS、文件系统、HTTPS、POP3、IMAP、ASTM、RS232
  • 格式:XML、HL7、DICOM、NCDPP、X12、分隔文本、原始二进制

最近 NextGen 收购了 mirthconnect。商业版本支持一些额外的格式,如 CCD、C-CDA、ASTM。此外,商业版还有一些高级的企业扩展。例如:SSL 管理器、基于角色的访问控制、高级警报、通道历史、LDAP 身份验证、HL7 消息生成器。

在本教程中,我们将解释如何在 MySQL 数据库上安装 Mirth Connect 的开源版本。

第 1 步:先决条件:安装 Java JDK

确保您的系统上安装了 JDK 1.8,如下所示。

# java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

如果没有安装JDK,使用yum安装,如下图:

yum -y install java-1.8.0-openjdk

您应该会看到系统上安装了以下与 JDK 相关的软件包:

# rpm -qa | grep -i jdk
java-1.8.0-openjdk-headless-1.8.0.102-1.b14.el7_2.x86_64
java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64
java-1.8.0-openjdk-devel-1.8.0.102-1.b14.el7_2.x86_64

第 2 步:安装 MySQL/MariaDB

如前所述,默认情况下,mirthconnect 带有 Apache Derby 作为默认数据库。

但是,在本教程中,我们将安装和配置 MySQL / MariaDB 数据库,并将其用于 mirthconnect。

安装 MySQL / MariaDB 服务器,如下所示。为此,您应该安装以下两个 mariadb 包。

yum install mariadb

yum install mariadb-server

注意:如果您使用的是较旧版本的 Linux 发行版,其中 yum 存储库中没有 mariadb-server 包,请安装 mysql-server 包,如下所示。

yum install mysql-server

安装 MariaDB 后,您将在系统上看到以下软件包:

# rpm -qa | grep -i maria
mariadb-5.5.50-1.el7_2.x86_64
mariadb-server-5.5.50-1.el7_2.x86_64
mariadb-libs-5.5.50-1.el7_2.x86_64

安装 mariadb 后,启动它并确保它正常运行。

systemctl start mariadb

systemctl status mariadb

您可能还想运行以下命令来为您的 MySQL/MariaDB 安装设置一些安全设置。这还将为您的数据库分配一个 root 密码。

/usr/bin/mysql_secure_installation

步骤 3:为 MirthConnect 创建 MySQL 数据库

让我们创建一个名为“thegeekstuff”的数据库,mirthconnect 安装将使用该数据库。

为此,使用 mysql 命令和 mysql 的 root 用户名和密码,如下所示。

# mysql -u root -pMySQLRootPwd
MariaDB [(none)]> create database tiamo;

创建数据库后,创建一个名为“thegeekstuff”的用户,并为此分配一个密码。此帐户将在 mirthconnect 配置中用于与数据库对话。

MariaDB [(none)]> grant all on tiamo.* to 'tiamo'@'localhost' identified by 'DBSecretPwd!' with grant option;

MariaDB [(none)]> flush privileges;

在此阶段,您不会在此数据库中看到任何与 mirthconnnect 相关的表。但是,一旦安装了 mirthconnect,您就会在此处看到多个表。

# mysql -u root -pMySQLRootPwd
MariaDB [(none)]> use sysadmin;
Database changed
MariaDB [sysadmin]> show tables;
Empty set (0.00 sec)

第 4 步:下载并安装 Mirth Connect

这里下载 mirthconnect 。

您可以使用以下任何一种格式安装 mirthconnect:1) RPM 2) tar.gz 2) 安装程序

在本教程中,我们将使用 mirthconnect 安装的 tar.gz 格式。

首先,获取 tar.gz 的下载链接,然后使用 wget 命令将其发送到您的服务器,如下所示。

cd ~
wget http://downloads.mirthcorp.com/connect/3.4.2.8129.b167/mirthconnect-3.4.2.8129.b167-unix.tar.gz

下载后,解压,如下图所示。

tar xvfz mirthconnect-3.4.2.8129.b167-unix.tar.gz

默认情况下,这将在您的当前目录下创建“Mirth Connect”目录。

为了更好的管理这个,把它移到/opt目录下,同时去掉名字中的“空格”,全部小写,这样在Linux环境下更容易管理。

在本例中,我们将“Mirth Connect”重命名为“mirthconnect”,同时将其移动到 /opt 目录,如下所示。

mv Mirth\ Connect/ /opt/mirthconnect

注意:如果您想从 RPM 文件安装它,请执行以下操作:

cd ~
wget http://downloads.mirthcorp.com/connect/3.4.2.8129.b167/mirthconnect-3.4.2.8129.b167-linux.rpm

使用 rpm 命令安装 RPM mirthconnect 文件,如下所示:

rpm -ivh mirthconnect-3.4.2.8129.b167-linux.rpm

步骤 5:修改 MirthConnect 配置文件

主要的 mirthconnect 属性文件是位于 /opt/mirthconnect/conf 目录下的 mirth.properties。

vi /opt/mirthconnect/conf/mirth.properties

在该文件中,修改以下参数:

http.port = 8080
https.port = 8443
database = mysql
database.url = jdbc:mysql://localhost:3306/tiamo
database.username = tiamo
database.password = DBSecretPwd!

在上面:

  • http.port – 8080 是默认的 mirthconnect HTTP 端口。您可以更改此值以匹配您的环境。
  • https.port – 8443 是默认的 mirthconnect HTTP 端口。您可以更改此值以匹配您的环境。
  • 数据库 - 默认情况下,这会说 derby。将此值更改为 mysql,如上所示。
  • database.url – 由于我们使用的是 MySQL 数据库,因此将此 database.url 设置为上面显示的值。默认情况下,这将指向默认的 derby 数据库。更改此值。确保在 url 的末尾,它具有您之前创建的 mysql 数据库名称。如果您从配置文件注释行复制/粘贴此值,则此处将包含 mirthdb。您应该将其更改为您的数据库名称。
  • database.username – 将其设置为我们之前创建的 mysql 用户。
  • database.password – 将此值设置为您的 mysql 用户名的相应密码。

第 6 步:启动 MirthConnect

现在,使用 mcservice 命令将 mirthconnect 作为服务启动。

# /opt/mirthconnect/mcservice start
Starting mcservice

# /opt/mirthconnect/mcservice status
The daemon is running.

您还可以执行 ps 并检查在后台运行的“mcservice”进程,如下所示。

# ps -ef | grep mcservice
root     26665     1  0 07:41 pts/2    00:01:57 /usr/bin/java -Dinstall4j.jvmDir=/usr 
  -Dexe4j.moduleName=/opt/mirthconnect/mcservice -Dinstall4j.launcherId=144 
  -Dinstall4j.swt=false -server -Xmx256m -Djava.awt.headless=true -Di4j.vmov=true 
  -Di4j.vmov=true -Di4j.vpt=true 
  -classpath /opt/mirthconnect/.install4j/i4jruntime.jar:/opt/mirthconnect/mirth-server-launcher.jar 
  com.install4j.runtime.launcher.Launcher start 
  com.mirth.connect.server.launcher.MirthLauncher false false   
  true true false  true true 0 0  20 20 Arial 0,0,0 8 500 
  version 3.4.2.8129.b167 20 40 Arial 0,0,0 8 500 -1

注意:当您第一次启动 mirthconnect 时,它将连接到 MySQL 数据库,并创建所有需要的表。

现在,如果您连接到 mysql,您将看到它创建了 mirthconnect 正常运行所需的 13 个新表。

MariaDB [tiamo]> show tables;
+-----------------------+
| Tables_in_thegeekstuff|
+-----------------------+
| ALERT                 |
| CHANNEL               |
| CHANNEL_GROUP         |
| CODE_TEMPLATE         |
| CODE_TEMPLATE_LIBRARY |
| CONFIGURATION         |
| D_CHANNELS            |
| EVENT                 |
| PERSON                |
| PERSON_PASSWORD       |
| PERSON_PREFERENCE     |
| SCHEMA_INFO           |
| SCRIPT                |
+-----------------------+
13 rows in set (0.00 sec)

第 7 步:将 Mirthconnect 添加到 Systemd

如果您运行的是 CentOS 7(或 RedHat),那么您可能需要将 mirthconnect 添加到 systemd 启动中。

为此,创建以下 mirthconnect.service 文件

# vi /usr/lib/systemd/system/mirthconnect.service
[Unit]
Description=MirthConnect
After=network.target

[Service]
Type=forking

User=root
Group=root
ExecStart=/opt/mirthconnect/mcservice start
ExecStop=/opt/mirthconnect/mcservice stop
ExecRestart=/opt/mirthconnect/mcservice	restart

TimeoutSec=60

[Install]
WantedBy=multi-user.target

注意:如果您已将 mirthconnect 安装为 root 以外的其他用户,则相应地更改上述文件中的用户和组。

之后,您可以使用 systemctl 启动和停止 mirthconnect,如下所示。

systemctl start mirthconnect

systemctl stop mirthconnect

要使其在服务器重新启动时自动启动,请启用此 systemd 服务器以进行启动,如下所示。

systemctl enable mirthconnect

步骤 8:登录 MirthConnect 管理员

您可以使用以下 HTTP 或 HTTPS 网址:

  • http://{您的 IP 地址}:8080
  • https://{您的 IP 地址}:8443

Mirth Connect UI 将有以下两个选项:

Mirth Connect 登录页面

  1. MirthConnect Adminstartor – 这将使用 java webstart 启动管理员 UI。
  2. Web 仪表板登录 - 如果您使用 http 启动 URL,这将显示“访问安全站点”按钮。单击它以仅使用浏览器中的 mirthconnect。如果您使用 HTTPS url,这将在此处显示用户名和密码文本框。

默认的 mirthconnect 用户名和密码是 admin/admin。

以下是 Mirth Connect Web Dashboard 的屏幕截图:

MirthConnect 网络仪表板

当您单击“启动 mirthconnect 管理员”webstart 按钮时,这会将名为“webstart.jnlp”的文件下载到您的系统。双击它以启动 webstart。

第一次,这将启动一个对话框,上面写着“正在验证应用程序”。这还将通过显示正在启动的 mirthconnect 位置的完整 URL 来显示它正在启动哪个 mirthconnect。

接下来,Java 将显示一条警告消息并询问您“是否要运行此应用程序”。点击“运行”。这将最终显示以下 mirthconnect 登录框。默认情况下,服务器列将填充正确的 URL。如果您在此处没有看到正确的值,请输入:https://{your-ip-address}:8443

输入用户名和密码。第一次做的时候,用户名和密码都是admin。

第一次登录时,这将强制您更改管理员密码。

最后,这将显示 Mirthconnect 管理员仪表板,如下所示,从这里您可以通过创建和管理频道来管理 mirthconnect。

MirthConnect Java 仪表板

Mirth Connect 启动问题故障排除

如果 mirthconect 无法正常启动,请检查以下 mirth 日志文件是否有任何问题。

tail -100 /opt/mirthconnect/logs/mirth.log

此外,出于调试目的,您可能需要暂时禁用 firewalld 和 selinux,以确保它们不会出于某种原因阻止 mirthconnect。

要停止 firewalld,请执行以下操作:

systemctl stop firewalld

如下图暂时禁用 SELinux

setenforce 0

之后,再次启动mirthconnect,看看它是否正常启动。

Mirth Connect 目录结构

默认情况下,在 /opt/mirthconnect 的安装目录下,您将看到以下目录:

  • conf - 所有 mirthconnect 配置文件都将在这里
  • webapps – 这是 mirthconnect websserver 公开以托管 webapps 的目录
  • server-lib – 所有 mirthconnect 服务器库文件都在这里
  • public_html – mirthconnect 网络服务器公开的用于托管 html 文件的目录
  • manager-lib – 此目录将保存 Mirthconnect 服务器管理器使用的所有库
  • 扩展 – 插件和连接器使用的所有库和元数据都在这里
  • docs – 文档目录
  • custom-lib——在这个目录中,顾名思义,你可以放置你所有的自定义库文件。这些库将在启动期间加载到 mirthconnect 服务器。
  • cli-lib – Mirthconnect 命令行接口库将在此目录中
  • client-lib – 这将包含 mirthconnect 管理员库

除了上述目录,您还将看到以下文件:

  • mcservice.vmoptions 和 mcserver.vmoptions – Mirthconnect 的 Java 内存设置
  • mcservice - 用于启动、停止和查看 Mirth Connect Service Deamon 的状态
  • mcserver – 如果您不使用服务选项,请使用此选项以非服务模式启动 Mirth Connect。
  • mcmanager – 这是 mirthconnect 服务器管理器
  • mccommand – Mirthconnect 命令行实用程序
  • mirth-server-launcher.jar, mirth-manager-launcher.jar, mirth-cli-launcher.jar – mirth 连接服务器、管理器和 cli 分别使用的 Jar 文件
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200