Avanpost CA : 2. Установка Avanpost CA

Назначение

На странице описано размещение дистрибутива 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.

Обсуждение