Установка Логин Центра на клиентский сервер¶
Получение дистрибутива¶
LC на платформе Docker разворачивается на предварительно установленном Docker. При запуске инсталлятора он получает передаваемые параметры, а также проверяет наличие существующей версий LC если ранее уже производилась установка и выполняет импорт настроек приложения.
Предварительная подготовка¶
Подключаемся к серверу через ssh протокол.
Переходим в аккаунт root с помощью команды:
Затем скачиваем дистрибутив Логин Центра через терминал. Если предоставлена прямая ссылка на nextcloud optimacros то с помощью команды:
wget <direct_link>/download -O ИМЯ_ФАЙЛА.С_РАСШИРЕНИЕМ

Далее нам необходимо установить на сервере docker. Устанавливаем самую актуальную версию docker, следуя инструкции c официального сайта, для соответствующей Операционной Системы, согласно инструкции по предварительной установке:
- Предварительные установки ПО необходимые для работы логин центра
- https://docs.docker.com/engine/install/#server
Warning
Установка Docker в системе РЭД ОС имеет нюансы. Смотрите подробнее...
Интерактивная установка LC¶
Далее мы подготавливаем необходимые директории на сервере под Логин Центр.
Warning
Внимание, для установки ЛЦ на один сервер с воркспейсом шаги будут отличаться, необходимо ознакомиться с инструкцией по совместной установке далее по тексту рассматривается инструкция по отдельной установке ЛЦ
Для этого переходим в папку om с помощью команды:
Создаём там необходимые директории login-center с помощью команды:
Warning
С версии f-1.200.40.108 для хранения чувствительных данных используется .env файл
Пример файла:
NATS_USERNAME=user
NATS_PASSWORD=
NATS_SYSTEM_USERNAME=admin
NATS_SYSTEM_PASSWORD=
NATS_URL=nats://nats:4222
INIT_ADMIN_PASSWORD=
INIT_ADMIN_EMAIL=
MONGO_INITDB_ROOT_PASSWORD=
MONGO_INITDB_ROOT_USERNAME=
MONGO_URL="mongodb://user:pass@db:27017"
REDIS_URL="redis://:@redis:6379"
REDIS_HOST=redis
REDIS_PORT=6379
Заполните .env файл вашими значениями для дальнейшей установки с помощью команд
Для поля пароля базы данных (mongo.dbPassword), с помощью любого генератора паролей, сгенерируйте надёжный пароль длиной не более 20 символов.
Warning
Важно: пароль не должен содержать символов @:;/% - это приведет к багу установки.
Также необходимо сгенерировать пароли для полей секции nats - password и systemPassword. Их длина должна быть не менее 22 символов.
В случае если .env файл не был создан при запуске инсталятор выдаст следующее сообщение:
[Progress 17%] .env не найден, создаём из шаблона
Файл .env создан: /om/login-center/.env
[Progress 18%] Синхронизация .env с шаблоном
[Progress 18%] Запуск env-importer
env-importer: старт
env-importer: generate URLs
env-importer: завершён
[Progress 19%] Проверка заполненности .env
Переменная не заполнена: NATS_PASSWORD
Переменная не заполнена: NATS_SYSTEM_PASSWORD
Переменная не заполнена: INIT_ADMIN_PASSWORD
Переменная не заполнена: INIT_ADMIN_EMAIL
Переменная не заполнена: MONGO_INITDB_ROOT_PASSWORD
Переменная не заполнена: MONGO_INITDB_ROOT_USERNAME
Заполните все переменные в /om/login-center/.env
Далее необходимо заполнить manifest в нём содержатся настройки приложения
Пример заполнения:
Описание полей manifest.yml файла
main:
app: "login-center"
publicHostname: "lc.mycompany.com"
initialization:
firstWorkspaceName: "Test"
firstWorkspaceHostname: "ws.mycompany.com"
allowUIAddUsers: true
mongo:
version: "0.0.2"
nginx:
version: "1.7-1.31.1-alpine3.23"
workspaceProxyUrl: ""
exportService:
allowExport: "true"
audit:
maskUserTokenInAudit: "true"
concurrentSessionsLimit: "0"
node:
extraCaCerts: ""
vault:
secretName: ""
routeType: # ingress | gateway
ingress:
ingressClassName: ""
gateway:
name: ""
namespace: ""
Поле publicHostname в секции main должно быть заполнено значением доменного имени сервера, где будет работать LC вместо "defaulthost.com".
После подготовки манифеста и env файла, нам необходимо положить
ssl-сертификаты в директорию /om/login-center/data/nginx/cert, Файлы должны
называться bundle.crt и crt.key соответственно. Если у вас уже есть заранее
подготовленные сертификаты, переименовываем их и помещаем в нужную директорию.
Например:
mv /home/username/company-certificate.crt /om/login-center/data/nginx/cert/bundle.crt
mv /home/username/company-certificate-key.key /om/login-center/data/nginx/cert/crt.key
Либо можно сгенерировать самоподписанные сертификаты:
cd /om/login-center/data/nginx/cert/
openssl req -newkey rsa:2048 -nodes -keyout crt.key -x509 -days 1095 -out bundle.crt
Отвечаем на вопросы, которые задаст программа генерации.
Теперь когда мы подготовили директорию для установки Логин Центра, манифест или env, сертификаты, и скачали дистрибутив, нам необходимо будет установить его. Для этого переходим в директорию со скачанным ранее дистрибутивом, например, с помощью команды:
Выдаём файлу права с помощью команды
В зависимости от версии ЛЦ, имя инсталлятора может отличаться. Например:
installer-f-1.100.0.0.sh или login-center-1.12.sh
Запускаем инсталлятор с помощью команды:
Во время установки инсталлятор запросит путь для установки у пользователя
интерактивно. По умолчанию путь для установки /opt/om/login-center, мы меняем
на ту, которую мы подготовили (/om/login-center).

