Установка 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 tomcatTomcat при успешном запуске слушает порт 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
Вы увидите экран выбора языка (примерные скриншоты ниже).

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

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

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


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

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

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 файл для быстрого разворачивания.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента