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

Установка OpenMRS на Ubuntu 22.04

• 7 min read • Руководство • Обновлено 21 Nov 2025
Установка OpenMRS на Ubuntu 22.04
Установка OpenMRS на Ubuntu 22.04

Кому подойдет эта инструкция

  • Системным администраторам и DevOps-инженерам, которые разворачивают OpenMRS локально или в облаке.
  • Разработчикам, желающим быстро поднять тестовую/демо-среду.

Ключевые термины (1 строка)

  • OpenMRS — открытый EMR (электронная медицинская карта) на Java; требует Java 8 и совместимой СУБД.

Оглавление

  • Требования и подготовка
  • Установка OpenJDK 8
  • Установка MySQL 5.6 из исходников
  • Установка Apache Tomcat 8 и systemd-сервис
  • Развёртывание OpenMRS (openmrs.war)
  • Веб-инсталлятор OpenMRS
  • Безопасность и эксплуатация
  • Отладка и типичные ошибки
  • Альтернативные подходы
  • Контрольный чеклист и приёмка
  • Краткое резюме

Требования и подготовка

  • Сервер с Ubuntu 22.04 (x86_64).
  • Доступ root (или sudo) и базовые навыки работы в командной строке.
  • Связь с интернетом для скачивания архивов.

Важно: OpenMRS на момент этой инструкции требует Java 8 и официально совместим с MySQL 5.6 (в исходном руководстве). Новые инсталляции можно планировать и с MariaDB/новее, но это потребует дополнительных проверок совместимости.

Важное замечание

В production-среде используйте выделённую VM/контейнер, резервное копирование и шифрование трафика (TLS). Вариант ниже подходит для тестовой или демонстрационной среды; в продакшне следуйте процедурам безопасности и требованиям локального законодательства по хранению медданных.

Установка OpenJDK 8

OpenMRS — Java-приложение и поддерживает Java 8. На Ubuntu 22.04 пакет openjdk-8-jdk может быть не в стандартных репозиториях; при наличии — установите так:

apt update
apt install openjdk-8-jdk -y

Проверьте версию Java:

java -version

Ожидаемый вывод (пример):

openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-8u352-ga-1~22.04-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)

Если пакет недоступен, рассмотрите установку через PPA или использование SDKMAN/AdoptOpenJDK. Для совместимости с OpenMRS используйте именно Java 8.

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

OpenMRS в описанном сценарии рассчитан на MySQL 5.6. Ubuntu 22.04 не содержит MySQL 5.6 в стандартных репозиториях, поэтому ниже — пример установки из официального архивного tarball. Этот способ даёт контроль над версией, но требует ручной поддержки.

  1. Создайте системную группу и пользователя для MySQL:
groupadd mysql
useradd -g mysql mysql
  1. Скачайте исходный бандл MySQL 5.6 (пример версии 5.6.46):
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
  1. Распакуйте и переместите папку в /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
  1. Перейдите в каталог и назначьте владельца:
cd /usr/local/mysql
chown -R mysql:mysql *
  1. Установите зависимости:
apt-get install libaio1 libncurses5 libnuma-dev -y
  1. Инициализация каталога данных и базовой установки:
scripts/mysql_install_db --user=mysql

Вы увидите подсказки об управлении демоном и создании my.cnf.

  1. Установите права и скопируйте конфигурационные файлы:
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
  1. Запустите сервер в безопасном режиме:
bin/mysqld_safe --user=mysql &
  1. Установите пароль для root MySQL:
bin/mysqladmin -u root password secure-password

Замените secure-password на сложный пароль. Лучше создать отдельного пользователя для OpenMRS с минимальными привилегиями (см. раздел безопасности).

  1. Создайте символьную ссылку на бинарник MySQL:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
  1. Перезагрузите систему (если нужно) и активируйте autostart:
reboot

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

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

Проверьте статус:

/etc/init.d/mysql.server status

Важно: ручная установка MySQL требует бдительных обновлений и мониторинга. В production рассмотрите управляемые СУБД или контейнеризацию.

