- Описание функциональных характеристик системы
- Поддержание жизненного цикла
- Установка PromUC
- Настройка сервисов
- Обновление PromUC
- Резервное копирование и восстановление базы данных Promuc FrameWork
- Рекомендации по безопасности
- Руководство по эксплуатации и администрированию
- Module GIS
- Конфигурирование правил и сценариев
- Module Framework
- Module Interface
- Технологии проекта
- Эксплуатация КТС
- Единый сервис аутентификации
- Информация о релизах
Установка PromUC¶
См.также
- Документация к предыдущей версии PromUC 2.x.x
Состав и содержание дистрибутивного носителя данных¶
Дистрибутив Promuc поставляется в двух вариантах, различающихся наличием в составе каталога с файлами docker-образов для установки комплекса на оборудовании заказчика: promuc-3.tar.gz (размер менее 1 МБ) и promuc-3-full.tar.gz (размер более 1 ГБ). Других отличий между ними нет.
Каталог/файл |
Назначение |
promuc-3.tar.gz |
promuc-3-full.tar.gz |
---|---|---|---|
|
Скрипт установки |
✓ |
✓ |
|
Срипт управления сервисами |
✓ |
✓ |
|
Скрипт обновления сервиса |
✓ |
✓ |
|
Скрипт обновления установочных файлов |
✓ |
✓ |
|
Скрипт обновления docker-образа |
✓ |
✓ |
|
Шаблон файла .order |
✓ |
✓ |
|
Шаблон файла .env |
✓ |
✓ |
|
Содержит номер версии PromUC |
✓ |
✓ |
|
Каталог сервиса Traefik |
✓ |
✓ |
|
Каталог сервиса Postgres |
✓ |
✓ |
|
Каталог сервиса Redis |
✓ |
✓ |
|
Каталог сервиса RabbitMQ |
✓ |
✓ |
|
Каталог сервиса Gitea |
✓ |
✓ |
|
Каталог сервиса Module Framework |
✓ |
✓ |
|
Каталог сервиса Module RuleEngine |
✓ |
✓ |
|
Каталог сервиса Module Gis |
✓ |
✓ |
|
Каталог сервиса Fluenbit |
✓ |
✓ |
|
Каталог сервиса Updater |
✓ |
✓ |
|
Каталог сервиса PgAdmin |
✓ |
✓ |
|
Каталог сервиса Portainer |
✓ |
✓ |
|
Каталог со служебными файлами установки |
✓ |
✓ |
|
Каталог с docker-образами |
✓ |
Порядок загрузки данных и программ¶
Получение дистрибутива¶
Дистрибутив Promuc доступен по следующим ссылкам:
без docker-образов - https://download.protei-sm.ru/promuc-3.tar.gz
с docker-образами - https://download.protei-sm.ru/promuc-3-full.tar.gz
Порядок его скачивания будет рассмотрен далее.
Подготовка к установке для Debian 12¶
Минимальные требования¶
Операционная система: Debian GNU/Linux версии не ниже 11 или иная производная от неё
Процессор: x64 2 ядра
Память: 4 ГБ
Хранилище: не менее 3 ГБ
Дополнительное программное обеспечение:
Docker Engine, Compose v2
curl, pv, git, bzip2, gnupg2, openssl, ca-certificates, lsb-release, htpasswd
Настройка прокси¶
В случае, если для доступа в Интернет используется прокси, то необходимо предварительно настроить параметры APT, docker, профиль пользователя.
Пример настройки http-прокси с аутентификацией логин - test.tt
, пароль - :T|T^T~T.t2
.
Пример настройки файла
/etc/apt/apt.conf.d/99-proxy
:
Acquire::http::Proxy "http://test.tt::T|T^T~T.t2@10.186.0.116:3128";
Acquire::https::Proxy "http://test.tt::T|T^T~T.t2@10.186.0.116:3128";
Пример настройки файла
~/.profile
с добавлением переменных*_proxy
:
# ~/.profile: executed by Bourne-compatible login shells.
export http_proxy="http://test.tt::T|T^T~T.t2@10.186.0.116:3128"
export https_proxy="http://test.tt::T|T^T~T.t2@10.186.0.116:3128"
export no_proxy="localhost,.local,127.0.0.0/8,promuc.demo,.promuc.demo,172.16.16.0/24"
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n 2> /dev/null || true
Пример настройки файла
~/.docker/config.json
. В этом файле обязательно заменяем специальные символы их шестнадцатиричным кодом с экранированием символом%
:
{
"proxies":
{
"default":
{
"httpProxy": "http://test%2Ett:%3AT%7CT%5ET%7ET%2Et2@10.186.0.116:3128",
"httpsProxy": "http://test%2Ett:%3AT%7CT%5ET%7ET%2Et2@10.186.0.116:3128",
"noProxy": "172.16.16.0/24"
}
}
}
Пример настройки файла
/etc/systemd/system/docker.service.d/http-proxy.conf
. В этом файле специальные символы экранируем двойным символом%
:
[Service]
Environment="HTTP_PROXY=http://test%%2Ett:%%3AT%%7CT%%5ET%%7ET%%2Et2@10.186.0.116:3128"
Environment="HTTPS_PROXY=http://test%%2Ett:%%3AT%%7CT%%5ET%%7ET%%2Et2@10.186.0.116:3128"
Предварительные настройки¶
Все описанные далее действия выполняются в командной строке терминала Linux Debian.
В случае отсутствия отдельных компонентов может потребоваться подключение к сети Интернет для их установки.
Установку необходимо производить от имени root
или другого пользователя, обладающего аналогичными правами, с командой sudo
. Чтобы сократить ввод и не добавлять для каждого действия команду sudo
можно один раз перед установкой выполнить команду sudo -i
и затем указать пароль учётной записи, чтобы все последующие действия выполнялись с правами суперпользователя или переключиться на пользователя, обладающего правами администратора, например, root
, при помощи команды su - root
:
$ sudo -i
[sudo] password for user:
#
или
$ su - root
Password:
#
Файлы .order и template.order¶
В файле .order определяется перечень устанавливаемых сервисов скриптами install.sh
и do.sh
. Строки начинающиеся с символа #
пропускаются. Например изначально не устанавливаются portainer
, pgadmin
, gis
:
proxy
fluentbit
postgres
redis
#portainer
rabbitmq
memcached
framework
gitea
#pgadmin
#gis
updater
ruleengine
При отсутствии файла .order
он создаётся из template.order
.
Корневой файл .env¶
При установке файл .env создаётся из template.env:
SERVICE_DOMAIN=
PROMUC_DOWNLOAD_URL=https://download.protei-sm.ru
SERVICE_DOMAIN
- получает в качестве значения домен установки PromUC.PROMUC_DOWNLOAD_URL
- адрес сайта с docker-файлами образов сервисов. Используется в случае размещения файлов на стороне заказчика. При этом будут использоваться следующие пути:/images/
- для docker-образов/maps/
- для картографических файлов сервиса Gis
Файлы .env сервисов¶
В данных файлах указываются служебные переменные необходимые для установки и работы конкретного сервиса. При отсутствии файла .env
сервис считается не установленным. Файл создаётся при выполнении скрпита install.sh
с аргументом --recreate
или -r
.
Настройка преобразования сетевых имён сервисов¶
Каждый сервис PromUC использует отдельный домен следующего уровня. Например, для существующего домена promuc.loc
сервис Proxy будет использовать адрес proxy.promuc.loc
.
Для использования сервисов PromUC с других АРМ в сети предприятия настройте в DNS-зоне соответствующие А-записи для сервисов promuc.loc, proxy.promuc.loc, mq.promuc.loc, fw.promuc.loc, re.promuc.loc, gis.promuc.loc, portainer.promuc.loc, pgadmin.promuc.loc
.
Пример А-записи для Proxy и существующего домена promuc.loc:
proxy.promuc.loc. 3600 IN A 185.91.54.107
Режим дополнительного логирования (DEBUG)¶
Режим DEBUG предназначен для включения логирования выполнения скриптов установки PromUC с целью выполнения диагностики и устранения неполадок.
Для его включения необходимо установить любое значение переменной DEBUG
, например, посредством выпонения команды консоли:
export DEBUG=1
После чего в каталогах PromUC при выполнении скриптов будут создаваться файлы с именем .<Имя файла скрипта>
, например, promuc/.install.sh.log
.
Установка для Debian¶
Процесс установки будет рассмотрен на примере системы Debian 11, для других версий может потребоваться ручная установка необходимых компонентов, например, Docker
.
Внимание
Установку необходимо производить от имени root
или другого пользователя, обладающего аналогичными правами, с командой sudo
.
Загрузите и распакуйте соответствующий архив в каталог /opt
:
# cd /opt
# curl -O https://download.protei-sm.ru/promuc-3.tar.gz
# tar -xf promuc-3.tar.gz
# cd promuc
Установка выполняется скриптом install.sh
:
# ./install.sh --recreate
Примечание
ключ --recreate
или -r
указывает провести установку с удалением имеющихся данных
Внимание
При установке с ключом --recreate
или -r
накопленные данные будут уничтожены
Примечание
при использовании дополнительного ключа -f
установка будет выполняться без дополнительных запросов на продолжение после установки каждого сервиса
Установщик выводит в консоль перечень устанавливаемых сервисов и их очерёдность установки. Если не был указан ключ -f
, то для положительного ответа на вопрос можно просто нажать клавишу Enter
.
Выполнить установку PromUC (Y/n): y
Обновляем кеш пакетной базы...
Требуется установка пакетов: jq rsync gnupg2 lsb-release git bzip2 apache2-utils
Продолжаем? (Y/n): y
Устанавливаем пакеты...OK
Проверяем наличие и версии Docker и Compose...
Требуется установка Docker
Требуется провести обновление согласно инструкции https://docs.docker.com/engine/install/debian/
Продолжаем? (Y/n): y
Далее установщик попытается удалить старые версии имеющихся компонентов:
Удаляем docker docker-engine docker.io docker-compose containerd runc
Добавляем репозиторий Docker
Требуется установка пакетов: docker-ce docker-ce-cli containerd.io docker-compose-plugin
Устанавливаем пакеты...OK
Согласно файла .order будут установлены следующие компоненты:
proxy
fluentbit
postgres
redis
rabbitmq
memcached
framework
gitea
updater
ruleengine
Если необходимо скорректировать то нажмите 'n', отредактируйте данный файл и повторно запустите установку
Продолжаем? (Y/n):
Далее необходимо ввести адрес домена, в пространстве которого будут функционировать сервисы комплекса (далее для примера будет использоваться домен promuc.loc
).
Настраиваем прокси traefik
Введите домен сервисов 2-го уровня или более: promuc.loc
Далее задаем логин администратора (по-умолчанию admin):
Не найден адрес proxy.promuc.loc, добавляем в /etc/hosts
Введите логин администратора: admin
и пароль (генерируется случайный):
Введите пароль администратора (не менее 12 символов): d91cd047c057
Далее скрипт отобразит логин и пароль для панели управления сервиса Traefik и попросит указать адрес электронной почты администратора:
Для доступа к панели мониторинга прокси используйте
URL: https://proxy.promuc.loc
логин: admin
пароль: d91cd047c057
Введите email администратора: admin@promuc.loc
Примечание
Адрес электронной почты, в частности, необходим при использовании PgAdmin4 (средство администрирования базы данных, при необходимости устанавливается отдельно) и должен соответствовать как минимум записи username@domain.ru или аналогичной.
Далее выбираем какой сертификат будем использовать для защиты соединений:
Выберите - генерируем сертификат (1), получаем от Let's Encrypt (2) или использовать собственные (3): 1
создание самозаверенного сертификата
получение публичного сертификата при помощи сервиса в интернете
использование имеющихся сертификатов
Для локального развертывания достаточно выбрать первый вариант.
Далее скрипт сообщает расположение файла сертификата ca.crt:
Сертификат CA доступен в /opt/promuc/proxy/conf/certs/ca.crt и по ссылке https://promuc.loc/ca.crt
Необходимо импортировать в браузер и в системный список доверенных корневых центров сертификации
Указанный сертификат после окончания установки необходимо будет импортировать в список «Доверенных корневых центров сертификации». Например в Яндекс.Браузер - Настройки > Системные > Управление Сертификатами
. Аналогичный пункт настройки имеется в других браузерах.
После установки сервиса скрипт выводит результат запуска контейнеров установленного сервиса и запрашивает продолжение установки:
Запускаем прокси
Получаем файл ...
.................
.................
[+] Running 2/2
✔ Network proxy_backend Created 0.2s
✔ Container traefik Healthy 2.0s
Следующим будет установлен сервис fluentbit
Продолжаем? (Y/n):
Аналогичные сообщения будут выведены после установки остальных сервисов.
По окончании установки создаётся файл /opt/promuc/.config
со списком реквизитов доступа к сервисам:
Установка Promuc окончена
Основные реквизиты доступа в файле /opt/promuc/.config
### Traefik ###
логин: admin
пароль: 80198eb7
email: admin@promuc.loc
### Сертификат CA ###
-----BEGIN CERTIFICATE-----
MIIC4jCCAcqgAwIBAgIUFXr9q8xMehI8RDEfGgz8cYc1y2kwDQYJKoZIhvcNAQEL
...
g6El72bpeSnNVoI2ByZHDMbX+XvOjw==
-----END CERTIFICATE-----
### Portainer ###
логин: admin
пароль: 80198eb7
### PgAdmin ###
логин: admin@promuc.loc
пароль: 80198eb7
### RabbitMQ ###
логин: user
пароль: user
### Gitea ###
логин: gitadmin
пароль: 80198eb7
Выборочная установка сервисов PromUC¶
Допускается выборочная установка сервисов PromUC посредством скриптов install.sh
в каталоге сервиса. После установки будут внесены изменения в файл .order
если ранее в нём данный сервис был закомментирован. Например, при первичной установке будут проигнорированы сервисы portainer
, memcached
, pgadmin
, gis
:
proxy
fluentbit
postgres
redis
#portainer
rabbitmq
#memcached
framework
gitea
#pgadmin
#gis
updater
ruleengine
При выполнении команды portainer/install.sh -r
сервис portainer
будет установлен, запущен и убрано комментирование в файле .order
.
Добавление сертификатов¶
Добавление сертификатов будет рассмотрено на примере web браузера Firefox.
Откройте браузер Firefox
Кликните на значке меню в правом верхнем углу и затем выберите
Settings
:

Выберите
Privacy & Security
и затем в разделеCertificates
кликните наView Certificates...
:

Выберите
Authorities
и кликните наImport...
:

Перейдите в папку
/opt/promuc/proxy/conf/certs
и выберите сертификатca.crt
, нажмитеOpen
:

Установите флажки и кликните на
ОК
:

Тестовый запуск интерфейса пользователя¶
Для запуска интерфейса пользователя необходимо в адресной строке web браузера ввести адрес https://имядомена
, для данного примера он будет https://promuc.loc
:

Далее необходимо ввести учётные данные, которые вывел установщик:

Интерфейс пользователя откроется в окне web браузера:

Cведения о порядке работы c системой можно найти в Руководстве пользователя.