Гид по технологиям

Установка OpenMRS на Debian 11

• 7 min read • Администрирование • Обновлено 24 Nov 2025
Установка OpenMRS на Debian 11
Установка OpenMRS на Debian 11

К чему это руководство

OpenMRS (Open Medical Record System) — бесплатная открытая система ведения электронных медицинских карт (EMR), широко применяемая для обслуживания пациентов с ВИЧ/СПИД и туберкулёзом в развивающихся странах. Это Java‑приложение с веб‑интерфейсом, которое хранит данные в MySQL и разворачивается в контейнере Apache Tomcat.

Это руководство объясняет установку OpenMRS Platform на Debian 11 шаг за шагом: от подготовки сервера и зависимостей до первого входа в систему и базовых мер безопасности.

Основные требования (кратко)

  • Сервер с Debian 11.
  • Доступ root (пароль или sudo).
  • Доступ в интернет с сервера для загрузки пакетов/архивов.

Что будет установлено

  • Java 8 (JDK 1.8)
  • MySQL Server 5.6 (требование OpenMRS Platform 2.5.0)
  • Apache Tomcat 7
  • OpenMRS (openmrs.war)

1. Подготовка: заметки и рекомендации

  • OpenMRS в описанной версии официально требует Java 8 и MySQL 5.6. Новые версии платформы могут поддерживать другие версии ПО — проверяйте документацию проекта для обновлений.
  • Если на сервере уже есть другие службы, выбирайте свободные порты (по умолчанию Tomcat — 8080).
  • Сделайте снимок/резерв перед началом, если сервер уже содержит важные данные.

2. Установка Java 8

OpenMRS написан на Java и совместим с JDK 8. В Debian 11 Java 8 не всегда доступна в стандартных репозиториях, поэтому ниже — команда на создание каталога и извлечение JDK, если вы скачали архив вручную.

Создаём каталог для Java:

mkdir -p /usr/lib/jvm/

Распакуйте скачанный архив JDK в этот каталог (пример имени файла):

tar -zxvf jdk-8u281-linux-x64.tar.gz -C /usr/lib/jvm/

Добавьте java в alternatives:

update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.*/bin/java 1

Проверка версии Java:

java -version

Ожидаемый пример вывода (пример, может отличаться по номеру сборки):

java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

Важно: если вы не хотите скачивать проприетарный JDK вручную, рассмотрите альтернативу — пакеты AdoptOpenJDK/OpenJDK 8 от адаптированных репозиториев. Но убедитесь, что версия соответствует требованиям OpenMRS.

3. Установка MySQL Server 5.6

OpenMRS в указанной версии поддерживает MySQL 5.6. В Debian 11 этот релиз может отсутствовать в стандартных репозиториях, поэтому показан вариант установки из бинарного архива.

Создаём пользовательскую группу и пользователя для MySQL:

groupadd mysql
useradd -g mysql mysql

Скачиваем MySQL 5.6 (пример из исходного описания):

wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

Распакуйте и переместите в /usr/local:

tar -xvf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/mysql

Правим права и устанавливаем зависимости:

cd /usr/local/mysql
chown -R mysql:mysql *
apt-get install libaio1 libncurses5 libnuma-dev -y

Устанавливаем служебные данные MySQL под пользователем mysql:

scripts/mysql_install_db --user=mysql

Типичный вывод установки подсказывает, как запустить демона и где файл my.cnf был создан. Далее назначаем владельцев и копируем файлы конфигурации:

chown -R root .
chown -R mysql data
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysql.server

Запуск MySQL в безопасном режиме:

bin/mysqld_safe --user=mysql &

Установка пароля root MySQL (замените newpassword на ваш безопасный пароль):

bin/mysqladmin -u root password newpassword

Создаём удобную ссылку на бинарник mysql:

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

Перезагрузите систему (или перезапустите службу) для завершения установки:

reboot

После перезагрузки запустите сервис и включите автозапуск:

/etc/init.d/mysql.server start
update-rc.d -f mysql.server defaults

Проверка статуса (пример вывода показывает, что служба активна):

/etc/init.d/mysql.server status

// Пример вывода в оригинале, оставлен для ориентира.

Примечание: установка MySQL из бинарного архива — ручной и чувствительный к деталям процесс. Альтернатива — развернуть совместимую СУБД в Docker-контейнере или использовать проверенный готовый пакет, если политика проекта позволяет.

4. Установка Tomcat 7

Tomcat — контейнер сервлетов для запуска openmrs.war.

Создаём группу и пользователя для tomcat (без shell и с домашним каталoгом /opt/tomcat):

groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Скачиваем Tomcat 7 (пример архива):

wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/apache-tomcat-7.0.109.tar.gz

Разархивируем в /opt/tomcat:

mkdir /opt/tomcat
tar -xvzf apache-tomcat-7.0.109.tar.gz -C /opt/tomcat/ --strip-components=1

Настраиваем права и владельца:

cd /opt/tomcat
chgrp -R tomcat /opt/tomcat
chmod -R g+r conf
chmod g+x conf
chown -R tomcat webapps/ work/ temp/ logs/

5. Служба systemd для Tomcat

Создайте файл systemd для управления Tomcat:

nano /etc/systemd/system/tomcat.service

Вставьте (и обратите внимание на корректные кавычки в строке CATALINA_OPTS):

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jdk1.8.0_281
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

Важно: в оригинальных примерах иногда встречаются «умные» кавычки (типографские) в Environment=’CATALINA_OPTS…’. Используйте обычные одинарные или двойные ASCII‑кавычки. Иначе systemd не распознает переменную.

Примените изменения и запустите сервис:

systemctl daemon-reload
systemctl start tomcat
systemctl status tomcat

Tomcat при успешном запуске слушает порт 8080 (по умолчанию).

6. Развёртывание OpenMRS

Создаём каталог для данных OpenMRS и назначаем владельца tomcat:

mkdir /var/lib/OpenMRS
chown -R tomcat:tomcat /var/lib/OpenMRS

Скачиваем WAR‑файл (пример версии 2.5.0):

wget https://sourceforge.net/projects/openmrs/files/releases/OpenMRS_Platform_2.5.0/openmrs.war

Копируем war в директорию webapps Tomcat:

cp openmrs.war /opt/tomcat/webapps/
chown -R tomcat:tomcat /opt/tomcat/webapps/openmrs.war

После копирования Tomcat автоматически распакует и развернёт приложение (если включён автодеплой). Просмотрите логи Tomcat (logs/catalina.out) при необходимости.

7. Веб‑мастер установки OpenMRS

Откройте в браузере:

http://your-server-ip:8080/openmrs

Вы увидите экран выбора языка (примерные скриншоты ниже).

Экран выбора языка мастера установки OpenMRS

Выберите язык и продолжите. На экране типа установки выберите вариант, который вам подходит (стартовый режим создания БД и т. п.).

Экран выбора типа установки

Введите MySQL root‑пароль и запомните пароль администратора OpenMRS (придуманный системой/установщиком):

Экраны ввода пароля MySQL и подтверждения параметров установки

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

Подтверждение параметров инсталляции и ход выполнения

Ход реализации и импорт модулей

После успешной установки откройте страницу входа:

Экран входа OpenMRS

По умолчанию логин: admin, пароль: Admin123 — смените пароль администратора при первом входе.

Панель управления OpenMRS после входа

8. Базовая проверка и тесты

  • Убедитесь, что главная страница панели отображается корректно.
  • Проверьте подключение к БД и наличие таблиц OpenMRS (SHOW TABLES в базе openmrs).
  • Просмотрите лог Tomcat (/opt/tomcat/logs/catalina.out) на предмет ошибок при инициализации модулей.

Критерии приёмки

  • Веб‑мастер успешно завершил создание базы данных.
  • Страница логина доступна и позволяет войти с учётными данными администратора.
  • В логах отсутствуют критические ошибки (ERROR/SEVERE) при старте приложения.