Создание базы данных и пользователя MySQL для OpenMRS (рекомендуется)

Лучше не использовать root: создайте базу и отдельного пользователя:

/usr/local/bin/mysql -u root -p
CREATE DATABASE openmrs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'openmrs_user'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON openmrs.* TO 'openmrs_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Запомните данные (имя пользователя и пароль) — они понадобятся в установщике OpenMRS.

Установка Apache Tomcat 8

Tomcat служит контейнером для deploy Java WAR-файлов.

  1. Создайте пользователя и группу для Tomcat:
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
  1. Скачайте Tomcat 8 (пример 8.5.84):
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.84/bin/apache-tomcat-8.5.84.tar.gz
  1. Распакуйте в /opt/tomcat и назначьте права:
mkdir /opt/tomcat
tar -xvzf apache-tomcat-8.5.84.tar.gz -C /opt/tomcat/ --strip-components=1
chown -R tomcat:tomcat /opt/tomcat

Создание systemd-сервиса для Tomcat

Создайте файл /etc/systemd/system/tomcat.service и вставьте содержимое:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
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

Сохраните файл, затем примените и запустите сервис:

systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
systemctl status tomcat

Tomcat по умолчанию слушает порт 8080. При необходимости заблокируйте доступ с внешней сети на 8080 через firewall и проксируйте через nginx/Apache с TLS.

Подготовка каталога для OpenMRS и загрузка WAR

mkdir /var/lib/OpenMRS
chown -R tomcat:tomcat /var/lib/OpenMRS
wget https://sourceforge.net/projects/openmrs/files/releases/OpenMRS_Platform_2.5.7/openmrs.war
cp openmrs.war /opt/tomcat/webapps/
chown -R tomcat:tomcat /opt/tomcat/webapps/openmrs.war

Tomcat автоматически распакует WAR и развернёт приложение в /opt/tomcat/webapps/openmrs.

Выполнение установки OpenMRS через веб-браузер

Откройте браузер и перейдите по адресу:

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

Вы увидите экран выбора языка.

/files/91cc54aa-da82-4dea-bfe7-c793c5272734.png

Alt: Скриншот экрана выбора языка в веб-инсталляторе OpenMRS

  1. Выберите язык и нажмите =>. Следующий экран — выбор типа установки.

/files/e486b921-083e-4e4b-bbef-37e456e4ed1d.png

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

  1. Выберите подходящий вариант установки и нажмите =>.

/files/76e5e7c1-82eb-493a-a5cc-950379554e34.png

Alt: Доступные варианты установки OpenMRS: встроенная база или существующая СУБД

  1. При выборе подключения к существующей MySQL укажите root-пароль или данные созданного пользователя openmrs_user. Убедитесь, что база openmrs создана или разрешите установщику её создать.

/files/a4c3f9ec-510a-4a5a-a615-e5627b3824f1.png

Alt: Экран ввода данных для подключения к базе данных

  1. Сохраните admin-пароль, который предложит установщик, или задайте свой. Дальше установщик создаст схемы и таблицы.

/files/a5702278-9d05-4607-a259-00977edbad50.png

Alt: Процесс создания базы данных и выполнение миграций OpenMRS

  1. После завершения зайдите под пользователем admin (по умолчанию admin / Admin123 если вы приняли значения по умолчанию); смените пароль сразу после входа.

/files/50099f0f-8320-4ebf-b99f-296970b42c80.png

Alt: Панель управления (дашборд) OpenMRS после входа

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

  • Страница http://server-ip:8080/openmrs доступна и работает.
  • Установщик успешно создал схему и таблицы в базе openmrs.
  • Удалось войти в систему под администратором и сменить пароль.
  • При старте Tomcat приложение разворачивается без ошибок в логах catalina.out.

Безопасность и эксплуатация

  • Создайте отдельного системного пользователя для базы данных и ограничьте привилегии только нужными операциями.
  • Закройте порт 8080 для внешнего доступа; используйте обратный прокси nginx/Apache и TLS.
  • Регулярно создавайте бэкапы каталога данных /usr/local/mysql/data и базы openmrs.
  • Ограничьте доступ к /opt/tomcat и /var/lib/OpenMRS правами владельца tomcat.
  • Для production: настройте мониторинг, план обновлений и тесты восстановления бэкапа.

