У панелі HestiaCP можна під час встановлення додати підтримку системи управління базами даних (СУБД) PostgreSQL так само, як MySQL. Але якщо панель була встановлена тільки з СУБД MySQL, а потрібна додатково PostgreSQL, то її можна встановити і вбудувати в панель HestiaCP так, щоб управління базами здійснювалося через цю панель. Це можливо зробити без перевстановлення панелі.
Усі дії будуть проводитися в основному на базі скриптів встановлення панелі HestiaCP в конфігурації nginx + apache2 + php-fpm (multi PHP). Система Linux, з якою проводиться робота в даній статті - Ubuntu 20.04.
Встановлення PostgreSQL і додавання її в панель HestiaCP
Спочатку виконайте наступні команди для встановлення PostgreSQL.
# Додавання репозиторію
echo "deb [arch=$ARCH signed-by=/usr/share/keyrings/postgresql-keyring.gpg] https://apt.postgresql.org/pub/repos/apt/ $codename-pgdg main" > $apt/postgresql.list
curl -s https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/postgresql-keyring.gpg >/dev/null 2>&1
apt update
# Встановлення PostgreSQL
apt install postgresql postgresql-contrib
Додайте користувача для бази управління. Ім'я бази даних управління - postgres. Ім'я користувача буде також postgres.
sudo -iu postgres psql -c "ALTER USER postgres WITH PASSWORD 'PutYourPasswordHere'" > /dev/null 2>&1
Тут замість PutYourPasswordHere вкажіть свій пароль. Потрібно згенерувати складний, довгий пароль, що містить великі і малі латинські літери, а також спецсимволи.
Далі потрібно вписати в конфігураційний файл HestiaCP нову систему. Для цього відкрийте в будь-якому зручному редакторі файл /usr/local/hestia/conf/hestia.conf. Знайдіть параметр DB_SYSTEM і допишіть в нього pgsql. В результаті повинно вийти так:
DB_SYSTEM='pgsql,mysql'
Додайте PostgreSQL в систему HestiaCP виконавши команду:
v-add-database-host pgsql localhost postgres PutYourPasswordHere
Встановлення pgadmin4
У панелі HestiaCP разом з встановленням PostgreSQL зазвичай встановлюється phpPgAdmin (аналог phpMyAdmin), але цей додаток може не працювати з новими серверами PostgreSQL або PHP. Для управління базами даних PostgreSQL зручно встановити і використовувати систему pgadmin4.
Для її встановлення виконайте наступні дії:
# Додавання репозиторію
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
# Встановлення pgadmin4
apt install pgadmin4-web
Ці команди додадуть репозиторій додатку, ключі репозиторію і встановлять веб версію панелі. Існує також версія для робочого столу, але тут вона розглядатися не буде, оскільки “потягне” за собою встановлення оточення робочого столу, що для веб сервера не підходить.
Налаштування адмін панелі pgadmin4
Після встановлення системи виконайте скрипт і налаштуйте обліковий запис панелі:
/usr/pgadmin4/bin/setup-web.sh
Потрібно ввести e-mail (як логін) і пароль. Пароль може відрізнятися від того, що ми задали для бази даних postgres. Також скрипт запропонує створити конфігурацію apache2. Підтвердіть створення.
Скопіюйте файл конфігурації в відповідне місце конфігураційних файлів apache2 панелі HestiaCP:
cp /etc/apache2/conf-enabled/pgadmin4.conf /etc/apache2/conf.d/
systemctl restart apache2
Після встановлення pgadmin4 потрібно в неї додати сервер PostgreSQL. Для цього перейдіть за адресою:
https://<Ваш домен панелі HestiaCP>/pgadmin4
Можна також:
http://<IP адреса сервера>/pgadmin4
Введіть e-mail і пароль, створені на етапі налаштування адмін панелі pgadmin4.
Після входу першим ділом потрібно додати сервер PostgreSQL в систему pgadmin4. Для цього натисніть на кнопку Add New Server.
На вкладці General введіть будь-яку назву сервера:
На вкладці Connection введіть адресу сервера - localhost або 127.0.0.1. Введіть дані від створеної Вами бази даних postgres, увімкніть опцію Save password?.
Потім натисніть кнопку Save. Після цього у Вас буде можливість управляти базами даних PostgreSQL через панель pgadmin4. Рекомендую створювати і видаляти бази через панель HestiaCP в розділі DB, а інші дії - через pgadmin4. У панелі pgadmin4 будуть доступні всі бази даних PostgreSQL всіх користувачів сервера.
Висновок
У статті був розглянутий спосіб додавання PostgreSQL і pgadmin4 в панель управління HestiaCP.