介绍
OpenEMR是一种开源电子健康记录和医疗实践管理工具。医生和医疗保健机构使用它来管理电子病历、处方、患者人口统计跟踪、日程安排、报告和电子账单。在本文出版时,OpenEMR 支持 30 多种语言。
在本教程中,你将运行LAMP环境(在Ubuntu 20.04服务器上安装OpenEMR大号inux下,一个帕什,中号ySQL,P HP)。
先决条件
- 具有非 root
sudo
用户帐户和基本防火墙的 Ubuntu 20.04 服务器。这可以使用我们的 Ubuntu 20.04 初始服务器设置指南进行配置。 - 完整安装的 LAMP 堆栈,包括 Apache、MySQL 和 PHP,其防火墙设置已调整为允许 HTTP 流量。安装 LAMP 堆栈的说明可以在我们的指南如何在 Ubuntu 20.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈的步骤 1 到 3 中找到。请注意,LAMP 指南的第 4 步到第 6 步是可选的,因为它们用于测试目的,对本教程来说是不必要的。
步骤 1 — 安装额外的 PHP 扩展
在设置 LAMP 堆栈时,需要最少的扩展集才能让 PHP 与 MySQL 通信。OpenEMR 需要两个额外的 PHP 扩展,您需要安装它们才能正常工作。使用apt
更新服务器的软件包列表以及安装php-xml
和 php-mbstring
扩展:
- sudo apt update
- sudo apt install php-xml php-mbstring
安装这两个扩展后,您需要重新加载 Apache Web 服务器以使更改生效:
- sudo systemctl reload apache2
当您的网络服务器重新加载时,您应该准备好继续下一步。
步骤 2 — 为 OpenEMR 创建 MySQL 数据库
您现在将在 MySQL 中为 OpenEMR 创建一个数据库。首先,以数据库root用户登录MySQL :
- sudo mysql
以数据库 root用户身份登录 MySQL 后,创建一个openemr
使用以下命令命名的数据库:
- CREATE DATABASE openemr;
接下来,创建一个新用户并通过用PASSWORD
您选择的强密码替换以下密码来为他们分配密码:
- CREATE USER 'openemr_user'@'localhost' IDENTIFIED BY 'PASSWORD';
接下来,授予新用户对openemr
数据库的权限:
- GRANT ALL PRIVILEGES ON openemr.* TO 'openemr_user'@'localhost';
要启用这些更改,请输入以下命令:
- FLUSH PRIVILEGES;
刷新权限后,您现在可以退出 MySQL:
- exit
您现在已准备好进行下一步。
第 3 步 – 为 OpenEMR 配置 PHP
在此步骤中,您将php.ini
按照 OpenEMR 文档的建议对文件进行一些更改。如果您在全新的 Ubuntu 20.04 服务器中遵循了所有先决条件,则 php.ini
适用于您的 Apache Web 服务器的/etc/php/7.4/apache2/php.ini
. 如果您有不同的 PHP 版本,此路径可能略有不同。根据需要进行调整并使用您选择的文本编辑器打开文件。在这里,我们将使用nano
:
- sudo nano /etc/php/7.4/apache2/php.ini
进入php.ini
文件后,您将按照 OpenEMR 的建议更改多个选项的值。如果您使用的是 nano,则可以使用CTRL
+搜索这些选项W
。如果;
您要调整的选项前面有分号,请确保将其删除,因为分号用于注释掉选项。
应更改以下选项的值:
最大输入变量
此选项限制您的服务器可以在单个函数中使用的变量数。OpenEMR 要求此选项具有以下值3000
:
max_input_vars = 3000
最大执行时间
此选项限制脚本在终止之前允许运行的时间量(以秒为单位)。OpenEMR 要求此选项具有以下值60
:
max_execution_time = 60
最大输入时间
此选项限制允许脚本解析输入数据的时间(以秒为单位)。OpenEMR 要求此选项具有值-1
,这意味着max_execution_time
使用 代替:
max_input_time = -1
post_max_size
此选项限制帖子的大小,包括上传的文件。OpenEMR 要求此选项具有以下值30M
:
post_max_size = 30M
内存限制
此选项限制允许脚本分配的内存量。OpenEMR 要求此选项具有以下值256M
:
memory_limit = 256M
mysqli.allow_local infile
此选项允许使用 LOAD DATA 语句访问本地文件。OpenEMR 需要打开此选项:
mysqli.allow_local_infile = On
完成选项调整后,保存并退出文件。如果您正在使用nano
,您可以通过按CTRL
+ X
、Y
和ENTER
来确认。
接下来,您需要重新加载 Apache Web 服务器以使更改生效:
- sudo systemctl reload apache2
当您的网络服务器重新加载时,您应该准备好继续下一步。
第 4 步 – 下载 OpenEMR
在此步骤中,您将下载 OpenEMR 并准备其安装文件。首先,使用命令下载 OpenEMR,该命令wget
从 Internet 检索文件:
- wget https://downloads.sourceforge.net/project/openemr/OpenEMR%20Current/5.0.2.1/openemr-5.0.2.tar.gz
接下来,使用tar
命令提取文件。该xvzf
参数是用来告诉shell解压文件(x
),命名该文件中提取(v
),解压缩文件用gzip
(z
),并使用(在命令中指定的文件f
)。
- tar xvzf openemr*.tar.gz
完成文件提取后,您应该有一个名为openemr-5.0.2.
的目录openemr
使用以下mv
命令更改目录名称:
- mv openemr-5.0.2 openemr
接下来,将目录移动到您的 HTML 目录:
- sudo mv openemr /var/www/html/
您现在需要更改目录的所有权。使用chown
命令和R
标志将所有文件的所有者和关联的组设置openemr
为www-data
:
- sudo chown -R www-data:www-data /var/www/html/openemr
对于安装过程,OpenEMR 还要求您更改sqlconf.php
文件的权限,以便所有用户都可以读写该文件,但不能执行该文件。安装完成后,我们将再次更改这些权限以保护您的设置。可以chmod
使用666
作为参数的命令授予这些权限:
- sudo chmod 666 /var/www/html/openemr/sites/default/sqlconf.php
更改sqlconf.php
文件的权限后,您就可以继续下一步了。
第 4 步 — 安装 OpenEMR
在此步骤中,您将通过 Web 浏览器安装 OpenEMR 并配置 Apache Web 服务器。打开 Web 浏览器并导航到,替换为您服务器的 IP 地址。http://server_ip/openemr
server_ip
如果一切正常,浏览器应显示 OpenEMR 设置页面:
单击Proceed to Step 1
。您现在应该被定向到一个新的 OpenEMR 安装页面,用于安装过程的第 1 步:
在新页面上,选择我已经创建了一个数据库,因为您已经在本教程的第 3 步中创建了一个 OpenEMR 数据库。然后单击继续执行步骤 2。
您的浏览器现在应该显示 OpenEMR 设置的第 2 步:
在MySQL 服务器详细信息部分的登录名和密码字段中,输入您在步骤 3 中选择的用户名和密码。
在 OpenEMR 初始用户详细信息部分,创建初始用户登录名和密码。
如果您想为初始用户启用 2 Factor Authentication,请单击选项Enable 2FA。
然后单击创建数据库和用户。加载下一页可能需要几分钟时间。此页面将验证用户和数据库创建成功:
单击继续执行步骤 4以继续。下一页将确认访问控制列表的创建和配置:
单击继续执行步骤 5以继续。下一页将显示 OpenEMR 所需的 PHP 配置。您当前的配置应该符合他们的要求,因为您已经在步骤 4 中对其进行了调整。
单击继续执行步骤 6以继续。下一页将向您展示如何为 OpenEMR 配置 Apache Web 服务器:
要为 OpenEMR 配置 Apache Web 服务器,请创建一个名为openemr.conf
. 您可以使用nano
编辑器从终端执行此操作:
- sudo nano /etc/apache2/sites-available/openemr.conf
在文件中,粘贴以下指令:
<Directory "/var/www/html/openemr">
AllowOverride FileInfo
Require all granted
</Directory>
<Directory "/var/www/html/openemr/sites">
AllowOverride None
</Directory>
<Directory "/var/www/html/openemr/sites/*/documents">
Require all denied
</Directory>
保存并关闭文件。然后,重新启动 Apache 以加载更改:
- sudo systemctl restart apache2
接下来,返回浏览器并单击Proceed to Select a Theme。在下一页上,选择一个主题并单击Proceed to Final Step
:
您现在应该被定向到最终设置页面,其中包含有关您的安装的确认详细信息:
此页面还将提供初始用户的用户名和密码详细信息。在离开页面之前,请确保提供这些详细信息。准备好后,单击底部的链接开始使用 OpenEMR。
将弹出一个窗口,询问您是否要注册您的安装。做出选择后,使用您的初始用户凭据登录 OpenEMR。登录后,您的浏览器应显示 OpenEMR 仪表板:
在继续之前,请确保按照下一步中的指示更改文件权限。
步骤 5 — 更改文件系统权限
为了提高系统的安全性,OpenEMR 建议用户在安装后更改多个文件的权限。在此步骤中,您将更改这些文件的权限以进一步限制读写访问。
首先,您将更改sqlconf.php
在步骤 3 中修改其权限的文件的权限,以授予所有者读写访问权限和组成员只读访问权限。
可以使用以下chmod
命令644
作为参数授予这些权限:
- sudo chmod 644 openemr/library/sqlconf.php
接下来,您将更改其他几个文件的权限,以仅允许文件所有者读取和写入文件。
通过对以下文件使用chmod
带有600
参数的命令授予这些权限:
- sudo chmod 600 openemr/acl_setup.php
- sudo chmod 600 openemr/acl_upgrade.php
- sudo chmod 600 openemr/setup.php
- sudo chmod 600 openemr/sql_upgrade.php
- sudo chmod 600 openemr/gacl/setup.php
- sudo chmod 600 openemr/ippf_upgrade.php
您的文件现在应该具有更安全的权限设置。
除了更改文件权限之外,OpenEMR 的文档还强烈建议采取额外的步骤来保护 OpenEMR 的每个组件。这些步骤包括在安装后删除 OpenEMR 中的脚本、强制执行强密码、启用仅限 HTTPS 的流量、调整防火墙和强化 Apache。请务必访问 OpenEMR 的安全文档,以了解有关如何最好地保护 OpenEMR 安装的更多信息。
结论
您现在已经使用 Apache、MySQL 和 PHP 在 Ubuntu 20.04 服务器上安装了 OpenEMR。有关将域名指向您的服务器的说明,您可以按照我们的指南如何从通用域名注册商指向 DigitalOcean 域名服务器。对于 OpenEMR 文档,您可以访问OpenEMR 维基页面。