Установка 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. Этот способ даёт контроль над версией, но требует ручной поддержки.
- Создайте системную группу и пользователя для MySQL:
groupadd mysql
useradd -g mysql mysql- Скачайте исходный бандл 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- Распакуйте и переместите папку в /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- Инициализация каталога данных и базовой установки:
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- Запустите сервер в безопасном режиме:
bin/mysqld_safe --user=mysql &- Установите пароль для root MySQL:
bin/mysqladmin -u root password secure-passwordЗамените secure-password на сложный пароль. Лучше создать отдельного пользователя для OpenMRS с минимальными привилегиями (см. раздел безопасности).
- Создайте символьную ссылку на бинарник MySQL:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql- Перезагрузите систему (если нужно) и активируйте 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-файлов.
- Создайте пользователя и группу для Tomcat:
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat- Скачайте Tomcat 8 (пример 8.5.84):
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.84/bin/apache-tomcat-8.5.84.tar.gz- Распакуйте в /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 tomcatTomcat по умолчанию слушает порт 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.warTomcat автоматически распакует WAR и развернёт приложение в /opt/tomcat/webapps/openmrs.
Выполнение установки OpenMRS через веб-браузер
Откройте браузер и перейдите по адресу:
http://your-server-ip:8080/openmrs
Вы увидите экран выбора языка.

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

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

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

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

Alt: Процесс создания базы данных и выполнение миграций OpenMRS
- После завершения зайдите под пользователем admin (по умолчанию admin / Admin123 если вы приняли значения по умолчанию); смените пароль сразу после входа.

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-методология развертывания (быстрое руководство)
- Подготовить VM и сеть (firewall, DNS).
- Установить Java 8.
- Развернуть СУБД и создать базу/пользователя.
- Установить Tomcat и создать systemd-сервис.
- Разместить openmrs.war в webapps.
- Пройти веб-инсталлятор и выполнить базовую настройку.
- Настроить HTTPS через nginx/letsencrypt.
- Настроить бэкапы и мониторинг.
Тесты приёмки (короткий список)
- Открыть /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 или сценарии автоматического бэкапа — я могу подготовить их отдельно.
Полезные ссылки:
- Официальная документация OpenMRS: https://openmrs.org
- Руководства Apache Tomcat: https://tomcat.apache.org
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента