Установка Loginom в систему контейнеризации Podman или Docker Скачать в PDF
Дистрибутив для установки Loginom на OS Linux поставляется в виде архива Loginom-*.tar.gz, в состав которого входят: бинарные файлы, файлы библиотек, конфигурационные файлы, бинарный файл BatchLauncher и параметризуемый Bash-скрипт по формированию docker образов и конфига docker-compose.
Наличие Bash-скрипта дает клиенту возможность самостоятельной кастомизации, т.е. клиент может сам дополнить Dockerfile нужными конкретно ему библиотеками или программами, добавить в будущий образ свой ODBC драйвер, включить в сборку свою версию Python.
Варианты установки
Loginom может быть установлен с использованием систем контейнеризации Podman или Docker. Рекомендуемым контейнерным движком является Podman.
В случае, если инсталлятор одновременно находит и podman и docker пользователю будет задан вопрос: Выберете систему контейнеризации. Вариантом, предлагаемым по умолчанию является Podman.
Основные отличия установок:
- Для Podman контейнеры будут работать от имени текущего пользователя. Рабочая директория по умолчанию
$HOME/loginom. Автозапуск конфигурации после перезагрузки хоста обеспечивается через cron. - Для Docker система контейнеризации и сами контейнеры будут работать от пользователя root. Рабочая директория по умолчанию
/var/opt/loginom-docker.
Минимально необходимые версии ПО:
- для Podman — версия не ниже
3.4.0, и Podman-compose — версия1.0.3; - для Docker — версия не ниже
20.10.1, и Docker-compose — версия1.21.0.
Предустановка
Перед установкой Loginom необходимо предварительно установить выбранную систему контейнеризации (рекомендуется Podman), а также произвести некоторые настройки в зависимости от операционной системы.
Режим контейнеризации Docker:
Режим контейнеризации Podman:
Внимание: если предварительные настройки не будут произведены, то далее не получится корректно установить Loginom.
Базовый образ
Наличие Bash-скрипта позволяет пользователю изменить базовый образ. Например, по требованию специалистов информационной безопасности, можно произвести сборку сервера Loginom с применением более свежего базового образа на основе ubuntu вместо используемого по умолчанию debian. При сборке сервера инсталятор будет запрашивать на какой операционной системе собрать образ. Сейчас на выбор предлагаются:
- debian:11.5-slim
- ubuntu:22.04
- ubuntu:23.04.
Loginom на данных ОС протестирован и точно работает. Если необходимо, то пользователь вручную может задать нужную ему ОС отличную от представленных.
Установка
Скопировать любым способом дистрибутив Loginom в виде архива **loginom-*.tar.gz** на целевую систему, например, в домашнюю папку нашего пользователя $HOME: /home/user.
Распаковать архив и перейти в распакованный каталог командой:
mkdir loginom-dist && tar -xf loginom.tar.gz -C loginom-dist/ && cd loginom-dist
Дополнительные компоненты
Для включения в образ Loginom дополнительных компонентов, например, ODBC драйверов или модуля Python, нужно внести изменения в файл-сценарий сборки образа сервера server/Dockerfile. В данном файле необходимо раскомментировать строчки с соответствующими командами.
# Установка Microsoft ODBC Driver 18 for SQL Server {#ustanovka-microsoft-odbc-driver-18-for-sql-server}
# Файл msodbcsql18_18.0.1.1-1_amd64.deb должен лежать в каталоге server/libs дистрибутива {#fayl-msodbcsql1818011-1amd64deb-dolzhen-lezhat-v-kataloge-serverlibs-distributiva}
#RUN apt-get update && DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -y /app/msodbcsql18_18.0.1.1-1_amd64.deb
# Установка Python и некоторых его библиотек {#ustanovka-python-i-nekotorykh-ego-bibliotek}
#RUN apt-get install -y python3 python3-pip; \
#pip3 install -U pandas numpy scikit-learn
Запуск установщика для формирования образов контейнеров и конфигурационных файлов осуществляется с помощью команды:
- Для Podman:
./setup.sh
- Для Docker:
sudo ./setup.sh
Настройки портов
При наличии firewall, открываем необходимые (в зависимости от выбранной конфигурации) порты. Например, для конфигурации по умолчанию в системах, использующих firewall-cmd:
- порт http:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
- порт https:
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp`
- порт Loginom для подключения websocket:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
- порт Loginom для подключения защищенного websoket:
sudo firewall-cmd --permanent --zone=public --add-port=8443/tcp
- порт для подключение к серверу Loginom для Batchlauncher или внешнего Интегратора:
sudo firewall-cmd --permanent --zone=public --add-port=4580/tcp
- перезагружаем правила firewall:
sudo firewall-cmd --reload
Запуск Loginom
Внимание: для коммерческого применения Loginom необходимо установить и активировать Лицензионный ключ и Сервер лицензий.
Перед запуском службы loginomd в строке IP_NAME= в файле, расположенном по умолчанию /home/user/loginom/server/gnclient.ini, указать ip-адрес машины.
Создать из образов Loginom соответствующие контейнеры и запустить их можно с помощью команды:
- Для Podman:
podman-compose -f ${Путь_к_каталогу_конфигураций}/docker-compose.yml up -d
При выборе значений по умолчанию команда будет следующей:
podman-compose -f ${HOME}/loginom/docker-compose.yml up -d
- Для Docker:
pushd /var/opt/loginom-docker; sudo docker-compose up -d; popd
Для Podman при выборе значений по умолчанию для текущего пользователя сформированные скриптом установки конфигурации формирования и запуска контейнеров будут находиться в каталоге: ${HOME}/loginom.
Изменяемые файлы конфигураций контейнеров и пользовательские данные будут находиться соответственно в:
${HOME}/loginom/server;${HOME}/loginom/integrator;${HOME}/loginom/http.
Также скрипт установки добавляет в пользовательский crontab запуск конфигурации при перезагрузке хоста.
Для Docker конфигурации и файлы будут находиться: /var/opt/loginom-docker/.
Установка Loginom с помощью готовых образов контейнеров
Если на целевой машине доступ в Интернет ограничен, его нет, или машина находится за прокси сервером, то для установки Loginom в этом случае необходимы готовые образы. Сформировать готовые образы можно с помощью ПК с доступом в интернет или получить их, запросив в технической поддержке Loginom.
-
На ПК с доступом в интернет (который не за прокси) нужно запустить установку loginom скриптом
setup.sh. -
Задавая нужные значения для параметров, сформировать образы loginom, после чего в конце установки появится пункт
Сохранить собранные образы отдельными файлами? [y/n]. Ввестиy, чтобы согласиться. -
Файлы сохранятся в домашнюю папку по следующему пути:
loginom/images/. -
Полученные образы
loginom-http_date.tar,loginom-server_date.tar,loginom-integrator_date.tar(где_date— дата и время формирования образа) на целевой машине нужно положить по следующему пути, при необходимости создав недостающие каталоги:/home/user/loginom/images/. -
На целевой машине запустить скрипт установки loginom
setup.sh. -
Дойти до пункта
"Выберите источник для образов Loginom". -
Для использования готовых образов выбрать пункт
"[2] Использовать предварительно подготовленные образы". Скрипт установки должен самостоятельно найти образы в каталоге/home/user/loginom/images/или в папкеimagesв самом дистрибутиве (рядом сsetup.sh) последовательно для каждого приложения, пользователю нужно лишь подтвердить их расположение и название.
Сборка конкретных образов Loginom
Файл /loginom-dist/setup.sh собирает все образы Loginom без возможности выбрать конкретный образ для сборки.
При необходимости, конкретный образ Loginom можно пересобрать с помощью следующей команды:
podman build http -t loginom-http
Где loginom-http — название образа.
Команда должна выполняться из каталога /loginom-dist/, содержащего каталоги /http/, /integrator/, /server/.
Имена образов/контейнеров
- loginom-http_date;
- loginom-server_date;
- loginom-integrator_date.
Где _date — дата и время формирования образа.
Аргументы, принимаемые скриптом setup.sh
-h--help— показать подсказку (несовместимо ни с какими другими аргументами);-d--dir— задание каталогов ${CONF} и ${DATA};--datadir— если задан этот параметр, то он переопределяет задание каталога ${DATA};-s--save— сохранение собранных образов в локальные файлы на диск (несовместимо с--nosave);--nosave— не сохранять образы дисков в локальные файлы (несовместимо с--save);-c--change— изменение установленных компонентов Loginom (несовместимо с--update); **-u--update— обновление образов Loginom без изменения конфигурации (несовместимо с--changeи--nobuild);-b--build— перестроить образы, собрав их из исходников;-l--load— загрузить образы в систему из локальных файлов;-n--nobuild— не перестраивать существующие образы (несовместимо с--update);--defaults— где возможно, применять значения по умолчанию. Значения применяются на этапе ответов пользователя, вместо таковых. Аргумент имеет наименьший приоритет и может частично переопределяться остальными аргументами.
За исключением несовместимых опций, описанных выше, аргументы допустимо записывать в любом порядке, примеры: -cbs или -b -c --save, или -sb --change.
Полезные команды
Примеры для системы контейнеризации Podman. Для Docker-а используется docker-compose с аналогичными параметрами:
podman-compose ps— список работающих контейнеров;podman-compose up -d— собрать/compose и запустить контейнеры в "детач" (отсоединенном от консоли) режиме;podman-compose start— старт контейнеров;podman-compose stop— стоп контейнеров;podman-compose rm— удалить контейнеры;podman-compose down— остановить и удалить контейнеры;podman start ${CONTAINER_NAME}— пример операции с отдельным контейнером (запуск);journalctl -n 10 -o verbose _COMM=loginomd— логи программы loginomd, 10 последних записей в подробном формате;journalctl -n 10 -o verbose _COMM=Integrator— логи программы Integrator, 10 последних записей в подробном формате;journalctl -b -f -n 30 CONTAINER_NAME=${CONTAINER_NAME}— логи контейнера, 30 последних записей онлайн;podman exec -it ${CONTAINER_NAME} /bin/bash— зайти внутрь контейнера (либо /bin/sh вместо /bin/bash).
Статьи в разделе: