Навигатор по разделу:
1. Требования к программному обеспечению
Операционная система | RedOS 8 |
СУБД | PostgreSQL 13 и выше |
Веб-сервер | Angie 1.6 и выше |
Среда исполнения |
|
2. Подготовка к установке
Перед установкой Avanpost IDM необходимо подготовить сервер. Для этого требуется:
- На сервере настроить сеть и обеспечить доступ к Интернету для установки необходимых компонентов.
- Во внутренний DNS добавить три A записи для компонентов IDM по шаблону:
adm.[внутренний домен компании] - [IP адрес сервера IDM] user.[внутренний домен компании] - [IP адрес сервера IDM] idm.[внутренний домен компании] - [IP адрес сервера IDM]
adm.avanpost.local - 192.168.1.11 user.avanpost.local - 192.168.1.11 idm.avanpost.local - 192.168.1.11
3. Установка Avanpost IDM
После подготовки сервера можно переходить к установке Avanpost IDM. Для этого необходимо подключиться к подготовленному серверу по SSH и выполнить шаги:
Шаг 1. Установить PostgreSQL и развернуть БД
Примечание:
Дополнительная информация по установке PostgreSQL: https://www.postgresql.org/download/linux/redhat/
Для этого требуется:
1.1. Установить пакет PostgreSQL и активировать поток модуля:
sudo dnf install postgresql13-server sudo postgresql-13-setup initdb
1.2. Инициализировать БД и включить автоматический старт:
sudo systemctl enable postgresql-13.service --now sudo systemctl start postgresql-13.service sudo systemctl status postgresql-13.service
1.3. Создать учётную запись в ОС для подключения к БД.
Далее в качестве примера используется логин "db_idm_user".
- Задать имя учетной записи и пароль к ней в соответствии с внутренними правилами именования сервисных УЗ и парольных политик.
- Сохранить логин и пароль в соответствии с внутренними правилами.
1.4. В БД PostgreSQL создать пользователя "db_idm_user" с привилегиями суперпользователя:
sudo -u postgres createuser --superuser --interactive --pwpromp db_idm_user # задать пароль
1.5. Создать новую базу данных с именем "idm":
sudo -u postgres createdb idm
Шаг 2. Настроить конфигурацию PostgreSQL
Для настройки подключения к БД с аутентификацией пользователя по паролю требуется:
2.1. Открыть для редактирования конфигурационный файл "/var/lib/pgsql/data/pg_hba.conf":
sudo nano /var/lib/pgsql/13/data/pg_hba.conf
2.2. В конфигурационном файле заменить тип аутентификации для local и host подключений на "md5". Для этого необходимо:
Закомментировать строки, дописав # в начало:
local all all peer host all all 127.0.0.1/32 ident
Добавить строки:
local all all md5 host all all 0.0.0.0/0 md5
2.3. Перезапустить PostgreSQL:
sudo systemctl restart postgresql-13.service
2.4. Протестировать подключение:
psql -U db_idm_user idm --/Ввести пароль/-- idm=> \q
Шаг 3. Установить Angie
Примечание:
Дополнительная информация по установке: https://angie.software/angie/docs/installation/oss_packages/#install-yum-oss
Для этого требуется:
3.1. Создать и открыть для редактирования файл "/etc/yum.repos.d/angie.repo":
sudo nano /etc/yum.repos.d/angie.repo
3.2. Поместить в файл "/etc/yum.repos.d/angie.repo" следующее:
[angie] name=Angie repo baseurl=https://download.angie.software/angie/redos/$releasever/ gpgcheck=1 enabled=1 gpgkey=https://angie.software/keys/angie-signing.gpg.asc
3.3. Установить пакет "angie":
sudo yum install -y angie
3.4. Запустить сервис "angie" и добавить его в автозапуск:
sudo systemctl start angie sudo systemctl enable angie
3.5. Разрешить локальный проброс портов:
sudo setsebool -P httpd_can_network_connect 1
Шаг 4. Настроить Firewalld
Если установлен Firewalld, выполнить настройки ниже
Для этого требуется добавить доступ к протоколам HTTP и HTTPS в зону "public" с помощью команд:
sudo firewall-cmd --zone=public --add-service=http sudo firewall-cmd --zone=public --add-service=https sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --zone=public --permanent --add-service=https
Шаг 5. Создать пользователя "avanpost"
Для этого необходимо выполнить команду:
sudo useradd -M avanpost
Шаг 6. Создать каталог для приложения и настроить доступ к нему
Для этого необходимо выполнить команды:
sudo mkdir -p /opt/avanpost/ sudo chown -R avanpost:avanpost /opt/avanpost
Шаг 7. Установить aspnetcore-runtime и dotnet-runtime
Примечание:
Дополнительная информация по установке: https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-rhel#supported-distributions
Для этого требуется:
7.1. Установить пакеты:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm sudo dnf install dotnet-sdk-8.0 -y
7.2. Проверить установку с помощью команды:
dotnet --info
dotnet --info >.NET SDKs installed: > 8.0.100 [/usr/share/dotnet/sdk] >.NET runtimes installed: > Microsoft.AspNetCore.App 8.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] > Microsoft.NETCore.App 8.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Шаг 8. Распаковать дистрибутив
Для этого требуется:
8.1. Авторизоваться под пользователем "avanpost":
sudo su - avanpost
8.2. Перейти в каталог "/opt/avanpost":
cd /opt/avanpost
8.3. Добавить файл дистрибутива IDM Base в каталог "/opt/avanpost".
8.4. Создать каталог "/opt/avanpost/idm":
mkdir /opt/avanpost/idm
8.5. Распаковать архив с дистрибутивом с помощью команды по шаблону:
unzip Avanpost.Idm.[Version].zip -d idm
Заменить в команде [Version] на номер актуальной версии Avanpost IDM.
8.6. Создать каталог конфигурации "/opt/avanpost/config":
mkdir /opt/avanpost/config
8.7. Создать каталог для коннекторов "/opt/avanpost/connectors":
mkdir /opt/avanpost/connectors
8.8. Сгенерировать ключ шифрования:
dd if=/dev/urandom bs=32 count=1 | base64 > /opt/avanpost/config/key
8.9. Разместить файл лицензии "license.xml" в каталоге "/opt/avanpost/config" с помощью SFTP клиента.
Примечание:
Вместо SFTP можно воспользоваться командой scp:
scp [Путь до файла] [реквизиты для подключения по SSH]:[Полный путь папки назначения]
Шаг 9. Настроить файлы конфигурации
Для этого требуется:
9.1. Для создания новой конфигурации скопировать файл "idm/configs/config.example" в "/opt/avanpost/config/iga.config" и открыть его для редактирования:
cp idm/configs/config.example /opt/avanpost/config/iga.config nano config/iga.config
9.2. Установить значения параметров в соответствии с таблицей:
Таблица – Описание и настройка параметров конфигурационного файла
Параметр | Описание | Значение |
---|---|---|
connectorsFolder | Путь к папке хранения коннекторов | Указать /opt/avanpost/connectors |
rootUser | Привилегированный пользователь в домене | Указать логин пользователя по шаблону: [Realm]\\[логин] |
defaultRealm | Домен по умолчанию. Realm определяет область аутентификации пользователей. | Например: avanpost.local |
host | IP адрес сервера каталога LDAP | Например: 192.168.1.44 |
bindDN | DN для привязки к LDAP-серверу (DN – идентифицирующее имя объекта в LDAP-директории) | Полный DN в формате: cn=[Имя],dc=[Домен2ур],dc=[Домен1ур] |
password | Пароль пользователя | Указать пароль пользователя |
usersBase | Определяет базовый путь в структуре LDAP-директории, где хранятся и обрабатываются данные пользователей, используемые для процесса аутентификации. | Указать путь до директории |
userNameAttribute | Задает атрибут, который будет использоваться для идентификации имени пользователя при аутентификации. | Параметр не требуется для управляемой системы MS Active Directory, и может быть удален из конфигурации. |
connectionString | Строка подключения к БД | Указать строку по шаблону: |
9.3. Создать файлы конфигурации кластера:
cp idm/configs/idm/cluster.idm.config.json /opt/avanpost/config/idm-cluster.config cp idm/configs/iga/cluster.iga.config.json /opt/avanpost/config/iga-cluster.config
Шаг 10. Настроить сервисы "idm" и "iga"
Для этого требуется:
10.1. Скопировать пример файла конфигурации сервиса "idm" в каталог "systemd":
sudo cp /opt/avanpost/idm/configs/idm/idm.service /etc/systemd/system/idm.service
10.2. Скопировать пример файла конфигурации сервиса "iga" в каталог "systemd":
sudo cp /opt/avanpost/idm/configs/iga/iga.service /etc/systemd/system/iga.service
10.3. Открыть для редактирования файл "/etc/systemd/system/iga.service":
sudo nano /etc/systemd/system/iga.service
10.4. Заполнить файл "/etc/systemd/system/iga.service" по примеру:
[Unit] Description=IGA App [Service] WorkingDirectory=/opt/avanpost/idm/web ExecStart=/usr/bin/dotnet /opt/avanpost/idm/web/Avanpost.Idm.Selfservice.WebHost.dll Restart=always RestartSec=10 SyslogIdentifier=iga User=avanpost # В строке ниже задается локальный порт на котором будет подниматься приложение Environment="ASPNETCORE_URLS=http://localhost:5001/;http://localhost:5002/" Environment="ASPNETCORE_ENVIRONMENT=Production" Environment="DOTNET_PRINT_TELEMETRY_MESSAGE=false" Environment="IGA_CFG=/opt/avanpost/config/iga.config" Environment="CLUSTER_CFG=/opt/avanpost/config/iga-cluster.config" [Install] WantedBy=multi-user.target
10.5. Добавить сервисы "idm" и "iga" в автозапуск и запустить их:
sudo systemctl daemon-reload sudo systemctl enable idm sudo systemctl enable iga sudo systemctl start idm sudo systemctl start iga
Шаг 11. Настроить Angie
Для этого требуется:
11.1. Открыть файл конфигурации Angie "/etc/angie/angie.conf" для редактирования:
sudo nano /etc/angie/angie.conf
11.2. В секцию http записать значение:
map $http_upgrade $connection_upgrade { default upgrade; "" close; }
11.3. Скопировать пример файла конфигурации Angie в "/etc/angie/http.d/avanpost.conf":
sudo cp /opt/avanpost/idm/configs/idm/idm.conf.angie /etc/angie/http.d/avanpost.conf
11.4. Открыть конфигурационный файл "/etc/angie/http.d/avanpost.conf" для редактирования:
sudo nano /etc/angie/http.d/avanpost.conf
11.5. В конфигурационном файле "/etc/angie/http.d/avanpost.conf" указать доменные имена для сервисов, которые перенаправляются Angie:
Параметр | Значение |
---|---|
server_name | Адрес сервиса IDM для обращения к нему сервиса коннекторов в режиме обратного соединения в формате "idm.[ваш домен]" |
server_name | Адрес web-интерфейса администрирования в формате "adm.[ваш домен]" |
server_name | Адрес web-интерфейса пользователя в формате "user.[ваш домен]" |
[ваш домен] заменить на фактическое доменное имя |
Примечание:
11.6. Проверить конфигурацию с помощью команды:
sudo angie -t
# angie: the configuration file /etc/angie/angie.conf syntax is ok # angie: configuration file /etc/angie/angie.conf test is successful
11.7. Перезапустить Angie:
sudo systemctl restart angie
Шаг 12. Проверить работу сервера
Для проверки необходимо:
12.1. Открыть веб-браузер и перейти по адресу "http://adm.[ваш домен]" (заменить [ваш домен] на фактическое доменное имя, настроенное на шаге 11.5 данной инструкции).
12.2. Аутентифицироваться с использованием учетной записи, данные которой были указаны в файле "iga.config" в параметре "rootUser" на шаге 9.2 данной инструкции.
12.3. Перейти по адресу "http://user.[ваш домен]" (заменить [ваш домен] на фактическое доменное имя, настроенное на шаге 11.5 данной инструкции).
12.4. Аутентифицироваться с использованием учетной записи, данные которой были указаны в файле "iga.config" в параметре "rootUser" на шаге 9.2 данной инструкции.
Шаг 13. Загрузить конфигурацию
После завершения установки и проверки работы сервера выполнить загрузку конфигурации через интерфейс администратора IDM Base:
1. Перейти в раздел "Администрирование" → "Миграция данных".
2. Переключиться на вкладку "Импорт".
3. Нажать "Выбрать архив конфигураций" и выбрать файл для загрузки: configs\Idm.Base.Configuration.zip.
Установка IDM Base завершена. Можно приступать к настройке кадровых источников.
Примечание:
Подробнее о кадровых источниках см. статью "5.1.3. Настройка кадровых источников" руководства по администрированию