Отладка и типичные ошибки

  • Tomcat не стартует: проверьте JAVA_HOME и права на /opt/tomcat.
  • MySQL не запускается после сборки: проверьте логи в /usr/local/mysql/data и права владельца mysql.
  • Инсталлятор не может подключиться к БД: убедитесь, что MySQL слушает localhost, пользователь имеет привилегии, и что port/файервол не блокируют соединение.
  • Кодировка: задайте utf8mb4 для таблиц, чтобы избежать проблем с локальными символами.

Полезные команды для отладки:

systemctl status tomcat
journalctl -u tomcat -e
tail -n 200 /opt/tomcat/logs/catalina.out
/usr/local/bin/mysql -u root -p -e "SHOW DATABASES;"

Альтернативные подходы (когда этот метод не подходит)

  • Docker: запустите OpenMRS, Tomcat и СУБД в контейнерах (рекомендуется для изоляции и упрощённого обновления).
  • MariaDB / MySQL 5.7+: возможна совместимость, но требуется тестирование на предмет миграций и SQL-диалекта.
  • Управляемые СУБД (AWS RDS, Managed MySQL): упростят обслуживание БД.

Риски и меры смягчения

  • Риск: устаревшие версии MySQL — слабая поддержка безопасности. Меры: изолировать сеть, регулярно патчить ОС, планировать миграцию на поддерживаемые СУБД.
  • Риск: утечка медданных. Меры: шифрование каналов (HTTPS), RBAC, аудит доступа.

Контрольный чеклист по ролям

  • DevOps / Системный администратор:
    • Установить Java 8 и Tomcat, настроить systemd.
    • Подготовить и настроить MySQL, создать пользователя и базу.
    • Обеспечить бэкапы и мониторинг.
  • Администратор OpenMRS (приложение):
    • Завершить веб-инсталляцию, задать политики паролей и роли.
    • Настроить локальные модули и дневные резервные копии данных.
  • Пользователь (медперсонал):
    • Проверить шаблоны пациентов, тестовые записи, доступы и рабочие процессы.

Mini-методология развертывания (быстрое руководство)

  1. Подготовить VM и сеть (firewall, DNS).
  2. Установить Java 8.
  3. Развернуть СУБД и создать базу/пользователя.
  4. Установить Tomcat и создать systemd-сервис.
  5. Разместить openmrs.war в webapps.
  6. Пройти веб-инсталлятор и выполнить базовую настройку.
  7. Настроить HTTPS через nginx/letsencrypt.
  8. Настроить бэкапы и мониторинг.

Тесты приёмки (короткий список)

  • Открыть /openmrs и пройти инсталлятор без ошибок.
  • Войти под админом и создать тестового пациента.
  • Экспортировать/импортировать конфигурацию модуля.
  • Восстановление базы из бэкапа на тестовом сервере.

Совместимость и миграция

  • Если планируется миграция с MySQL 5.6 → 5.7/8.0 или MariaDB, протестируйте миграции в тестовой среде.
  • Возможны отличия в поведении SQL, индексов и кодировке. Создайте план отката.

Быстрые советы по производительности

  • Установите Xmx/Xms в CATALINA_OPTS согласно объёму ОЗУ.
  • Примените connection pool в конфигурации источника данных (если нужно).
  • В production используйте отдельную DB-машину для минимизации IO-конкуренции.

Краткое резюме

Вы установили OpenMRS на Ubuntu 22.04: подготовили Java 8, собрали и запустили MySQL 5.6, развернули Tomcat 8 и установили OpenMRS через веб-инсталлятор. Для продакшн-развёртывания добавьте TLS, резервное копирование, мониторинг и усильте безопасность БД и приложений.

Если нужны примеры Docker Compose, конфигурация nginx для TLS или сценарии автоматического бэкапа — я могу подготовить их отдельно.


Полезные ссылки:

Поделиться: 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 быстро