Установка OpenEMR · 6 min read · Sep 08, 2025

Как установить OpenEMR на сервер Ubuntu 24.04

OpenEMR — это решение для управления медицинскими записями и медицинской практикой с открытым исходным кодом. Это полностью интегрированная электронная медицинская запись и управление практикой, планирование, электронная выставление счетов и поддержка интернационализации. OpenEMR сертифицирован ONC, что означает, что OpenEMR соответствует стандартам Офиса национального координатора по информационным технологиям в области здравоохранения (ONC).

Этот гид покажет вам, как установить OpenEMR на сервер Ubuntu 24.04 с использованием стека LEMP (Linux, Nginx, MariaDB и PHP-FPM). Мы также покажем вам, как защитить OpenEMR с помощью HTTPS от Let’s Encrypt и открыть порты HTTP и HTTPS через UFW (Uncomplicated Firewall).

Предварительные требования

Чтобы начать с этого руководства, убедитесь, что у вас есть:

  • Сервер Ubuntu 24.04
  • Непривилегированный пользователь с правами администратора
  • Доменное имя, указывающее на IP-адрес сервера

Установка зависимостей LEMP

OpenEMR — это веб-приложение, написанное на PHP и MySQL. Чтобы установить его, вы должны убедиться, что PHP и MySQL установлены. В этом руководстве вы будете запускать OpenEMR с использованием стека LEMP (Linux, Nginx, MariaDB и PHP). Поэтому на данный момент вы будете устанавливать эти пакеты через репозиторий APT.

Чтобы начать, выполните команду ‘apt‘ ниже, чтобы обновить индекс пакетов Ubuntu и установить пакеты стека LEMP (Linux, Nginx, MariaDB и PHP-FPM). Введите ‘Y’, чтобы подтвердить установку.

sudo apt update  
sudo apt install nginx mariadb-server php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-soap imagemagick libtiff-tools php-ldap

установка зависимостей

После завершения установки проверьте статус службы ‘nginx‘ с помощью команды ‘systemctl’ ниже. Убедитесь, что Nginx работает и включен.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

проверка nginx

Теперь проверьте службу ‘mariadb‘ с помощью следующей команды. Вы увидите, что сервер MariaDB работает и включен на вашем сервере Ubuntu.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

проверка mariadb

Наконец, проверьте службу ‘php8.3-fpm‘ с помощью команды ниже. Вы увидите, что служба PHP-FPM работает.

sudo systemctl is-enabled php8.3-fpm  
sudo systemctl status php8.3-fpm

проверка php-fpm

Настройка PHP-FPM

После установки стека LEMP давайте настроим установку PHP-FPM, отредактировав файл ‘php.ini’, затем перезапустим службу PHP-FPM и применим ваши изменения.

Отредактируйте файл ‘php.ini‘ с помощью редактора ‘nano‘.

sudo nano /etc/php/8.3/fpm/php.ini

Измените конфигурацию по умолчанию следующим образом. Убедитесь, что вы настроили ‘memory_limit‘ в соответствии с вашей текущей оперативной памятью.

max_execution_time = 60  
max_input_time = -1  
memory_limit = 512M  
post_max_size = 30M  
upload_max_filesize = 30M  
max_input_vars = 3000  
mysqli.allow_local_infile = On

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните команду ‘chgrp’ ниже, чтобы изменить владельца каталога ‘/var/lib/php/sessions‘ на пользователя ‘www-data‘.

sudo chgrp -R www-data /var/lib/php/sessions

Наконец, перезапустите службу ‘php8.3-fpm‘ с помощью команды ниже. Это применит ваши изменения к установке PHP-FPM.

sudo systemctl restart php8.3-fpm

Настройка сервера MariaDB

Теперь, когда PHP настроен, давайте настроим сервер MariaDB и создадим новую базу данных для OpenEMR. В этом разделе вы защитите сервер MariaDB с помощью утилиты ‘mariadb-secure-installation‘ и создадите новую базу данных и пользователя через клиент ‘mariadb‘.

