Назначение
На странице описано размещение дистрибутива Avanpost CA, создание системной учетной записи и настройка подключения к СУБД.
Предварительные требования
- подготовлена PostgreSQL;
- получен дистрибутив Avanpost CA;
- получена контрольная сумма или электронная подпись дистрибутива;
- подготовлена лицензия;
- определены
<CA_FQDN>и<DB_HOST>; - подготовлен пароль роли
avanpost_ca; - создана резервная копия БД, если выполняется повторная установка или миграция.
1. Установка служебных пакетов
Для РЕД ОС:
sudo dnf install unzip ca-certificates
2. Проверка дистрибутива
Проверьте имя и размер файла:
ls -lh <DISTRIBUTION_FILE>
Если вместе с дистрибутивом предоставлен файл SHA-256:
sha256sum -c <CHECKSUM_FILE>
Ожидаемый результат:
<DISTRIBUTION_FILE>: OK
Если контрольная сумма или подпись не совпадает, не продолжайте установку.
3. Создание системной учетной записи
Создайте отдельную системную учетную запись:
sudo useradd \
--system \
--create-home \
--home-dir /opt/avanpost \
--shell /sbin/nologin \
avanpost
Проверьте:
getent passwd avanpost
id avanpost
Интерактивный пароль этой учетной записи не требуется.
4. Подготовка каталогов
sudo install -d -o avanpost -g avanpost -m 750 /opt/avanpost
sudo install -d -o avanpost -g avanpost -m 750 /opt/avanpost/ca
sudo install -d -o avanpost -g avanpost -m 750 /opt/avanpost/ca/config
Если структура поставляемого архива отличается, используйте структуру из файла README конкретной сборки.
5. Распаковка дистрибутива
Сначала просмотрите содержимое:
unzip -l <DISTRIBUTION_FILE>
Распакуйте дистрибутив:
sudo unzip <DISTRIBUTION_FILE> -d /opt/avanpost
Назначьте владельца:
sudo chown -R avanpost:avanpost /opt/avanpost
sudo find /opt/avanpost -type d -exec chmod 750 {} \;
Не применяйте массовый chmod к закрытым ключам. Для них должны использоваться права 600.
6. Проверка исполняемых файлов
Пути в текущем дистрибутиве:
/opt/avanpost/ca/ca
/opt/avanpost/tools/migratetool/migratetool
Проверьте наличие:
sudo test -x /opt/avanpost/ca/ca
sudo test -x /opt/avanpost/tools/migratetool/migratetool
Если структура отличается, используйте пути из поставляемой инструкции.
7. Создание файла конфигурации
Создайте файл:
sudo install -o avanpost -g avanpost -m 600 /dev/null /opt/avanpost/ca/config/env
sudo vi /opt/avanpost/ca/config/env
Минимальный параметр подключения к БД:
SECRETS_BACKEND=env DB_HOST=<DB_HOST> DB_PORT=5432 DB_NAME=avanpost_ca DB_USER=avanpost_ca DB_PASSWORD=<URL_ENCODED_DB_PASSWORD> DB_SSL_MODE=disable
Если пароль содержит @, :, /, ?, #, % или другие специальные символы URL, пароль необходимо percent-encode.
Если дистрибутив содержит шаблон конфигурации, используйте его как основной источник и добавляйте только параметры, поддерживаемые установленной версией.
Проверьте права:
sudo chown avanpost:avanpost /opt/avanpost/ca/config/env
sudo chmod 600 /opt/avanpost/ca/config/env
sudo ls -l /opt/avanpost/ca/config/env
Не выводите содержимое файла в общий журнал или заявку поддержки.
8. Доверие к TLS-сертификату PostgreSQL
Если используется sslmode=verify-full, установите корневой сертификат доверия PostgreSQL в системное хранилище ОС либо укажите его поддерживаемым параметром строки подключения.
После установки обновите системное хранилище доверия средствами используемой ОС.
9. Выполнение миграции
Для нового экземпляра миграция создает структуру БД. При обновлении перед миграцией обязательна резервная копия.
Запустите миграцию с переменными окружения приложения:
sudo -u avanpost bash -c '
set -a
source /opt/avanpost/ca/config/env
set +a
/opt/avanpost/tools/migratetool/migratetool
'
Ожидаемый результат должен содержать сообщение об успешном завершении миграции.
Если миграция завершилась с ошибкой:
- не запускайте приложение;
- сохраните журнал;
- проверьте строку подключения;
- проверьте права роли БД;
- проверьте версию PostgreSQL;
- при повторной установке восстановите БД из резервной копии.
10. Проверка прав
sudo find /opt/avanpost -maxdepth 3 -printf "%M %u:%g %p\n"
Проверьте, что:
- файлы принадлежат
avanpost:avanpost; - конфигурация доступна только владельцу;
- закрытые ключи, если они уже созданы, имеют права
600; - каталоги не доступны на запись посторонним пользователям.
Критерии готовности
- контрольная сумма дистрибутива проверена;
- создана системная учетная запись
avanpost; - дистрибутив размещен в
/opt/avanpost; - исполняемые файлы доступны;
- конфигурация имеет права
600; - подключение к БД настроено;
- миграция завершена успешно.
Следующий шаг
Перейдите к странице Настройка systemd.