4.3. Установка и первоначальная настройка #

4.3.1. Требования к аппаратному и программному обеспечению
4.3.2. Состав дистрибутива
4.3.3. Процесс установки
4.3.4. Первоначальная настройка
4.3.5. Вход в веб-приложение
4.3.6. Указание значений времени

В этом разделе описывается установка службы управления ProGate и первоначальная настройка. Служба управления ProGate представляет собой набор приложений, который обеспечивает работу ProGate через веб-интерфейс.

4.3.1. Требования к аппаратному и программному обеспечению #

Для работы службы управления ProGate требуется выделенный или виртуальный сервер со следующими минимальными характеристиками:

  • ЦП: 8 ядер

  • ОЗУ: 16 ГБ

  • Дисковое пространство: 100 ГБ

  • Сетевой интерфейс: 1 Гбит/с

ProGate работает в следующих операционных системах на базе Linux:

  • Альт 9/10/11, Альт СП релиз 10

  • Astra Linux 1.7/1.8

  • Debian 12/13

  • РЕД ОС МУРОМ 7.3/8.2

  • Red Hat Enterprise (RHEL) Linux 8/9

  • РОСА «ХРОМ» 2021.2

  • SUSE Linux Enterprise Server (SLES) 15

  • Ubuntu 22.04/24.04

4.3.2. Состав дистрибутива #

ProGate поставляется в виде пакета progate, который включает все необходимые зависимости.

В пакет progate входят следующие утилиты, которые также могут устанавливаться отдельно (например, чтобы использовать только консоль):

  • procopy (пакет)

  • prosync (пакет)

  • procheck (пакет)

Примечание

procheck пока не предоставляется для работы через веб-интерфейс и поэтому может использоваться только как консольная утилита.

4.3.3. Процесс установки #

Для установки и конфигурирования службы управления ProGate выполните следующие шаги:

  1. Установите репозиторий:

    wget -O pgpro-repo-add.sh https://repo.postgrespro.ru/progate/progate/keys/pgpro-repo-add.sh
    sh pgpro-repo-add.sh
  2. Установите пакет:

    apt install progate
            

    Результат установки будет следующим:

    • Созданы пользователь и группа с именем progate.

    • Утилиты procopy, prosync и procheck установлены в каталог /opt/pgpro/progate/bin/.

    • Добавлена служба progate.service, которая первоначально отключена.

    Примечание

    На этом этапе доступны только консольные утилиты procopy, prosync и procheck. Веб-интерфейс пока не готов к работе и требует дополнительной настройки в соответствии с инструкциями, приведёнными в Подразделе 4.3.4.

4.3.4. Первоначальная настройка #

Для начала работы с веб-интерфейсом ProGate выполните следующие шаги:

  1. Создайте базу данных, пользователя и схему.

    Для работы веб-интерфейса ProGate требуется база данных PostgreSQL/Postgres Pro. В этой базе данных создайте специальную схему для хранения служебных данных веб-интерфейса и пользователя для работы с этой схемой. Например, создайте базу данных с именем dbname, в ней схему progate и пользователя user с паролем password:

    CREATE USER user WITH PASSWORD 'password';
    CREATE SCHEMA progate AUTHORIZATION user;
    GRANT ALL PRIVILEGES ON SCHEMA progate TO user;
    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA progate TO user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA progate
    GRANT ALL PRIVILEGES ON TABLES TO user;
    GRANT USAGE, CREATE ON SCHEMA progate TO user;
    GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA progate TO user;
  2. Укажите базу данных для службы.

    Чтобы указать базу данных, в файле окружения /opt/pgpro/progate/etc/env_progate следующим образом отредактируйте строку под комментарием ниже (за подробностями обратитесь к Подразделу 4.3.4.1):

    # Строка подключения к PostgreSQL/Postgres Pro
    PROGATE_DB="postgres://user:password@host:5430/dbname?sslmode=disable&search_path=progate"

    В качестве значения search_path используйте имя созданной схемы.

    При составлении строки подключения должны быть выполнены условия:

    • Пользователь, указанный в строке подключения, имеет права для работы в схеме progate.

    • Схема содержится в указанной базе данных.

  3. Запустите службу progate.service, используя следующие команды, и добавьте их в автозапуск системы:

    systemctl start progate.service
    systemctl enable progate.service
  4. (Необязательно) При наличии брандмауэра разрешите сетевые подключения через порт TCP/8081.

Выполнение всех шагов без ошибок означает, что служба управления ProGate успешно запущена. Веб-интерфейс ProGate доступен по адресу: http://<IP-адрес сервера>:8081. О том, как войти в веб-приложение, см. Подраздел 4.3.5.

4.3.4.1. Настройка ProGate с помощью файла окружения #

Для правильной работы службы в автоматически созданном файле окружения /opt/pgpro/progate/etc/env_progate отредактируйте переменную PROGATE_DB. В ней укажите свои значения user, password, host, port, dbname и search_path. Значение search_path должно содержать имя схемы для хранения служебной информации. Содержимое файла окружения может быть примерно таким:

# Порт для серверной части ProGate 
PROGATE_HTTP_SERVER_PORT="8081"

