如何使用 LAMP 堆栈(Apache、MySQL、PHP)在 Ubuntu 20.04 上安装 OpenEMR

介绍

OpenEMR是一种开源电子健康记录和医疗实践管理工具。医生和医疗保健机构使用它来管理电子病历、处方、患者人口统计跟踪、日程安排、报告和电子账单。在本文出版时,OpenEMR 支持 30 多种语言。

在本教程中,你将运行LAMP环境(在Ubuntu 20.04服务器上安装OpenEMR大号inux下,一个帕什,中号ySQL,P HP)。

先决条件

步骤 1 — 安装额外的 PHP 扩展

在设置 LAMP 堆栈时,需要最少的扩展集才能让 PHP 与 MySQL 通信。OpenEMR 需要两个额外的 PHP 扩展,您需要安装它们才能正常工作。使用apt更新服务器的软件包列表以及安装php-xmlphp-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

/etc/php/7.4/apache2/php.ini
max_input_vars = 3000

最大执行时间

此选项限制脚本在终止之前允许运行的时间量(以秒为单位)。OpenEMR 要求此选项具有以下值60

/etc/php/7.4/apache2/php.ini
max_execution_time = 60

最大输入时间

此选项限制允许脚本解析输入数据的时间(以秒为单位)。OpenEMR 要求此选项具有值-1,这意味着max_execution_time使用 代替:

/etc/php/7.4/apache2/php.ini
max_input_time = -1

post_max_size

此选项限制帖子的大小,包括上传的文件。OpenEMR 要求此选项具有以下值30M

/etc/php/7.4/apache2/php.ini
post_max_size = 30M

内存限制

此选项限制允许脚本分配的内存量。OpenEMR 要求此选项具有以下值256M

/etc/php/7.4/apache2/php.ini
memory_limit = 256M

mysqli.allow_local infile

此选项允许使用 LOAD DATA 语句访问本地文件。OpenEMR 需要打开此选项:

/etc/php/7.4/apache2/php.ini
mysqli.allow_local_infile = On

完成选项调整后,保存并退出文件。如果您正在使用nano,您可以通过按CTRL+ XYENTER来确认。

接下来,您需要重新加载 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),解压缩文件用gzipz),并使用(在命令中指定的文件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标志将所有文件的所有者和关联的组设置openemrwww-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/openemrserver_ip

如果一切正常,浏览器应显示 OpenEMR 设置页面:

OpenEMR 设置页面

单击Proceed to Step 1您现在应该被定向到一个新的 OpenEMR 安装页面,用于安装过程的第 1 步:

OpenEMR 设置页面 — 步骤 1

在新页面上,选择我已经创建了一个数据库,因为您已经在本教程的第 3 步中创建了一个 OpenEMR 数据库。然后单击继续执行步骤 2

您的浏览器现在应该显示 OpenEMR 设置的第 2 步:

OpenEMR 设置页面 — 步骤 2

MySQL 服务器详细信息部分
登录名密码字段中,输入您在步骤 3 中选择的用户名和密码。

在 OpenEMR 初始用户详细信息部分,创建初始用户登录名和密码。

如果您想为初始用户启用 2 Factor Authentication,请单击选项Enable 2FA

然后单击创建数据库和用户。加载下一页可能需要几分钟时间。此页面将验证用户和数据库创建成功:

OpenEMR 设置页面 — 步骤 3

单击继续执行步骤 4以继续。下一页将确认访问控制列表的创建和配置:

OpenEMR 设置页面 — 第 4 步

单击继续执行步骤 5以继续。下一页将显示 OpenEMR 所需的 PHP 配置。您当前的配置应该符合他们的要求,因为您已经在步骤 4 中对其进行了调整。

OpenEMR 设置页面 — 步骤 5

单击继续执行步骤 6以继续。下一页将向您展示如何为 OpenEMR 配置 Apache Web 服务器:

OpenEMR 设置页面 — 步骤 6

要为 OpenEMR 配置 Apache Web 服务器,请创建一个名为openemr.conf. 您可以使用nano编辑器从终端执行此操作

  • sudo nano /etc/apache2/sites-available/openemr.conf

在文件中,粘贴以下指令:

/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 设置页面 — 步骤 7

您现在应该被定向到最终设置页面,其中包含有关您的安装的确认详细信息:

OpenEMR 设置页面——最后一步

此页面还将提供初始用户的用户名和密码详细信息。在离开页面之前,请确保提供这些详细信息。准备好后,单击底部的链接开始使用 OpenEMR。

将弹出一个窗口,询问您是否要注册您的安装。做出选择后,使用您的初始用户凭据登录 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 维基页面

觉得文章有用?

点个广告表达一下你的爱意吧 !😁