介绍
OpenEMR是一个开源的电子健康记录和医疗实践管理工具,由医生和医疗机构用于管理电子医疗记录,处方,患者人口跟踪,日程安排,报告和电子发票。
在本教程中,您将安装OpenEMR在运行LAMP环境的Ubuntu 20.04服务器上(L inux, ** A** pache, ** M** ySQL, ** P** HP)。
前提条件
- Ubuntu 20.04 服务器具有非 root
sudo
启用的用户帐户和基本防火墙,可以使用我们的 Ubuntu 20.04 初始服务器安装指南进行配置。 - 一个完全安装的 LAMP 堆栈,包括 Apache, MySQL 和 PHP,防火墙设置调整以允许 HTTP 流量。 安装 LAMP 堆栈的说明可以在我们的指南中找到步骤 1 到 3 如何在 Ubuntu 20.04 上安装 Linux, Apache, MySQL, PHP (LAMP) 堆栈。 请注意,LAMP 指南的步骤 4 到 6 是可选的,因为它们是用于测试目的而不必要的。
步骤 1 – 安装额外的 PHP 扩展
在设置我们的LAMP堆栈时,需要最少的一组扩展来让PHP与MySQL进行通信。OpenEMR需要两个额外的PHP扩展,您将需要安装它才能正常工作。使用apt
来更新您的服务器的包列表并安装php-xml
和php-mbstring
扩展:
1sudo apt update
2sudo apt install php-xml php-mbstring
安装两种扩展后,您需要重新加载Apache Web 服务器,以便更改生效:
1sudo systemctl reload apache2
当您的 Web 服务器重新加载时,您应该准备好进入下一步。
步骤 2:为 OpenEMR 创建 MySQL 数据库
您现在将创建一个数据库在MySQL for OpenEMR. 首先,作为数据库 root**用户登录MySQL:
1sudo mysql
一旦您登录 MySQL 作为数据库 root 用户,请使用以下命令创建名为openemr 的数据库:
1CREATE DATABASE openemr;
接下来,创建一个新的用户,并为他们分配一个密码,将下面的PASSWORD
代替为您选择的强有力的密码:
1CREATE USER 'openemr_user'@'localhost' IDENTIFIED BY 'PASSWORD';
接下来,向openemr
数据库授予新用户权限:
1GRANT ALL PRIVILEGES ON openemr.* TO 'openemr_user'@'localhost';
要启用这些更改,请输入以下命令:
1FLUSH PRIVILEGES;
一旦您清除了权限,您现在可以退出MySQL:
1exit
现在你已经准备好迈向下一步了。
步骤 3:为 OpenEMR 配置 PHP
在此步骤中,您将根据OpenEMR文档的建议对php.ini文件进行一些更改. 如果您遵循了新Ubuntu 20.04服务器中的所有前提条件,适用于您的Apache Web服务器的php.ini应该位于/etc/php/7.4/apache2/php.ini
。如果您有不同的PHP版本,这个路径可能会略有不同。根据需要调整并使用您选择的文本编辑器打开文件。
1sudo nano /etc/php/7.4/apache2/php.ini
一旦你在php.ini
文件中,你会根据OpenEMR的建议更改几个选项的值. 如果你正在使用nano,你可以使用CTRL
+W
来搜索这些选项。
需要更改以下选项的值:
马克思 - 输入
此选项限制了服务器在一个函数中可以使用的变量数量。OpenEMR 要求此选项具有3000
值:
1[label /etc/php/7.4/apache2/php.ini]
2max_input_vars = 3000
max_执行时间
此选项限制了脚本在终止之前允许运行的时间(秒)。OpenEMR要求此选项具有值 `60:
1[label /etc/php/7.4/apache2/php.ini]
2max_execution_time = 60
时间 max_input
此选项限制了脚本允许在秒内分析输入数据的时间。OpenEMR要求此选项具有值 -1
,这意味着代替使用了 max_execution_time
:
1[label /etc/php/7.4/apache2/php.ini]
2max_input_time = -1
标签: max 尺寸
此选项限制了帖子的大小,包括上传的文件。OpenEMR 要求此选项具有30M
的值:
1[label /etc/php/7.4/apache2/php.ini]
2post_max_size = 30M
记忆 - 界限
此选项限制了脚本可分配的内存量。OpenEMR 要求此选项具有 `256M' 的值:
1[label /etc/php/7.4/apache2/php.ini]
2memory_limit = 256M
主页 > 允许_本地 infile
此选项允许访问具有 LOAD DATA 语句的本地文件。OpenEMR 需要启用此选项:
1[label /etc/php/7.4/apache2/php.ini]
2mysqli.allow_local_infile = On
当您完成调整选项时,保存并退出文件. 如果您正在使用nano
,您可以通过按CTRL
+X
,然后按Y
和ENTER
来确认。
接下来,您需要重新加载Apache Web 服务器,以便更改生效:
1sudo systemctl reload apache2
当您的 Web 服务器重新加载时,您应该准备好进入下一步。
第4步:下载OpenEMR
在此步骤中,您将下载OpenEMR并为其安装准备文件。 要开始,请使用命令 wget
下载OpenEMR,该命令从互联网上获取文件:
1wget https://downloads.sourceforge.net/project/openemr/OpenEMR%20Current/5.0.2.1/openemr-5.0.2.tar.gz
然后,使用tar
命令提取文件. 使用xvzf
参数告诉壳提取文件(x
),命名提取的文件(v
),用gzip
解压缩文件(z
),并使用命名中的文件(f
)。
1tar xvzf openemr*.tar.gz
当文件被提取时,你应该有一个名为openemr-5.0.2 的目录 使用mv
命令将目录名称更改为openemr
:
1mv openemr-5.0.2 openemr
接下来,将目录移动到您的HTML目录:
1sudo mv openemr /var/www/html/
现在您需要更改目录的所有权。使用chown
命令和R
旗,将所有文件的所有者和与openemr
相关的组设置为www-data
:
1sudo chown -R www-data:www-data /var/www/html/openemr
对于安装过程,OpenEMR 还要求您更改 sqlconf.php
文件的权限,以便所有用户都可以阅读和写入该文件,但无法执行它. 安装完成后,我们将再次更改这些权限,以确保您的设置。
1sudo chmod 666 /var/www/html/openemr/sites/default/sqlconf.php
在您更改「sqlconf.php」文件的权限后,您已经准备好进入下一步。
步骤 4 – 安装 OpenEMR
在此步骤中,您将通过 Web 浏览器安装 OpenEMR 并配置 Apache Web 服务器. 打开 Web 浏览器并导航到 http://server_ip/openemr
,以您的服务器的 IP 地址代替 server_ip
。
如果一切正常工作,浏览器应该显示 OpenEMR 设置页面:
点击继续到步骤1
。你现在应该被引导到一个新的OpenEMR设置页面为安装过程的步骤1:
在新页面上,选择 我已经创建了一个数据库 ,因为你已经在本教程的第 3 步中创建了一个 OpenEMR 数据库。
您的浏览器现在应该显示 OpenEMR 设置的第 2 步:
In the Login and ** Password** fields in the MySQL Server Details section, enter the username and password you picked in Step 3.
在 OpenEMR 初始用户详细信息部分中,创建初始用户登录名称和密码。
如果您想为初始用户启用 2 Factor Authentication,请单击启用 2FA
选项。
然后点击 Create DB and User. 下一个页面可能需要几分钟才能加载. 此页面将验证用户和数据库的成功创建:
点击 ** 继续到步骤 4** 继续. 下一页将确认创建和配置访问控制列表:
点击 ** 继续到步骤 5** 继续 下一页将向您展示所需的 PHP 配置为 OpenEMR. 您的当前配置应该符合他们的要求,因为您已经在步骤 4 中调整了它们。
下一页将向您展示如何为 OpenEMR 配置您的 Apache Web Server:
要为 OpenEMR 配置 Apache Web Server,请创建一个名为 'openemr.conf' 的新的配置文件. 您可以使用 'nano' 编辑器从终端执行此操作:
1sudo nano /etc/apache2/sites-available/openemr.conf
在文件内部,粘贴以下指令:
1[label /etc/apache2/sites-available/openemr.conf]
2 <Directory "/var/www/html/openemr">
3 AllowOverride FileInfo
4 Require all granted
5 </Directory>
6 <Directory "/var/www/html/openemr/sites">
7 AllowOverride None
8 </Directory>
9 <Directory "/var/www/html/openemr/sites/*/documents">
10 Require all denied
11 </Directory>
保存并关闭文件. 然后重新启动 Apache,以便加载更改:
1sudo systemctl restart apache2
接下来,回到浏览器并点击 继续选择主题 . 在下一页上,选择一个主题,然后点击继续到最后一步
:
您现在应该被引导到最后的设置页面与有关您的安装的确认细节:
此页面还会为您的初始用户提供用户名和密码详细信息. 请确保在离开页面之前有这些详细信息。
會出現一個窗口,問您是否想要註冊您的安裝。 選擇後,使用您的初始用戶認證登入 OpenEMR。 一旦您登入,您的瀏覽器應該顯示 OpenEMR 儀表板:
在继续前,请确保如下步骤所示更改文件权限。
步骤 5 – 更改 FileSystem 权限
为了提高系统的安全性,OpenEMR建议用户在安装后更改多个文件的权限,在此步骤中,您将更改这些文件的权限,以进一步限制阅读和写入。
首先,您将更改您在步骤 3 中修改的 sqlconf.php
文件的权限,以便给所有者阅读和写入访问权限,而组成员只读取访问权限。
这些权限可以用chmod
命令授予,使用644
作为参数:
1sudo chmod 644 openemr/library/sqlconf.php
接下来,您将更改其他几个文件的权限,以允许只有文件所有者阅读和写入该文件。
通过使用chmod
命令与600
参数在以下文件上授予这些权限:
1sudo chmod 600 openemr/acl_setup.php
2sudo chmod 600 openemr/acl_upgrade.php
3sudo chmod 600 openemr/setup.php
4sudo chmod 600 openemr/sql_upgrade.php
5sudo chmod 600 openemr/gacl/setup.php
6sudo chmod 600 openemr/ippf_upgrade.php
您的文件现在应该具有更安全的权限设置。
除了更改文件权限外,OpenEMR 文档还强烈建议采取额外的步骤来保护OpenEMR 的每个组件。这些步骤包括在安装后删除OpenEMR中的脚本,执行强有力的密码,启用 HTTPS 仅的流量,调整防火墙,并加固Apache。请访问OpenEMR 的 安全文档以了解有关如何更好地保护您的OpenEMR安装的更多信息。
结论
您现在已经在 Ubuntu 20.04 服务器上安装了 OpenEMR 使用 Apache、MySQL 和 PHP. 有关将域名指向您的服务器的说明,您可以遵循我们的指南 如何从常用域名注册器指向 DigitalOcean Nameservers. 对于 OpenEMR 文档,您可以访问 OpenEMR Wiki Page。