Сначала выполните команду ‘mariadb-secure-installation‘ ниже, чтобы защитить ваш сервер MariaDB.

sudo mariadb-secure-installation

Теперь вам будет предложено ответить на следующие настройки:

  • Нажмите ENTER, чтобы продолжить и настроить сервер MariaDB
  • Введите ‘Y‘, чтобы установить пароль root для MariaDB, затем введите и повторите ваш пароль
  • Введите ‘Y‘, чтобы отключить удаленный вход для пользователя ‘root
  • Введите ‘Y‘, чтобы удалить базу данных ‘test‘ и ее привилегии
  • Введите ‘Y‘, чтобы завершить настройку

После того как сервер MariaDB будет защищен, вам нужно создать новую базу данных и пользователя, которые будут использоваться установкой OpenEMR.

Войдите на сервер MariaDB с помощью команды ‘mariadb‘ ниже. Введите свой пароль root для MariaDB, когда будет предложено.

sudo mariadb -u root -p

Выполните следующие запросы, чтобы создать новую базу данных и пользователя для OpenEMR. В этом примере вы создадите новую базу данных ‘openemr‘ с пользователем ‘openemruser‘ и паролем ‘password‘. Вы можете настроить данные базы данных в соответствии с вашей информацией.

CREATE DATABASE openemr;  
CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2';  
GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';  
FLUSH PRIVILEGES;

создание базы данных и пользователя

Теперь выполните запрос ниже, чтобы проверить привилегии для ‘openemruser’. Убедитесь, что пользователь может получить доступ к базе данных ‘openemr’.

SHOW GRANTS FOR openemruser@localhost;

Наконец, введите ‘quit‘, чтобы выйти из сервера MariaDB.

показать привилегии пользователя

Загрузка исходного кода OpenEMR

Теперь, когда вы настроили PHP-FPM и сервер MariaDB, следующим шагом будет загрузка исходного кода OpenEMR и настройка установки с правильными правами и владельцем.

Перейдите в каталог ‘/var/www‘ и загрузите исходный код OpenEMR с помощью команды ‘wget‘ ниже.

cd /var/www/  
wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.2/openemr-7.0.2.tar.gz

После загрузки выполните команду ‘tar’ ниже, чтобы извлечь исходный код OpenEMR и переименовать новый каталог в ‘openemr‘. Таким образом, исходный код OpenEMR будет храниться в каталоге ‘/var/www/openemr‘.

tar -pxzf openemr-7.0.2.tar.gz  
mv openemr-7.0.2 openemr

Наконец, выполните команду ‘chown’ ниже, чтобы изменить владельца каталога ‘/var/www/openemr‘ на пользователя ‘www-data‘.

sudo chown -R www-data:www-data /var/www/openemr

Настройка блока сервера Nginx

После загрузки исходного кода OpenEMR вы создадите новый блок сервера Nginx, который будет использоваться для запуска вашей установки OpenEMR. Убедитесь, что у вас есть готовое доменное имя, указывающее на IP-адрес сервера.

Создайте новую конфигурацию блока сервера Nginx ‘/etc/nginx/sites-available/openemr‘ с помощью следующей команды редактора ‘nano‘.

sudo nano /etc/nginx/sites-available/openemr

Вставьте конфигурацию и убедитесь, что вы изменили опцию ‘server_name‘ на ваше доменное имя.