9. Безопасность и жёсткая настройка (рекомендации)

  • Смените пароль root MySQL и пароль admin OpenMRS сразу после установки.
  • Ограничьте доступ к порту 8080 на уровне брандмауэра (ufw/iptables) и используйте обратный прокси (Nginx/Apache) с TLS.
  • Запустите Tomcat и MySQL под отдельными непользовательскими учётными записями (как описано выше).
  • Регулярно обновляйте бэкапы базы данных и домашней папки OpenMRS (/var/lib/OpenMRS).

Пример конфигурации обратного прокси (вкратце): используйте Nginx для SSL‑терминации, проксируйте /openmrs на backend http://127.0.0.1:8080/openmrs и включите HSTS.

10. Частые проблемы и способы их решения

  • Tomcat не стартует или приложение не разворачивается: проверьте файл /opt/tomcat/logs/catalina.out и права на webapps.
  • Ошибка соединения с БД: проверьте правильность пароля и что MySQL слушает на нужном сокете/порту.
  • «Smart quotes» в systemd‑unit: замените типографские кавычки на обычные.
  • Миграция данных: при апгрейде OpenMRS всегда делайте резерв базы и проверьте совместимость модулей.

11. Альтернативные подходы

  • Docker: используйте образы с предустановленным Java/Tomcat/MySQL и OpenMRS для упрощённого разворачивания и изоляции.
  • Использовать MariaDB: некоторые версии OpenMRS совместимы с MariaDB, но проверьте поддерживаемые версии прежде чем переходить.
  • Развернуть MySQL на отдельном сервере для разделения ресурсов и безопасности.

12. Роль‑ориентированный чеклист для ввода в эксплуатацию

  • Системный администратор:
    • Проверил автозапуск Tomcat/MySQL.
    • Настроил резервирование и мониторинг (disk, memory, process).
  • Администратор БД:
    • Сменил root‑пароль, создал пользователя OpenMRS с ограниченными привилегиями.
  • Администратор OpenMRS:
    • Сменил пароль admin, проверил права ролей и конфигурацию модулей.
  • Ответственный за безопасность:
    • Настроил TLS через обратный прокси, ограничил доступ к административным интерфейсам.

13. Быстрый план отката (rollback)

  • Остановите Tomcat: systemctl stop tomcat
  • Восстановите дамп базы данных из резервной копии: mysql -u root -p openmrs < backup.sql
  • Верните прежнюю версию openmrs.war (переименуйте/замените файл в /opt/tomcat/webapps) и перезапустите Tomcat.

14. Короткая методология тестирования после установки

  • Пройти веб‑мастер установки от начала до конца на тестовой машине.
  • Создать тестового пациента, записать визит и проверить запись в БД.
  • Выполнить экспорт/импорт небольшого набора данных.

Факт‑бокс: ключевые параметры

  • Порт Tomcat: 8080
  • Java: 1.8.x (JDK 8)
  • MySQL: 5.6
  • Tomcat: 7
  • Типичный начальный admin‑пароль: Admin123 (сменить)

Глоссарий (1‑строчные определения)

  • WAR: Web Application Archive — упаковка Java веб‑приложения.
  • Tomcat: контейнер сервлетов для запуска Java‑веб‑приложений.
  • OpenMRS: платформа для управления медицинскими картами.

Заключение

Вы успешно установили OpenMRS на Debian 11, развернули приложение в Tomcat и прошли начальную настройку. Дальше — настройка SSL через обратный прокси, план резервного копирования базы данных и адаптация ролей/модулей под локальные требования. Если возникнут ошибки запуска или проблемы с миграцией, проверьте логи Tomcat и MySQL и используйте чеклисты из раздела выше.

Важное: обязательно смените все стандартные пароли и настройте резервное копирование до ввода в боевую эксплуатацию.

Если нужно, могу подготовить файл systemd, примеры Nginx‑конфигурации для обратного прокси с TLS или Docker‑compose файл для быстрого разворачивания.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро