Установка 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
Теперь проверьте службу ‘mariadb‘ с помощью следующей команды. Вы увидите, что сервер MariaDB работает и включен на вашем сервере Ubuntu.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Наконец, проверьте службу ‘php8.3-fpm‘ с помощью команды ниже. Вы увидите, что служба PHP-FPM работает.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-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
Наконец, выполните команду ‘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.

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

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

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