server {  
listen 80;  
server_name openemr.example.com;  
  
access_log /var/log/nginx/openemr.access.log;  
error_log /var/log/nginx/openemr.error.log;  
  
root /var/www/openemr;  
  
index index.php;  
  
location / {  
try_files $uri $uri/ /index.php;  
}  
  
# Передача PHP-скриптов на сервер FastCGI  
location ~* \.php$ {  
try_files $uri =404;  
fastcgi_index index.php;  
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Зависит от версии PHP  
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;  
fastcgi_param DOCUMENT_ROOT $realpath_root;  
include fastcgi_params;  
}  
  
# запретить доступ к записываемым файлам/каталогам  
location ~* ^/sites/*/(documents|edi|era) {  
deny all;  
return 404;  
}  
  
# запретить доступ к определенным каталогам  
location ~* ^/(contrib|tests) {  
deny all;  
return 404;  
}  
  
# В качестве альтернативы можно запретить доступ ко всем этим файлам  
location ~* ^/(admin|setup|acl_setup|acl_upgrade|sl_convert|sql_upgrade|gacl/setup|ippf_upgrade|sql_patch)\.php {  
deny all;  
return 404;  
}  
  
location = /favicon.ico {  
log_not_found off;  
access_log off;  
}  
  
location = /robots.txt {  
log_not_found off;  
access_log off;  
}  
  
location ~ /\. {  
deny all;  
}  
}

Сохраните файл и выйдите из редактора.

Теперь выполните команду ниже, чтобы активировать блок сервера ‘openemr’ и проверить синтаксис вашего Nginx. Если вы правильно указали синтаксис Nginx, вы увидите вывод, такой как ‘тест успешен - синтаксис в порядке‘.

sudo ln -s /etc/nginx/sites-available/openemr /etc/nginx/sites-enabled/  
sudo nginx -t

настройка nginx

Наконец, выполните команду ‘systemctl‘ ниже, чтобы перезапустить веб-сервер Nginx и применить ваши изменения.

sudo systemctl restart nginx

Защита OpenEMR с помощью HTTPS

В этом разделе вы установите Certbot и защитите OpenEMR с помощью HTTPS. Это будет работать, если вы используете публичное доменное имя и сервер. На локальном сервере или в разработке вы можете использовать самоподписанные сертификаты.

Перед настройкой SSL выполните команду ‘ufw’ ниже, чтобы открыть как HTTP, так и HTTPS службы на вашем сервере. Вы увидите вывод, такой как ‘успех’.

Sudo ufw allow 'Nginx Full'

Теперь установите ‘certbot‘ и плагин ‘python3-certbot-nginx‘ с помощью следующей команды ‘apt‘. Введите ‘Y’, чтобы подтвердить установку.

sudo apt install certbot python3-certbot-nginx -y

После завершения установки выполните команду ‘certbot’ ниже, чтобы сгенерировать SSL-сертификаты и защитить вашу установку OpenEMR.

sudo certbot --nginx -d openemr.howtoforge.local

После завершения процесса ваши SSL-сертификаты будут доступны в каталоге ‘/etc/letsencrypt/live/domain.com‘. Также ваша установка OpenEMR будет защищена с помощью HTTPS.

Установка OpenEMR

Откройте веб-браузер и перейдите по адресу https://openemr.howtoforge.local/ через веб-браузер.

Сначала установщик проверит разрешения исходного кода OpenEMR, поэтому убедитесь, что у вас есть правильные разрешения.

установка

Выберите опцию ‘Я создал базу данных‘, чтобы настроить интеграцию вашей базы данных.

у меня есть база данных

Введите данные вашей базы данных и нового администратора для OpenEMR.

настройки базы данных

Инициализация базы данных будет выполняться, и ваш администратор будет создан.

установка

Далее убедитесь, что ваша конфигурация PHP соответствует требованиям OpenEMR.

конфигурация php

После завершения установки вы будете перенаправлены на страницу входа OpenEMR. Введите своего администратора и пароль, затем нажмите Войти.

вход

Если все прошло успешно, вы увидите следующую панель управления OpenEMR.

панель управления

Заключение

Поздравляем! Вы завершили установку OpenEMR на сервер Ubuntu 24.04. OpenEMR работает с PHP-FPM, веб-сервером Nginx и сервером MariaDB. Вы также защитили OpenEMR с помощью HTTPS через Certbot и Let’s Encrypt.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.