Настройка PostgreSQL
Перед установкой Закрома.Диск подготовьте PostgreSQL для двух сервисов:
- Закрома.Диск использует базу
diskи схемуdisk. - Keycloak использует базу
keycloakи схемуkeycloak.
Создание базы данных для Закрома.Диск
- Зайдите под пользователем с административными правами PostgreSQL:
1sudo su - postgres
- Подключитесь к PostgreSQL:
1psql -U postgres -d postgres
- Выполните SQL-команды. Замените
zakroma_passwordна пароль вашего контура.
1CREATE USER zakroma_user LOGIN PASSWORD 'zakroma_password'; 2CREATE DATABASE disk OWNER zakroma_user; 3\c disk; 4DROP SCHEMA IF EXISTS public; 5CREATE SCHEMA disk AUTHORIZATION zakroma_user; 6GRANT ALL PRIVILEGES ON DATABASE disk TO zakroma_user; 7GRANT ALL PRIVILEGES ON SCHEMA disk TO zakroma_user;
Эти значения должны совпадать с переменными в inventories/<inventory>/group_vars/zakroma-disk.yml:
1zakroma_disk_dsdrive: 2 database: 3 host: "postgres.zakroma.internal" 4 port: 5432 5 name: "disk" 6 search_path: "disk" 7 user: "zakroma_user" 8 password: "zakroma_password" 9 sslmode: disable
Если используется сервис dslocks с отдельным подключением к БД, настройте его на ту же базу и схему либо создайте отдельную схему по требованиям вашего контура.
Создание базы данных для Keycloak
В той же сессии psql создайте пользователя, базу и схему Keycloak. Замените keycloak_password на пароль вашего контура.
1CREATE USER keycloak_user LOGIN PASSWORD 'keycloak_password'; 2CREATE DATABASE keycloak OWNER keycloak_user; 3\c keycloak; 4DROP SCHEMA IF EXISTS public; 5CREATE SCHEMA keycloak AUTHORIZATION keycloak_user; 6GRANT ALL PRIVILEGES ON DATABASE keycloak TO keycloak_user; 7GRANT ALL PRIVILEGES ON SCHEMA keycloak TO keycloak_user;
Эти значения должны совпадать с переменными в inventories/<inventory>/group_vars/keycloak.yml:
1postgres_host: "postgresql.zakroma.internal" 2keycloak_quarkus_jdbc_url: "jdbc:postgresql://{{ postgres_host }}:5432/keycloak" 3keycloak_quarkus_db_schema: "keycloak" 4keycloak_quarkus_db_user: "keycloak_user" 5keycloak_quarkus_db_pass: "keycloak_password"
Завершение работы
Выйдите из psql и учетной записи postgres:
1exit 2exit