DEB Пакет
Deb пакет содержит в себе основной конфигурационный файл, необходимый для работы серверной части, предварительно настроенный для выполнения базового развёртывания с помощью текущей инструкции, а так же минимальный конфигурационный файл для Nginx.
При внесении изменений в конфигурационный файл, выполнение развёртывания должно производиться с учётом возможного влияния изменённых параметров в сравнении с конфигурационным файлом из дистрибутива.
1. Требования к окружению
Перед выполнением развёртывания по текущей инструкции необходимо выполнение следующих условий:
В ОС должны быть установлены следующие программы:
- openssl
(программа управления сертификатами);- psql
(CLI-клиент из состава PostgreSQL);- nginx
(веб-сервер/прокси-сервер);- sudo
(программа выполнения команд от имени суперпользователя).При необходимости использования SAML – дополнительно установить средства проверки подписи XML по умолчанию они установлены:
xmlsec1
;xmlsec1-openssl
.
Выполнена синхронизация времени в ОС с сервером синхронизации времени.
Примечание
Установка и настройка указанных программ выходит за границы текущей инструкции и описана в справочных руководствах, идущих в комплекте с операционной системой Linux, на которой производится развёртывание.
2. Создание и развёртывание базы данных
Создать пользователя СУБД avanpost
с паролем и базу данных idp с помощью команд
:
sudo -u postgres psql CREATE USER avanpost WITH PASSWORD 'Passw0rd'; CREATE DATABASE idp OWNER=avanpost ENCODING=utf8; \q
CREATE USER avanpost WITH PASSWORD 'Passw0rd' | Команда SQL, выполняемая в среде psql, которая создает нового пользователя с именем avanpost и заданным паролем 'Passw0rd' |
CREATE DATABASE idp OWNER=avanpost ENCODING=utf8 | Команда SQL для создания новой базы данных с именем idp. Опции OWNER=avanpost устанавливают пользователя avanpost в качестве владельца базы данных. Опция ENCODING=utf8 устанавливает кодировку базы данных на UTF-8 |
Примечание
В файле /var/lib/pgsql/версия/data/pg_hba.conf
– изменить метод аутентификации на md5
для IPv4 (host all all 127.0.0.1/32
) и IPv6 (host all all ::1/128
) подключений:
После внесения изменений в pg_hba.conf
перезапустить PostgreSQL.
Путь к файлу pg_hba.conf
для разных ОС и версий ОС может отличаться.
Например, для Ubuntu файл хранится по пути: /etc/postgresql/'файл'
Для поиска необходимого файла рекомендуется воспользоваться командой find / -name 'pg_hba.conf'
3.Развертывание файлов дистрибутива
3.1 Вариант 1. Развёртывание файлов дистрибутива из архива (ручная установка)
Для развёртывания дистрибутива из dep-пакета необходимо:
Установить дополнительные пакеты, если их нет:
sudo apt install wget
Скачать последнюю версию deb-пакета FAM:
гдеwget https://packages.avanpost.ru/repository/deb-hosted/pool/a/avpfam/avpfam_*.*.*_amd64.deb --no-check-certificate
*.*.*
– это номер версии пакета.Выполнить установку пакета avpfam из директории расположения файла:
sudo dpkg -i avpfam_*.*.*_amd64.deb
- После начала установки следовать пункту 3.3 текущей инструкции.
3.2 Вариант 2. Развертывание файлов из репозитория (автоматическая установка)
Добавить репозиторий FAM в файл sources.list: при помощи команды sed вставить строку https://packages.avanpost.ru/repository/deb-hosted/ linux main в файл sources.list в директории /etc/apt.
sed -i '$ a\\ndeb https://packages.avanpost.ru/repository/deb-hosted/ linux main' /etc/apt/sources.list
Скачать публичный ключ репозитория:
wget -q "https://docs.avanpost.ru/certs/deb-hosted.gpg.key"
Добавить публичный ключ в Систему:
sudo apt-key add deb-hosted.gpg.key
Обновить список пакетов:
sudo apt update
Установить пакет FAM:
sudo apt install avpfam
Внимание
Стандартные репозитории Astra Linux содержат свои пакеты fam, перед установкой необходимо закомментировать все остальные репозитории и перед вынолнением установки повторно обновить список пакетов sudo apt update
Удержать пакет FAM от обновления при выполнении команды
apt upgrade
:sudo apt-mark hold avpfam
- После начала установки следовать пункту 3.3 текущей инструкции.
3.3 Действия во время установки
- При развертывании в диалоговых окнах необходимо указать следующие настройки:
Ввести доменное имя сервера FAM для настройки конфигурации NGINX.
Enter domain name of FAM Server for NGINX Config: Пример: idp.avanpost.local
Ввести IP-адрес сервера FAM.
Enter IP address of FAM Server for NGINX Config: Пример: 127.0.0.1
Ввеcти имя хоста или IP-адрес сервера PostgreSQL для сервера IDP.
Enter Postgresql Server host name for IDP Server: Пример: 127.0.0.1
Ввести имя БД для сервера IDP.
Enter DB name for IDP Server: Вводим BD name, которое ввели в пункте 2.
Ввести имя пользователя БД, созданного ранее.
Enter username of DB: Вводим username , которое ввели в пункте 2.
Ввести созданный ранее пароль от БД дважды.
Enter password of DB Enter password of DB (again) Вводим password, который вводили в пункте 2.
- Указать параметры само подписанного сертификата.
После установки необходимо добавить пользователя idp в группу root:
sudo usermod -aG root idp
4. Проверка публикации интерфейса системы на веб-сервере Nginx
Проверить в конце конфигурационного файла
/etc/nginx/nginx.conf
строку:include /etc/nginx/sites-enabled/*;
Проверить конфигурационный файл
idp.conf
на основе примера:sudo nano /etc/nginx/sites-available/idp.conf
Внимание
Адрес
idp.avanpost.local
должен указывать в сети на IP-адрес сервера, на котором размещается система средствами DNS.В противном случае требуется локально в конфигурации
/etc/hosts
клиентской машины, за которой работает пользователь или администратор, выполнить настройку маршрутизации с хоста на IP-адрес сервера с системой.Пример файла /etc/hosts
127.0.0.1 localhost
127.0.0.1 idp.avanpost.localПример содержимого конфигурационного файла в
idp.conf
:server { listen 80; server_name idp.avanpost.local; location / { proxy_pass http://127.0.0.1:4008; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Проверить ссылку в
sites-enabled
. Если ее нет, выполнить:sudo ln -s /etc/nginx/sites-available/idp.conf /etc/nginx/sites-enabled/idp.conf
После внесения изменений в конфигурацию Nginx:
a. Проверить конфигурацию:sudo nginx -t # nginx: the configuration file /etc/nginx/nginx.conf syntax is ok # nginx: configuration file /etc/nginx/nginx.conf test is successful
b. Перечитать конфигурацию Nginx:
sudo systemctl reload nginx
5. Постустановочные действия
Проверить реквизиты базы данных (сервера БД, наименования БД, имени пользователя или пароля) в конфигурационном файле /opt/idp/config.toml
в формате PostgreSQL Connection URI в параметр connectionString
в секцию database
.
Проверить наличие файла key.dat в /opt/idp.
При необходимости для генерации ключа шифрования key.dat
перейти в директорию /opt/idp
и выполнить команду:
cd /opt/idp ./fam_linux_amd64 -generatekey
При необходимости для инициализации приложения необходимо выполнить команду инициализации:
cd /opt/idp ./fam_linux_amd64 -init
Для регистрации новой учетной записи необходимо:
- Выполнить создание УЗ администратора (с указанием логина пользователя и пароля):
По умолчанию учетная запись администратора admin:admin123
./fam_linux_amd64 -createuser login:password
2. Назначить созданному пользователю системную роль admin
:
./fam_linux_amd64 -assignrole admin -user login
Далее запустите сервис
sudo systemctl start idp
6. Проверка установки
Откройте в браузере http://idp.avanpost.local/admin.
Должна открыться страница аутентификации в административную консоль. После ввода реквизитов учётной записи пользователь должен получить доступ к административной консоли системы.
При установке из deb-пакета по умолчанию в FAM создаётся пользователь admin с паролем admin123. По окончанию настройки рекомендуется либо удалить его, либо сразу изменить пароль в целях безопасности.