Процесс установки в зависимости от версии будет выглядеть подобным образом:
...
[Progress 0%] Запуск...
[Progress 1%] Поиск установленного приложения...
Платформа для установки: docker
Найдено установленное приложение по пути /om/login-center
[Progress 2%] Приложение: Optimacros Login Center
[Progress 3%] Проверка платформы...
[Progress 5%] Проверка сертификатов...
[Progress 6%] Сертификаты найдены
[Progress 7%] Найден манифест приложения в папке установки.
[Progress 8%] Обновление манифеста приложения.
[Progress 15%] Получение значений манифеста
[Progress 16%] Проверка .env файла
[Progress 17%] .env найден
[Progress 18%] Синхронизация .env с шаблоном
[Progress 18%] Запуск env-importer
env-importer: старт
env-importer: generate URLs
env-importer: завершён
[Progress 19%] Проверка заполненности .env
[Progress 20%] Выбрана платформая установки: docker
[Progress 40%] Копируем утилиты...
[Progress 45%] Генерируем и копируем шаблоны...
[Progress 48%] Инициализация установщика Docker...
[Progress 60%] Отчистка возможных старых версий контейнеров Docker...
[Progress 50%] Удаляем старые версии...
[Progress 75%] Установка образов Docker...
[Progress 76%] Импорт архивов образов...
Loaded image: optimacros/mongo:0.0.2
Loaded image: redis:8.8.0-alpine
Loaded image: optimacros/websocket_gateway:0.1.22
Loaded image: optimacros/websocket_gateway:latest
Loaded image: optimacros/http_gateway:0.6.19
Loaded image: optimacros/http_gateway:latest
Loaded image: optimacros/service_monitor:0.1.17
Loaded image: optimacros/service_monitor:latest
Loaded image: optimacros/nats:1.2.5-2.12.6-alpine3.23
Loaded image: optimacros/nats:latest
Loaded image: optimacros/frontend:1.200.dev.108
Loaded image: optimacros/openid:1.200.dev.108
Loaded image: optimacros/access:1.200.dev.108
Loaded image: optimacros/audit:1.200.dev.108
Loaded image: optimacros/resource:1.200.dev.108
...
Затем увидим вот такую консоль, это значит что Логин Центр успешно установлен:
Манифест: ./docker-compose.yml
[+] up 19/19
✔ Network optimacros Created 0.0s
✔ Container optimacros_lc_export-service Started 1.7s
✔ Container optimacros_nginx Started 2.0s
✔ Container optimacros_nats Started 0.9s
✔ Container optimacros_lc_authentication Started 2.2s
✔ Container optimacros_lc_workspaceapi Started 2.0s
✔ Container optimacros_lc_frontend_gateway Started 1.3s
✔ Container optimacros_lc_access Started 1.3s
✔ Container optimacros_db Started 2.2s
✔ Container optimacros_lc_resource Started 0.8s
✔ Container optimacros_lc_service_monitor Started 0.8s
✔ Container optimacros_lc_syslog Started 1.0s
✔ Container optimacros_lc_audit Started 1.1s
✔ Container optimacros_lc_service_gateway Started 1.1s
✔ Container optimacros_redis Started 2.2s
✔ Container optimacros_lc_openid Started 1.6s
✔ Container optimacros_lc_core Started 0.9s
✔ Container optimacros_lc_public_gateway Started 0.9s
✔ Container optimacros_lc_frontend Started 1.9s
[Progress 99%] Для хранения чувствительных данных используется /om/login-center/.env удалите критичные данные из /om/login-center/manifest.yml
[Progress 100%] Завершено!
Можно проверять результат установки в браузере введя имя хоста нашего логин центра.
Автоматизированная установка LC на платформе Docker¶
Для автоматизированной установки LC необходимо, чтобы на сервере, где производится установка уже была папка, где будет установлен LC.
В папке установки должна присутствовать вложенная папка data/nginx/cert, в которой должны быть файлы сертификатов bundle.crt и crt.key.
В папке установки должен находиться файл манифеста manifest.yml с заполненными полями.
Сам инсталлятор следует запускать с передачей ему параметров платформы и пути для установки:
При этих условиях инсталлятор распакует Docker образы и запустит LC автоматически, не прерываясь и не задавая вопросов.
Возможные ошибки¶
-
Инсталлятор выдаёт ошибку со следующим содержимым:

Это говорит о том, что по заданным путям отсутствуют файлы сертификатов. Затем мы переходим в директорию, где лежит Логин Центр
Необходимо выполнить шаги описанные выше по добавлению сертификатов
-
Инсталлятор, запущенный в режиме автоматической установки, выдаёт ошибку со следующим содержимым:

Значит необходимо заполнить файл manifest.yml следуя шаблону, который описан выше.
-
Инсталлятор, выдаёт предупреждение, со следующим содержимым:

Возможно была опечатка в пути установки. Либо последний сохранённый путь установки ошибочный. Проверить и/или изменить его можно в файле:
/var/lib/login-center/optimacros_lc.Варианты решений:
- Запустить инсталлятор в стандартом режиме и указать путь установки, когда данный путь появится на экране.
- Очистить или изменить на нужное значение, файл
/var/lib/login-center/optimacros_lc