Администрирование сервера¶
На этой странице описана низкоуровневая конфигурация сервера OpenBioMaps.
В современных установках OpenBioMaps обычно работает как набор сервисов
Docker Compose. Веб-сервер приложения и среда выполнения PHP предоставляются
контейнером app, а MapServer и PostgreSQL работают в отдельных
контейнерах.
Примеры на этой странице основаны на образе приложения OpenBioMaps и эталонной конфигурации Docker Compose. Содержимое образов и определения сервисов могут меняться между выпусками. Всегда сопоставляйте эту документацию с файлами, поставляемыми с развёртываемой версией.
Не храните настоящие пароли, секреты клиентов, ключи шифрования и другие учётные данные в документации или репозитории исходного кода.
Supervisor¶
Supervisor — это отдельное веб-приложение для низкоуровневой настройки, обновлений и обслуживания проектов. Оно устанавливается как часть сервера OpenBioMaps и обычно доступно по одному из следующих URL-адресов:
https://YOUR_SERVER/supervisor/https://YOUR_SERVER/supervisor.php
Точный URL-адрес зависит от конфигурации сервера и обратного прокси.
Supervisor имеет два режима работы:
- Системный режим
Обеспечивает обслуживание и обновление на уровне системы, включая управление системной конфигурацией.
- Режим проекта
Обеспечивает обновление и создание проектов, обслуживание базы данных, управление
local_vars.php.incи диспетчер файлов для каталогаlocalпроекта.
Режим проекта также можно сделать доступным администраторам проекта через интерфейс администрирования проекта.
Ограничьте доступ к Supervisor, предоставив его только доверенным администраторам. Используйте HTTPS и надёжный уникальный пароль, а также рассмотрите дополнительные ограничения на уровне сети.
Повторное создание пароля Supervisor¶
На хосте Docker пароль Supervisor можно создать повторно с помощью сценария после установки:
cd /srv/docker/openbiomaps
./obm_post_install.sh update supervisor
Точный каталог установки может отличаться. Выполните команду из каталога, содержащего сценарии установки OpenBioMaps, и проверьте её вывод на наличие ошибок.
После изменения пароля убедитесь, что Supervisor доступен, и сохраните новые учётные данные в подходящем диспетчере паролей.
Файлы системных переменных¶
Помимо файла local_vars.php.inc каждого проекта, OpenBioMaps использует
файлы переменных системного уровня.
В настоящее время образ приложения содержит базовый файл по следующему пути:
/var/www/html/biomaps/root-site/server_vars.php.inc
Образ Docker также объявляет /etc/openbiomaps в качестве тома.
Управляемая администратором системная конфигурация обычно хранится в нём,
например:
/etc/openbiomaps/system_vars.php.inc
Точная связь и порядок загрузки файлов server_vars.php.inc и
system_vars.php.inc могут различаться между выпусками OpenBioMaps. Не
считайте эти два файла взаимозаменяемыми. Используйте Supervisor и шаблоны,
поставляемые с установленным выпуском, а после обновления проверяйте
фактически применённую конфигурацию.
Поскольку в эталонной конфигурации Compose каталог /etc/openbiomaps
подключён из тома Docker etc_openbiomaps, внесённые в него изменения
сохраняются при замене контейнера app.
В следующих разделах описаны настройки, ранее приведённые в примере
system_vars.php.inc. Значения являются примерами и должны быть проверены
для конкретной установки.
Настройки сети и URL-адресов¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
|
Включает поддержку локальной установки, которая не находится за прокси и использует нестандартные порты HTTP. Эта настройка необязательна и отключена в примере. |
|
|
Общедоступный адрес сервера и путь развёртывания, используемые OpenBioMaps. Замените их фактическим именем хоста и путём. Значение должно соответствовать конфигурации обратного прокси и TLS. |
|
|
Порт сервиса PostgreSQL, используемый OpenBioMaps. |
|
|
Хост базы данных, добавляемый в конфигурации вновь создаваемых
проектов. В установке Docker обычно необходимо использовать имя или
псевдоним в сети Docker, например |
|
|
Хост сервиса MapServer, добавляемый в конфигурации вновь создаваемых
проектов. В эталонной среде Compose |
Внутри контейнера localhost обозначает сам этот контейнер. Он не
обозначает другой сервис Compose. Например, контейнер app обычно должен
обращаться к MapServer по имени mapserver, а к базе данных — по одному из
её сетевых имён или псевдонимов.
Эталонный сервис базы данных называется biomaps_db и имеет псевдонимы
biomaps и gisdata. Существующие шаблоны OpenBioMaps могут ожидать
один из этих псевдонимов. Перед изменением GISDB_HOST изучите
конфигурацию рабочего проекта и проверьте, какое имя ожидается установленным
выпуском.
Настройки каталогов¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
|
Базовый каталог для постоянных системных данных OpenBioMaps. Это задокументированное значение по умолчанию, необязательное в примере. |
|
|
Каталог временных файлов OpenBioMaps. В эталонной конфигурации
Compose он хранится в постоянном томе |
|
|
Корневой каталог документов приложения. В примере в конце пути нет косой черты. |
|
|
Корневой каталог сайта приложения. Некоторым частям кода приложения требуется именно такая форма с косой чертой в конце. |
|
|
Каталог, содержащий общие ресурсы OpenBioMaps. |
Не изменяйте пути без проверки образа Docker, корневого каталога документов Apache, подключённых томов, путей проектов и всех ссылающихся на них сценариев.
Подключение к системной базе данных¶
Эти переменные определяют подключение к системной базе данных OpenBioMaps.
Они отличаются от относящихся к конкретному проекту настроек gisdb_*,
описанных в руководстве по установке сервера.
Переменная |
Пример значения |
Описание |
|---|---|---|
|
Секретное значение, относящееся к конкретной установке |
Пользователь PostgreSQL, используемый для доступа к системной базе данных OpenBioMaps. |
|
Секретное значение, относящееся к конкретной установке |
Пароль пользователя системной базы данных. Используйте надёжное случайное значение и не добавляйте его в репозиторий. |
|
Значение, относящееся к конкретной установке |
Имя системной базы данных OpenBioMaps. |
|
|
Хост, на котором работает системная база данных. В эталонной среде
Docker используйте соответствующее имя или псевдоним сервиса базы
данных вместо |
|
|
Исторический маркер версии PostGIS. Обычно устанавливать это значение не требуется, и оно может не соответствовать установленной в настоящее время версии. |
Эталонный файл Compose использует образ
openbiomaps/database:pg17-3.5. Имя образа указывает на более новую
комбинацию PostgreSQL/PostGIS, чем в историческом примере POSTGIS_V.
Не используйте POSTGIS_V для определения фактической версии сервера.
Когда требуются сведения о версии, запросите их у сервера базы данных.
Доставка почты¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
|
Метод доставки почты по умолчанию. Задокументированы значения
|
Если выбран SMTP, настройте необходимые параметры хоста SMTP, аутентификации, отправителя, порта и защиты транспорта на соответствующем системном уровне или уровне проекта. Не храните учётные данные SMTP в общедоступных конфигурационных файлах.
Кеш¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
|
Выбирает реализацию кеша, используемую OpenBioMaps. |
Эталонный образ приложения также определяет следующие значения переменных окружения по умолчанию:
Переменная окружения |
Значение по умолчанию |
Описание |
|---|---|---|
|
|
Имя хоста сервиса Memcached. Оно соответствует имени сервиса в эталонном файле Compose. |
|
|
Порт, используемый Memcached внутри сети Docker. |
Сервис memcached подключён к частной сети obm_back, и его порт не
требуется публиковать на хосте Docker.
Необязательные сервисы R Shiny¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
|
Порт R Shiny Server для конкретного проекта. Замените |
Поддержка R Shiny является устаревшей или необязательной интеграцией. Перед её настройкой убедитесь, что она поддерживается установленным выпуском OpenBioMaps.
Поддерживаемые языки¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
|
Разделённый запятыми список языков, поддерживаемых сервером. Должны быть установлены соответствующие языковые файлы. |
Это системное значение не зависит от выбора языков на уровне проекта. В настройках языков проекта можно использовать только доступные на сервере языки.
Автоматические отчёты об ошибках¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
Адрес для входящих сообщений, предоставленный сопровождающими репозитория |
Включает интеграцию с системой отслеживания ошибок через адрес для входящих сообщений. Запросите соответствующий ключ или адрес для создания задач у сопровождающих репозитория OpenBioMaps. |
Считайте полный адрес для входящих сообщений секретом, поскольку любой получивший его пользователь может иметь возможность создавать задачи или отправлять нежелательное содержимое. Проверяйте журналы и исходящие отчёты, чтобы убедиться, что они не содержат конфиденциальных данных проекта или пользователей.
Секрет веб-аутентификации¶
Переменная |
Пример значения |
Описание |
|---|---|---|
|
Секретное значение, относящееся к конкретной установке |
Обязательный секрет, используемый веб-аутентификацией. Такое же
значение должно храниться для клиента OAuth |
Значение конфигурации и соответствующее значение базы данных должны оставаться синхронизированными. Создайте надёжный случайный секрет, ограничьте доступ к нему и тщательно планируйте его ротацию, поскольку изменение только одной копии нарушит работу веб-аутентификации.
Применение изменений системных переменных¶
После изменения системной настройки:
Проверьте синтаксис изменённой конфигурации.
При необходимости перезапустите или повторно создайте затронутый сервис.
Проверьте журналы сервиса.
Протестируйте Supervisor и типичный проект.
Протестируйте аутентификацию, доступ к базе данных, карты и фоновые задания, если изменённая настройка влияет на эти компоненты.
Например:
docker compose config
docker compose restart app
docker compose logs --tail=200 app
В старых системах точной командой Docker Compose может быть
docker-compose.
Образ приложения настраивает PHP OPcache с отключённой проверкой временных
меток. Поэтому работающий процесс может не обнаружить изменения файлов PHP
сразу. Перезапуск контейнера app после изменения конфигурации PHP или
приложения предотвращает использование устаревшего кешированного кода.
Архитектура сервисов Docker¶
Эталонная конфигурация Compose создаёт частную мостовую сеть с названием
obm_back. Сервисы в этой сети могут взаимодействовать через имена
сервисов Compose и настроенные сетевые псевдонимы.
Основные сервисы:
Сервис |
Образ |
Назначение |
|---|---|---|
|
|
Запускает Apache HTTP Server, PHP, веб-приложение OpenBioMaps и Supervisor. |
|
|
Запускает сервис MapServer, используемый для отображения карт проекта. |
|
|
Запускает PostgreSQL и PostGIS для системной базы данных и, в стандартной топологии, баз данных проектов. |
|
|
Предоставляет общий кеш приложения. |
|
|
Предоставляет отдельный серверный API OpenBioMaps. |
|
|
Предоставляет браузерный интерфейс администрирования базы данных. |
Точный список сервисов зависит от установленного файла Compose. Необязательные сервисы могут быть отключены, удалены или заменены.
Для рабочих развёртываний рассмотрите возможность закрепления образов за
проверенными тегами выпусков или неизменяемыми хешами вместо использования
latest. Это делает обновления предсказуемыми и упрощает откат.
Сервис приложения: Apache и PHP¶
Образ app основан на официальном образе php:8.4-apache-trixie.
Поэтому Apache и PHP работают в одном контейнере.
Конфигурация Apache¶
Образ выполняет следующую настройку Apache:
включает модули
headers,proxy,proxy_http,rewriteиssl;изменяет корневой каталог документов по умолчанию на
/var/www/html/biomaps/root-site; иустанавливает конфигурацию Apache для OpenBioMaps как
/etc/apache2/conf-enabled/openbiomaps.conf.
Эталонный файл Compose публикует порты контейнера 80 и 443 на тех же портах хоста:
80:80
443:443
Если другой обратный прокси завершает соединение TLS, может потребоваться
изменить опубликованные порты и конфигурацию виртуального хоста Apache.
Убедитесь, что общедоступные схема, хост, путь и перенаправляемые заголовки
соответствуют OB_DOMAIN и URL-адресам проектов.
Пользовательскую конфигурацию Apache следует предоставлять через сопровождаемый образ, подключение bind mount или другой воспроизводимый механизм развёртывания. Не редактируйте работающий контейнер напрямую, поскольку эти изменения теряются при его замене.
Эталонный файл Compose содержит закомментированные примеры подключения сертификатов TLS и пользовательского виртуального хоста SSL. Создавайте и обновляйте сертификаты вне контейнера, если только в развёртывании намеренно не используется другой способ управления сертификатами.
После изменения конфигурации Apache проверьте её внутри контейнера:
docker compose exec app apache2ctl configtest
docker compose restart app
docker compose logs --tail=200 app
Конфигурация PHP¶
Образ приложения устанавливает расширения PHP, необходимые OpenBioMaps, включая поддержку PostgreSQL, PDO PostgreSQL, интернационализации, ZIP, GD, Exif, Memcached, YAML и mcrypt.
Эталонный файл Compose демонстрирует переопределение настроек PHP посредством
подключения отдельных файлов INI в /usr/local/etc/php/conf.d:
./php-date.timezone.ini -> /usr/local/etc/php/conf.d/php-date.timezone.ini
./php-upload.ini -> /usr/local/etc/php/conf.d/php-upload.ini
Этот подход можно использовать для таких настроек, как:
date.timezone;upload_max_filesize;post_max_size;memory_limit;max_execution_time; инастройки сеансов.
При настройке загрузки файлов согласуйте все соответствующие ограничения.
Например, post_max_size должен быть достаточно велик для всего запроса,
а не только для загружаемого файла. Обратный прокси может устанавливать
дополнительное ограничение размера запроса.
Проверьте фактически применённую конфигурацию PHP внутри контейнера вместо того, чтобы считать подключённый файл загруженным:
docker compose exec app php --ini
docker compose exec app php -i
docker compose logs --tail=200 app
После изменения подключённых файлов INI перезапустите сервис app.
Журналы приложения¶
Образ создаёт файл /var/log/openbiomaps.log и назначает его пользователю
веб-сервера. Эталонный файл Compose подключает этот файл с хоста Docker:
./openbiomaps.log -> /var/log/openbiomaps.log
Файл на хосте должен существовать и иметь разрешения, позволяющие
пользователю www-data контейнера записывать в него. Также проверяйте
стандартный вывод контейнера и журналы Apache:
docker compose logs --tail=200 app
docker compose logs -f app
Настройте ротацию файлов журналов на хосте, чтобы они не заняли всё доступное дисковое пространство. Не записывайте в журналы пароли, токены, полные строки подключения к базе данных или конфиденциальные данные наблюдений.
Сервис MapServer¶
MapServer работает в отдельном сервисе mapserver. Контейнер app
обычно обращается к нему по имени хоста mapserver в частной сети Docker.
Эталонная конфигурация Compose предоставляет MapServer общий доступ к следующим ресурсам:
Источник |
Путь в контейнере |
Назначение |
|---|---|---|
Том |
|
Общие журналы и временные данные MapServer. |
Том |
|
Общие системные данные OpenBioMaps. |
Том |
|
Файлы проектов и относящиеся к конкретным проектам mapfile. |
|
|
Конфигурация Apache контейнера MapServer. |
|
|
Конфигурация Apache для оболочки шифрования MapServer. |
|
|
Оболочка, используемая сервисом MapServer. |
Изменения подключённой с хоста конфигурации Apache для MapServer или
оболочки следует проверить, после чего необходимо перезапустить сервис
mapserver:
docker compose exec mapserver apache2ctl configtest
docker compose restart mapserver
docker compose logs --tail=200 mapserver
Mapfile проектов обычно управляются через интерфейс администрирования
проекта OpenBioMaps и Supervisor. Поскольку том projects является общим,
приложение и MapServer могут обращаться к одним и тем же файлам проектов.
В эталонном файле Compose MapServer не публикует порт хоста. Это сделано намеренно: запросы обычно должны проходить через приложение OpenBioMaps или его настроенный прокси, а не напрямую из интернета к MapServer.
Для MapCache требуется дополнительная настройка, и он не включается одним лишь определением URL-адреса MapCache. Если добавляется MapCache, задокументируйте его хранилище, очистку кеша, ограничения ресурсов и сетевую доступность.
Сервис PostgreSQL и PostGIS¶
Сервис biomaps_db запускает PostgreSQL и PostGIS с использованием образа
openbiomaps/database:pg17-3.5. Его каталог данных хранится в постоянном
томе biomaps_data:
/var/lib/postgresql/data
Сервис имеет следующие имена в частной сети:
имя сервиса Compose:
biomaps_db;сетевой псевдоним:
biomaps; исетевой псевдоним:
gisdata.
Используйте имя, ожидаемое установленной конфигурацией OpenBioMaps. Не
используйте localhost из контейнера app или mapserver для
обращения к этому сервису базы данных.
В эталонной конфигурации порт базы данных не публикуется на хосте Docker. Это
уменьшает доступность извне и достаточно для сервисов приложения,
подключённых к obm_back. Публикуйте PostgreSQL только тогда, когда
требуется внешний доступ, а затем ограничьте его с помощью межсетевого
экрана, средств контроля доступа PostgreSQL и, где уместно, TLS.
Учётные данные базы данных¶
Эталонный файл Compose не задаёт фиксированный POSTGRES_PASSWORD
напрямую. В комментариях указано, что образ базы данных создаёт случайный
пароль, если учётные данные не предоставлены явно.
Для управления учётными данными используйте процесс установки и Supervisor. Перед заменой или повторным созданием сервиса базы данных выясните, где хранятся созданные учётные данные, и убедитесь в наличии проверенной резервной копии.
Не изменяйте пароль базы данных без обновления каждой использующей его системной конфигурации и конфигурации проекта.
Хранение и резервное копирование базы данных¶
Том biomaps_data содержит постоянные данные базы данных. Простое
копирование тома во время активной записи PostgreSQL само по себе не
гарантирует согласованную резервную копию базы данных. Используйте
учитывающие особенности PostgreSQL инструменты резервного копирования или
поддерживаемую процедуру архивирования OpenBioMaps.
Регулярно проверяйте восстановление в изолированной среде. Резервную копию, которая не была успешно восстановлена, не следует считать проверенной.
Для проверки сервиса базы данных:
docker compose ps biomaps_db
docker compose logs --tail=200 biomaps_db
Не удаляйте том biomaps_data при повторном создании сервиса, если только
база данных не удаляется намеренно и не существует проверенного плана
восстановления.
Отдельная база данных проекта¶
Эталонный файл Compose содержит закомментированный пример отдельного сервиса
базы данных gisdata. Если системная база данных и базы данных проектов
разделены:
измените сетевые псевдонимы Docker;
обновите системные настройки и настройки хоста базы данных проекта;
настройте отдельные учётные данные;
обновите процедуры резервного копирования и мониторинга; и
проверьте доступ из
appиmapserver.
Не публикуйте порт базы данных, если к ней не должны подключаться клиенты за пределами сети Docker.
Сервис Memcached¶
Сервис memcached предоставляет кеш приложения. Контейнер app
обращается к нему как к memcached:11211 через частную сеть Docker.
В эталонной конфигурации Memcached не поддерживает аутентификацию. Не публикуйте его порт. Если используется пользовательская сеть Docker, убедитесь, что подключаться к нему могут только доверенные сервисы приложения.
Кешированные данные являются временными и не должны считаться постоянным хранилищем. Перезапуск или замена Memcached может очистить кешированные записи, не удаляя основные данные OpenBioMaps.
Сервис API¶
Сервис obm-server-api запускает отдельный образ API OpenBioMaps. Он:
подключает файл
.envразвёртывания только для чтения;запускает сценарий инициализации перед запуском Apache; и
в эталонной конфигурации публикует порт 80 контейнера как порт 9001 хоста.
Проверьте каждое значение в .env и ограничьте разрешения файла на хосте
Docker. Файл может содержать учётные данные или другие секреты.
Публикация 9001:80 делает API доступным на всех интерфейсах хоста, если
доступ не ограничен средствами Docker или межсетевого экрана. В рабочей
среде предпочтительно направлять API через настроенный обратный прокси HTTPS
или привязать его к ограниченному интерфейсу.
Проверяйте ошибки инициализации и выполнения API с помощью:
docker compose logs --tail=200 obm-server-api
Сервис администрирования базы данных¶
Эталонная конфигурация включает Adminer и публикует его на порте 9882 хоста.
Интерфейс администрирования базы данных имеет критическое значение для безопасности. Не открывайте к нему доступ из интернета без надёжных дополнительных средств контроля доступа. Предпочтительно использовать один из следующих подходов:
включать его только на время обслуживания;
привязать его к интерфейсу обратной связи;
ограничить его с помощью межсетевого экрана или частной сети; или
обращаться к нему через защищённый административный туннель.
Например, для привязки опубликованного порта к localhost следует использовать
сопоставление портов Compose, эквивалентное 127.0.0.1:9882:8080.
Удалите или отключите сервис, когда он не требуется.
Постоянные тома¶
Эталонная конфигурация Compose определяет следующие именованные тома:
Том |
Назначение |
|---|---|
|
Закрытые файлы приложения в
|
|
Каталоги проектов, общие для приложения и MapServer. |
|
Постоянные системные данные OpenBioMaps в
|
|
Общие журналы и временные файлы MapServer в |
|
Управляемая администратором конфигурация OpenBioMaps в
|
|
Данные PostgreSQL в |
Именованные тома сохраняются при обычной замене контейнера, но их всё равно можно удалить явно. Включите все тома, содержащие необходимые данные или конфигурацию, в план резервного копирования и аварийного восстановления.
Файл Compose также показывает, как именованный том можно заменить подключением bind mount. Подключения bind mount упрощают проверку путей на хосте, но требуют правильных абсолютных путей, владельцев, разрешений и процедур резервного копирования.
Процесс настройки¶
Выбирайте механизм настройки в соответствии с типом параметра:
Тип конфигурации |
Рекомендуемый механизм |
|---|---|
Системные переменные OpenBioMaps |
Supervisor и постоянный том |
Переменные проекта |
Интерфейс администрирования проекта или режим проекта Supervisor. |
Настройки Apache в |
Сопровождаемый пользовательский образ или явное подключение конфигурации. |
Настройки PHP |
Файлы INI, подключённые в |
Настройки Apache для MapServer |
Файлы хоста, подключённые в контейнер |
Mapfile проекта |
Интерфейс администрирования проекта или Supervisor с хранением в общем
томе |
Настройки базы данных |
Окружение Compose, конфигурация OpenBioMaps и поддерживаемый образом базы данных механизм настройки. |
Секреты |
Файлы окружения с ограниченным доступом или специализированный механизм управления секретами. |
Не вносите важные изменения только внутри работающего контейнера. Такие изменения невоспроизводимы и исчезают при замене контейнера.
После изменения файла Compose:
docker compose config
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=200
Перед обновлением ознакомьтесь с примечаниями к выпуску и создайте
проверенную резервную копию. Не загружайте и не развёртывайте образы
latest в рабочей среде вслепую.
Рекомендуемые запланированные задания¶
Запланированные задачи можно запускать с хоста Docker с помощью cron или аналогичного таймера systemd. Используйте абсолютные пути, сохраняйте журналы и убедитесь, что перекрывающиеся запуски не могут повредить данные.
Приведённые ниже примеры необходимо адаптировать к конкретной установке. Перед добавлением в расписание протестируйте каждую команду вручную.
Обновления Docker¶
Репозиторий сценариев OpenBioMaps содержит сценарий автоматического обновления:
https://github.com/OpenBioMaps/scripts/tree/master/docker-auto-update
Пример записи cron:
# m h dom mon dow command
0 4,16 * * * /srv/docker/openbiomaps/auto_update.sh > /srv/docker/openbiomaps/system_update_job.log 2>&1
Автоматические обновления рабочей среды сопряжены с эксплуатационным риском. Перед их включением определите:
как создаются и проверяются резервные копии;
как выполняются миграции базы данных;
как обнаруживаются неудачные обновления;
как регистрируются версии образов;
как выполняется откат; и
кто получает уведомления об ошибках.
Задания архивирования¶
Сценарий архивирования доступен по адресу:
https://github.com/OpenBioMaps/scripts/blob/master/obm_archive.sh
Он использует .archive_list.txt и obm_archive_settings.sh. Пример
расписания:
# m h dom mon dow command
0 2 * * * /path_to/obm_archive.sh normal
15 2 * * * /path_to/obm_archive.sh system
15 3 1 * * /path_to/obm_archive.sh full
0 5 * * * /path_to/obm_archive.sh clean
# Synchronise archives to a remote server
0 4 * * * /path_to/obm_archive.sh sync remote_user@remote-server.example /remote_path_to_archives
Для установок Docker следуйте инструкциям в конце
obm_archive_settings.sh.
Храните по меньшей мере одну резервную копию за пределами хоста OpenBioMaps. Защитите учётные данные удалённого резервного копирования и регулярно проверяйте восстановление.
Средство запуска фоновых заданий¶
Для проектов, использующих фоновые задания, необходимо регулярно запускать
их средство выполнения jobs.php.
Пример:
# m h dom mon dow command
*/5 * * * * /usr/bin/docker compose -f /srv/docker/openbiomaps/docker-compose.yml exec -u www-data -T app php /var/www/html/biomaps/root-site/projects/PROJECTTABLE/jobs.php
Замените PROJECTTABLE каталогом или идентификатором проекта и проверьте
путь, используемый установленным выпуском.
Cron работает в ограниченном окружении. Используйте абсолютный путь к Docker
и при необходимости явно укажите каталог проекта Compose. В системах,
использующих устаревшую команду, исполняемым файлом вместо этого может быть
/usr/local/bin/docker-compose.
Создайте отдельную запись для каждого проекта, которому требуется фоновая обработка. Контролируйте код завершения и журналы, а также предотвращайте параллельные запуски, если задание может выполняться дольше интервала планирования.
Эксплуатационные проверки¶
После установки или изменения конфигурации проверьте состояние сервисов:
docker compose config
docker compose ps
docker compose logs --tail=200 app
docker compose logs --tail=200 mapserver
docker compose logs --tail=200 biomaps_db
docker compose logs --tail=200 memcached
Затем выполните проверку из приложения:
Вход в Supervisor работает.
Общедоступная страница проекта загружается через HTTPS.
Аутентифицированный пользователь может войти в систему и выйти из неё.
Приложение может читать и записывать разрешённые записи базы данных.
Общедоступные и закрытые карты отображаются правильно.
Загрузка файлов учитывает настроенные ограничения.
Доставка электронной почты работает, если она настроена.
Фоновые задания обрабатываются.
Резервное копирование завершается, и данные можно восстановить.
Административные сервисы доступны не шире, чем предусмотрено.
Для каждого развёртывания в рабочей среде регистрируйте версии образов, изменения конфигурации, результаты тестирования и процедуру отката.