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

介绍

OpenEMR是一个开源的电子健康记录和医疗实践管理工具,由医生和医疗机构用于管理电子医疗记录,处方,患者人口跟踪,日程安排,报告和电子发票。

在本教程中,您将安装OpenEMR在运行LAMP环境的Ubuntu 20.04服务器上(L inux, ** A** pache, ** M** ySQL, ** P** HP)。

前提条件

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

在设置我们的LAMP堆栈时,需要最少的一组扩展来让PHP与MySQL进行通信。OpenEMR需要两个额外的PHP扩展,您将需要安装它才能正常工作。使用apt来更新您的服务器的包列表并安装php-xmlphp-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,然后按YENTER来确认。

接下来,您需要重新加载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 设置页面:

OpenEMR setup page

点击继续到步骤1。你现在应该被引导到一个新的OpenEMR设置页面为安装过程的步骤1:

OpenEMR setup page — Step 1

在新页面上,选择 我已经创建了一个数据库 ,因为你已经在本教程的第 3 步中创建了一个 OpenEMR 数据库。

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

OpenEMR setup page — Step 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. 下一个页面可能需要几分钟才能加载. 此页面将验证用户和数据库的成功创建:

OpenEMR setup page — Step 3

点击 ** 继续到步骤 4** 继续. 下一页将确认创建和配置访问控制列表:

OpenEMR setup page — Step 4

点击 ** 继续到步骤 5** 继续 下一页将向您展示所需的 PHP 配置为 OpenEMR. 您的当前配置应该符合他们的要求,因为您已经在步骤 4 中调整了它们。

OpenEMR setup page — Step 5

下一页将向您展示如何为 OpenEMR 配置您的 Apache Web Server:

OpenEMR setup page — Step 6

要为 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 setup page — Step 7

您现在应该被引导到最后的设置页面与有关您的安装的确认细节:

OpenEMR setup page — Final Step

此页面还会为您的初始用户提供用户名和密码详细信息. 请确保在离开页面之前有这些详细信息。

會出現一個窗口,問您是否想要註冊您的安裝。 選擇後,使用您的初始用戶認證登入 OpenEMR。 一旦您登入,您的瀏覽器應該顯示 OpenEMR 儀表板:

OpenEMR dashboard

在继续前,请确保如下步骤所示更改文件权限。

步骤 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

Published At
Categories with 技术
comments powered by Disqus