Общая часть
Не следует обновлять FAM самостоятельно, если установлена кастомизированная версия продукта. Для обновления такой версии следует обратиться в техническую поддержку продукта. Перед обновлением обязательно сделать бекап базы данных, файла key.dat и конфигурационного файла или всего сервера, если это удобнее.
Информация
encryptionKey = ‘key.dat’ – критически важный файл. Отвечает за расшифровку подключения к БД. Если переносится база, то переносится и сам файл. Если файл удалён, то придётся создать новую базу.
Важно
При обновлении важно понимать, что версия используемой базы данных должна равняться версии исполняемого файла FAM и папки public (в ней находятся шаблоны конкретной версии, которые также изменяются).
Если базу привели к состоянию на момент существования до обновления, нужно будет привести и исполняемые файлы к четкому соответствию.
Пример:
- Если нужно установить версию продукта 1.8: восстановить исполняемые файлы на версию, существующую в бекапе базы данных, затем снова восстановить базу данных для версии 1.8.
- Если нужно установить версию продукта 1.10: необходимо восстановить базу данных к версии 1.8 и обновиться стандартным методом (при помощи команд migratedb и init). Только после этого следует запускать службу сервера.
Важно
Если используется конфигурация сети с установкой двух серверов (отказоустойчивый кластер), то перед выполнением следует остановить службу на обоих серверах. Затем на одном выполнить инструкцию целиком последовательно, а на втором обновить только файлы, не выполняя миграцию БД (шаги 5 и 6 данной инструкции). Затем запустить службу на обоих серверах.
Обновление версий
Для обновления следует произвести следующие действия от имени пользователя idp:
- Скачать новую версию FAM Server по ссылке: Sonatype Nexus Repository.
- Остановить службу idp следующей командой:
sudo systemctl stop idp
- Перед обновлением удалите папку public (/opt/idp/public), так как при распаковки архива только заменяются существующие файлы и добавляются новые, не используемые файлы будут оставаться в каталоге. Если у вас были внесены изменения в шаблоны, то не удаляйте данную папку. Удаление папки производится следующей командой:
sudo rm -r /opt/idp/public
- Скопировать с заменой файлы из скачанного архива в /opt/idp/ (вместо avanpost_fam_server-* следует подставить имя архива):
tar -C /opt/idp -xvzf /path_to_tar_file/avanpost_fam_server-*.linux.tar.gz
- Находясь в каталоге /opt/idp/ , следует выполнить миграцию БД командой:
./fam_linux_amd64 -migratedb postgres
- Выполнить команду (после сообщения об успешном завершении миграции):
./fam_linux_amd64 -init
- Запустить службу на сервере FAM.
sudo systemctl start idp
8. При переходе на новый формат конфигурационного файла FAM с json на toml в файле службы idp.service (стандартный путь /etc/systemd/system/idp.service) также необходимо удалить строку для переменной Environment (можно указать новое расширение файла или удалить строку целиком).
Для правильной работы MFA+FAM необходимо обновить и FAM Mobile Services. Версия FAM Mobile Services должна быть идентична версии FAM Server. После обновления версии также нужно включить параметр backgroundTasks = true, для выполнения корректной синхронизации LDAP и работы с мобильными сервисами (фактор Avanpost Authenticator).
Информация
В случае возникновения ошибок с Base Url, в /opt/idp/config.toml замените base_url на baseUrl.
Приложение А. Создание новой БД при проблемах с файлом key.dat
При удалении или изменении ключа шифрования файла key.dat следует:
- Зайти в интерактивный терминал PostgreSQL.
sudo -u postgres psql
2. Удалить старую базу данных.
DROP DATABASE idp
3. Создать новую базу данных.
CREATE DATABASE idp OWNER=avanpost ENCODING=utf8;
4. Выйти из терминала.
5. Создать новый ключ шифрования.
./fam_linux_amd64 -generatekey
6. Произвести миграцию базы данных.
./fam_linux_amd64 -migratedb postgres
7. Инициализировать приложение.
./fam_linux_amd64 -init