Установка DirectumRX 4.0 под OS Linux. Самодельный установщик на коленках

36 1

Первое, с чего хотелось бы начать, столь короткий рассказ - это с благодарности команде компании Directum за проведенную работу, и пожелать успехов с продвижением и поддержкой в дальнейшем.

Установщик для DirectumRX 4.0

Как бы странно это не было, но у DirectumRX 4.0 для Linux нет установщика как такового. То есть по сути установка сводится к тому, что мы заполняем конфиг-файл, который необходим для начала разворачивания контейнеров для работы системы. После нескольких полных переустановок у меня появилась идея автоматизировать процесс и довести его до вида «Запусти установщик и отвечай на несложные вопросы».
Ведь правильно говорят: "Лучший сисадмин - это ленивый сисадмин" (с).
В конце получилось вот такое:


Долго думать не пришлось и взор упал сразу на python3, в голову пришла идея парсить config.yml и менять строки. Позже, когда дело пошло и это все обросло большим количеством def и for, скрипт был переписан в сторону максимального упрощения для чтения и редактирования. Даже обычным пользователям с минимальными знаниями любого скриптового языка программирования, при просмотре скрипта, будет понятно, какая строка что делает. Ниже краткий пример того, что ждет вас внутри скрипта для заполнения config.yml:

DBAdress = input('Укажите адрес postgresql сервера DNS-name или ip' "\n")
DBName = input('Укажите имя базы данных для установки' "\n")
DBPort = input('Укажите порт доступа до СУБД (по умолчанию 5432)' "\n")
DBLogin = input("При подключении используется логин и пароль? (y/n)" "\n")
if DBLogin == "y":
        DBUsername = input("Введите имя администратора СУБД" + "\n")
        DBUserpass = input("Введите пароль администратора СУБД" + "\n")
        config.write('    CONNECTION_STRING: "user id=' + DBUsername + ';password=' + DBUserpass + ';Server=' + DBAdress +';Database=' + DBName + ';Port=' + DBPort + ';Integrated Seurity=False;' + 'Timeout=30' + ';Encoding=UTF8"' + '\n')
else:
        config.write('    CONNECTION_STRING: "Server=' + DBAdress +';Database=' + DBName + ';Port=' + DBPort + ';Integrated Security=False;Timeout=30;Enc>

И как вы уже заметили, в данном решении имеется возможность подключиться только к серверу PostgreSQL, но изменять это решение вы можете сами - nano или vim вам в помощь.

Nginx

Когда был создан скрипт заполнения конфиг-файла, необходимого для запуска и сборки docker-контейнеров, появилась необходимость быстро подсовывать ssl-сертификат. В своей практике я привык использовать веб-сервер Nginx. Для реализации работы через реверс-прокси я заблокировал возможность настройки через https, оставил только http (если вам нужен https из коробки, то можете обратиться к мануалу по установке DirectumRX 4.0). Написал скрипт, пишущий конфиг для проксирования под Nginx с использованием ssl. В итоге мы получаем на одной машине фактически два веб-сервера (один - haproxy от Directum), но один из них работает как реверс-прокси для использования https. Схема работы в условиях одной машины проста и обыденна.


Пользователю (или администратору) дело остается за малым - просто взять и установить к себе на машину nginx и подкинуть ему созданный конфиг. Чуть позже был создан скрипт «Панели управления» (первый скриншот в статье) где мы уже можем одной кнопкой запустить все компоненты системы, задеплоить разработку, удалить, остановить nginx, создать и заполнить конфиг.

В будущем набор скриптов будет дорабатываться, или его можно будет доработать самостоятельно, все в открытом доступе. Там же находится более подробная инструкция по его использованию

Прикреплен файл: DirectumInstall40.tar.xz.

О всех найденных багах при использовании установщика сообщите пожалуйста: egorov@starkovgrp.ru. Заранее благодарю. Спасибо за внимание.

Константин Елин

не хвает инструкции по установке сопутсвующего софта, например, RabbitMQ.

Авторизуйтесь, чтобы написать комментарий