Работы по установке компонентов Avanpost FAM Mobile Services выполняются на подготовленном сервере с ОС Linux.
При установке будут использованы два пакета для работы Avanpost FAM Mobile Services:
- API Service, предоставляющий API для мобильных приложений Avanpost Authenticator (E-passport Mobile для iOS) сотрудников;
- Push Service, выполняющий роль брокера сообщений для доставки push-сообщений в приложения сотрудников Avanpost Authenticator (E-passport Mobile для iOS).
Установка и настройка
Требования к окружению
Перед выполнением развёртывания по текущей инструкции необходимо выполнение следующих условий:
В ОС семейства Debian Linux должны быть установлены следующие программы:
- sudo(программа выполнения команд от имени суперпользователя).Выполнена синхронизация времени в ОС с сервером синхронизации времени.
Шаги по установке
Подготовка репозитория для установки сервисов
Подготовку репозитория выполнять следующим образом:
- Открыть файл с настройками репозитория для Push Service. При желании следует использовать любой текстовый редактор, доступный в системе, в данном примере работа ведется на основе использования редактора vi.
vi /etc/yum.repos.d/avanpost_pushgwsrv.repo
Примечание
Переход в режим ввода из командного режима в текстовом редакторе vi осуществляется командой i. Выход из режима ввода в командный режим осуществляется клавишей Esc. Для того, чтобы закончить редактирование и сохранить файл в текстовом редакторе vi, нужно ввести в командном режиме команду : , далее ввести команду для записи файла и выхода из редактора wq.
- Добавить текст по аналогии с нижеприведенным:
[avanpost_pushgwsrv] name=PUSHGWSRV Repository baseurl=https://packages.avanpost.ru/repository/rpm-hosted/PUSHGWSRV/CentOS/ enabled=1 protect=0 gpgcheck=0 metadata_expire=30s autorefresh=1 type=rpm-md gpgkey=https://docs.avanpost.ru/certs/deb-hosted.gpg.key
В качестве параметра baseurl требуется использовать актуальный путь к репозиторию:
- для CentOS:
baseurl=https://packages.avanpost.ru/repository/rpm-hosted/PUSHGWSRV/CentOS/ - для RED OS:
baseurl=https://packages.avanpost.ru/repository/rpm-hosted/PUSHGWSRV/REDOS/
- для CentOS:
- Открыть файл с настройками репозитория для API Service (допускается использовать любой текстовый редактор, доступный в системе, в данном примере работа ведется на основе использования редактора vi):
vi /etc/yum.repos.d/avanpost_proxy.repo
- Добавить следующий текст:
[avanpost_proxy] name=AUTHPROXY Repository baseurl=https://packages.avanpost.ru/repository/rpm-hosted/AUTHPROXY/CentOS/ enabled=1 protect=0 gpgcheck=0 metadata_expire=30s autorefresh=1 type=rpm-md gpgkey=https://docs.avanpost.ru/certs/deb-hosted.gpg.key
В качестве параметра baseurl требуется использовать актуальный путь к репозиторию:
- для CentOS:
baseurl=https://packages.avanpost.ru/repository/rpm-hosted/PUSHGWSRV/CentOS/ - для RED OS:
baseurl=https://packages.avanpost.ru/repository/rpm-hosted/PUSHGWSRV/REDOS/
- для CentOS:
Установка Push Service
- Используя консольный менеджер, обновить пакеты и установить пакет с сервисом при помощи команд:
sudo yum update sudo yum install avanpost_pushgwsrv
- Используя любой текстовый редактор, отредактировать файл с настройками (в данном примере работа ведется на основе использования редактора vi):
sudo vi /etc/systemd/system/pushgwsrv.service
- Указать актуальные значения параметров:
Параметр Значение [Unit]
DescriptionОписание (наименование) сервиса. [Service]
WorkingDirectoryРабочая директория, в которой запускается процесс. ExecStartКоманда для запуска сервиса с указанием полного пути к исполняемому файлу и параметрами командной строки. Содержит следующие параметры:
- --addr – IP-адрес или хост, на котором требуется открытие сетевого порта для получения сетевых запросов от сервера Avanpost FAM; например – 0.0.1;
- --port – порт, к которому будет подключаться Avanpost FAM Server; по умолчанию – 4222
RestartПараметр настройки автоматического перезапуска сервиса (значение alwaysозначает, что сервис будет автоматически перезапускаться при любой причине остановки).RestartSecВремя ожидания (в секундах) перед перезапуском сервиса после его остановки. SyslogIdentifierИмя, под которым логи сервиса записываются в системный журнал (syslog). UserИдентификатор пользователя, от имени которого запускается процесс. Рекомендуется использовать специально созданного пользователя idp. [Install]
WantedByПараметр, указывающий, когда должен быть запущен сервис (по умолчанию multi-user.targetсервис будет запускаться автоматически при загрузке системы).[Unit] Description=Avanpost FAM Mobile Services Push [Service] WorkingDirectory=/opt/push_gateway_server ExecStart=/opt/push_gateway_server/push_gateway_server -addr 10.10.181.96 -port 4222 Restart=always RestartSec=10 SyslogIdentifier=pushgwsrv User=idp [Install] WantedBy=multi-user.target
- Убедиться, что необходимые порты открыты в межсетевом экране firewalld (в противном случае сервис окажется недоступен извне).
- Перезапустить службы:
sudo systemctl daemon-reload sudo systemctl restart pushgwsrv
Установка API Service
Настройку FAM Push Service выполнять следующим образом:
- Используя консольный менеджер, обновить пакты и установить пакет с сервисом при помощи команд:
sudo yum update sudo yum install avanpost_authproxy
- Используя любой текстовый редактор, отредактировать файл с настройками (в данном примере работа ведется на основе использования редактора vi):
sudo vi /etc/systemd/system/authproxy.service
- Указать актуальные значения параметров:
Параметр Значение [Unit]
DescriptionОписание (наименование) сервиса. [Service]
WorkingDirectoryРабочая директория, в которой запускается процесс. ExecStartКоманда для запуска сервиса с указанием полного пути к исполняемому файлу и параметрами командной строки. Содержит следующие параметры
- --baddr – Адрес интерфейса для входящих запросов от мобильного приложения. IP-адрес (в примере ниже указан как 127.0.0.1): по умолчанию не определён и должен быть заменён на актуальное значение.
- --bport – Порт внутреннего сетевого интерфейса, к которому будет обращаться компонент Avanpost FAM Server (или экземпляры компонента Avanpost FAM Server в случае использования кластеризованной схемы развёртывания). Порт по умолчанию – 9999.
- --faddr – Адрес внешнего сетевого интерфейса, к которому обращаются мобильные приложения Avanpost Authenticator (E-passport Mobile). IP-адрес по умолчанию не определён и должен быть заменён на актуальное значение.
- --fport – Порт внешнего сетевого интерфейса, к которому обращаются мобильные приложения Avanpost Authenticator (E-passport Mobile). Порт по умолчанию – 8888.
DNS-имя (хост), используемое в качестве внешнего URL-адреса для подключения мобильного приложения Avanpost Authenticator, не должно содержать символа подчёркивания (_). Согласно стандарту DNS (RFC 1035), имена хостов должны соответствовать правилам LDH (только латинские буквы, цифры и дефис).
- --token – Cекретный токен, заданный на стороне компонента Avanpost FAM Server при настройке API Service.
Важно
В токене не должно содержаться кириллических символов, а также спецсимволов (~ . .. / # ? * [ ] ; & < > | ! $). Сам токен следует обрамлять одинарными кавычками в качестве дополнительной защиты (экранирование символов от использования их в качестве параметров командной строки).
- --skip-not-initial – Обязательный флаг для режима работы с несколькими FAM-узлами в отказоустойчивом исполнении. Обеспечивает агрегацию push-уведомлений и маршрутизацию запросов.
RestartПараметр настройки автоматического перезапуска сервиса (значение alwaysозначает, что сервис будет автоматически перезапускаться при любой причине остановки).RestartSecВремя ожидания (в секундах) перед перезапуском сервиса после его остановки. SyslogIdentifierИмя, под которым логи сервиса записываются в системный журнал (syslog). UserИдентификатор пользователя, от имени которого запускается процесс. Рекомендуется использовать специально созданного пользователя idp. [Install]
WantedByПараметр, указывающий, когда должен быть запущен сервис (по умолчанию multi-user.targetсервис будет запускаться автоматически при загрузке системы).[Unit] Description=Avanpost FAM Mobile Services API [Service] WorkingDirectory=/opt/authenticator_proxy ExecStart=/opt/authenticator_proxy/authenticator_proxy --baddr 127.0.0.1 --bport 9999 --faddr 127.0.0.1 --fport 8888 --token '111111111' Restart=always RestartSec=10 SyslogIdentifier=authproxy User=idp [Install] WantedBy=multi-user.target
- Убедиться, что необходимые порты открыты в межсетевом экране firewalld (в противном случае сервис окажется недоступен извне).
- Перезапустить службы:
systemctl daemon-reload systemctl enable authproxy systemctl start authproxy
Настройка на стороне Avanpost FAM Server
Перед выполнением настройки следует убедиться, что с сервера Avanpost FAM доступен порт:
- addr:port Push Service;
- baddr:bport API Service.
Настройку компонента на стороне FAM Server необходимо выполнять следующим образом (для получения более подробной информации следует обратиться к статьям Управление аутентификацией и Настройка метода Avanpost Authenticator):
- В административной консоли в режиме "Сервис" перейти в раздел "Настройки методов аутентификации".
- Нажать кнопку "Добавить метод аутентификации".
- Настроить параметры согласно таблице и нажать "Далее".
Параметр Значение Название Указать произвольное название (например, «Avanpost Authenticator»). Фактор аутентификации Выбрать «Avanpost Authenticator». Метод активен Установить флаг. - На следующем шаге указать параметры работы метода аутентификации согласно таблице (дополнительной информации о параметрах представлена в статье Настройка метода Avanpost Authenticator):
Параметр Значение Ключ-тэг Указать любой уникальный удобный идентификатор, состоящий из букв латинского алфавита и цифр (значение будет фигурировать в журналах). Метод активен Установить флаг. Мобильные сервисы включены и доступны для пользователей Установить флаг. Адрес push-сервиса Ввести значение: baddr:bport Push Service.Email службы технической поддержки Ввести контактную информацию и сообщение для пользователей.
Во избежание возникновения ошибки данные поля должны быть заполнены.
Телефон службы технической поддержки Сообщение для пользователей DNS-имя (хост), используемое в качестве внешнего URL-адреса для подключения мобильного приложения Avanpost Authenticator, не должно содержать символа подчёркивания (_). Согласно стандарту DNS (RFC 1035), имена хостов должны соответствовать правилам LDH (только латинские буквы, цифры и дефис).
- Нажать кнопку "Сохранить".
- В разделе "Настройки методов аутентификации" перейти в профиль настроенного метода и задать следующие параметры.
Параметр Значение Внешний URL-aдрес Ввести один из следующих вариантов:
- Если компонент API Service развёрнут без последующего проксирования через внешний сетевой интерфейс, то установить значение параметра faddr:fport API Service;
- Если компонент не развёрнут, то установить значение параметра base_url из основного конфигурационного файла компонента Avanpost FAM Server config.toml.
Токен для подключения к API-сервису Значение, указанное ранее для параметра token для запуска компонента API Service. - Дождаться автоматического перезапуска обработчиков: после завершения настройки и включения метода аутентификации (процесс может занять от нескольких секунд до 1 минуты). Сервер Avanpost FAM самостоятельно считает новые параметры и выполнит переподключение, после чего механизм push-уведомлений будет доступен и начнет функционировать.