opened image

Установка PostgreSQL и pgadmin4 на панель HestiaCP

В панели 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.