# Серверная часть ProGate обслуживает статические файлы из этого каталога
PROGATE_HTTP_SERVER_STATIC_DIR="/opt/pgpro/progate/ui"

# Строка подключения к PostgreSQL/Postgres Pro
PROGATE_DB="postgres://user:password@host:5430/dbname?sslmode=disable&search_path=progate"

# Формат записей журнала: json | pretty
PROGATE_LOGS_FORMAT=pretty

# Уровень журналирования: debug | info | warn | error
PROGATE_LOGS_LEVEL=info

# Длина секретного токена. Должна быть больше или равна 32 символам
PROGATE_AUTH_ACCESS_TOKEN_SECRET="mT-Y8ICZv-zhirL_j2K69vX_Upbo8B6rMKtplqv4U4I="

# Время жизни токена доступа веб-интерфейса
PROGATE_AUTH_ACCESS_TOKEN_LIFETIME="168h"

# Время жизни токена обновления доступа веб-интерфейса
PROGATE_AUTH_REFRESH_TOKEN_LIFETIME="720h"

# Путь к бинарному файлу prosync
PROGATE_TRANSFER_WORK_PROSYNC_BIN="/opt/pgpro/progate/bin/prosync"

# Путь к бинарному файлу procopy
PROGATE_TRANSFER_WORK_PROCOPY_BIN="/opt/pgpro/progate/bin/procopy"

# Путь к каталогу с файлами конфигурации procopy/prosync и другими служебными файлами, используемыми серверной частью ProGate
PROGATE_TRANSFER_WORK_WORKING_DIR="/var/lib/progate/execution"

О том, как устанавливать значения времени в переменных окружения, можно узнать из Подраздела 4.3.6.

4.3.4.2. Настройка ProGate с помощью файла конфигурации #

Помимо переменных окружения, ProGate можно настроить с помощью файла конфигурации .yaml. Передайте путь к этому файлу с флагом -c. Например:

/opt/pgpro/progate/bin/progate -c path/to/config.yaml

Файл конфигурации определяет значения тех же характеристик, что и переменные окружения, и может выглядеть следующим образом:

http_server:
  port: 8081
  static_dir: "/opt/pgpro/progate/ui"
db: "postgres://dbaas@localhost:5430/dbaas?sslmode=disable&search_path=progate"
logs:
  format: pretty
  level: info
auth:
  access_token_secret: "mT-Y8ICZv-zhirL_j2K69vX_Upbo8B6rMKtplqv4U4I="
  access_token_lifetime: 168h
  refresh_token_lifetime: 720h
transfer_work:
  prosync:
    bin: "/opt/pgpro/progate/bin/prosync"
  procopy:
    bin: "/opt/pgpro/progate/bin/procopy"
  working_dir: "/var/lib/progate/execution"

Параметры конфигурации описаны в Таблице 4.8.

Таблица 4.8. Содержимое файла конфигурации ProGate

Параметр конфигурацииПеременная окруженияОписаниеПример
http_server.portPROGATE_HTTP_SERVER_PORTПорт для серверной части ProGate8081
http_server.static_dirPROGATE_HTTP_SERVER_STATIC_DIRСерверная часть ProGate обслуживает статические файлы из этого каталога/opt/pgpro/progate/ui
dbPROGATE_DBСтрока подключения к PostgreSQL/Postgres Propostgres://user:password@host:port/dbname​?sslmode=disable?search_path=progate
logs.formatPROGATE_LOGS_FORMATФормат записей журнала: json / prettypretty
logs.levelPROGATE_LOGS_LEVELУровень журналирования: debug / info / warn / errorinfo
auth.access_token_secretPROGATE_AUTH_ACCESS_TOKEN_SECRETДлина секретного токена. Должна быть не менее 32 символовmT-Y8ICZv-zhirL_j​2K69vX_Upbo8B6rMKtplqv4U4I=
auth.access_token_lifetimePROGATE_AUTH_ACCESS_TOKEN_LIFETIMEВремя жизни токена доступа веб-интерфейса168 ч
auth.refresh_token_lifetimePROGATE_AUTH_REFRESH_TOKEN_LIFETIMEВремя жизни токена обновления доступа веб-интерфейса720 ч
transfer_work.prosync.binPROGATE_TRANSFER_WORK_PROSYNC_BINПуть к бинарному файлу prosync/opt/pgpro/progate/bin/prosync
transfer_work.procopy.binPROGATE_TRANSFER_WORK_PROCOPY_BINПуть к бинарному файлу procopy/opt/pgpro/progate/bin/procopy
transfer_work.working_dirPROGATE_TRANSFER_WORK_WORKING_DIRПуть к каталогу с файлами конфигурации procopy / prosync и другими служебными файлами, используемыми серверной частью ProGate/var/lib/progate/execution

4.3.5. Вход в веб-приложение #

Для входа в веб-приложение используйте следующие учётные данные:

  • Логин: progate

  • Пароль: progate

4.3.6. Указание значений времени #

В ProGate значения времени в переменных окружения и параметрах конфигурации используют формат строк продолжительности (duration string) Golang. Например:

  • 100 ms — 100 миллисекунд

  • 5.5s — пять с половиной секунд

  • 5m — пять минут

  • 5h — пять часов

  • 1h7m — один час и семь минут