Установка веб-версии pgAdmin на Linux

Тематические термины: PostgreSQL, веб-сервер, Linux.
Помимо десктопного приложения у pgAdmin есть и веб-версия, которую можно развернуть на сервере Linux и работать с СУБД в браузере с любого компьютера. Мы рассмотри вариант установки инструмента как на Linux Deb, так и RPM.
Предварительная настройка
Развертывание на Linux Deb
Установка на RPM
Установка на RPM (РЕД ОС)
Вход в панель управления
Дополнительная информация
Подготовка системы
Если на сервере работает брандмауэр, мы заранее должны открыть порт 80 для http-запросов.
В зависимости от утилиты управления фильтрами, это делается по-разному.
а) Firewalld (как правило, для Linux RPM):
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
б) IPTABLES (для Linux Deb):
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
apt install iptables-persistent
netfilter-persistent save
Установка на DEB (Debian / Ubuntu / Astra Linux)
Импортируем ключ репозитория:
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
Создаем конфигурационный файл репозитория для pgAdmin:
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
Обновляем кэш репозиториев Linux:
apt update
Устанавливаем pgadmin-web:
apt install pgadmin4-web
Заканчиваем установку и настройку с помощью встроенного в приложение скрипта:
/usr/pgadmin4/bin/setup-web.sh
Установщик потребует ввести адрес email и пароль. Они нужны будут для доступа к веб-панели.
Установка завершена.
Установка на RPM (Rocky)
Устанавливаем репозиторий для pgAdmin:
rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm
Устанавливаем пакет pgadmin-web:
yum install pgadmin4-web
Заканчиваем установку и настройку с помощью встроенного в приложение скрипта:
/usr/pgadmin4/bin/setup-web.sh
Установщик потребует ввести адрес email и пароль. Они нужны будут для доступа к веб-панели.
Разрешаем автозапуск веб-сервера apache и стартуем его:
systemctl enable httpd --now
Установка завершена.
Установка на RPM (РЕД ОС)
В репозитории РЕД ОС уже имеется нужные нам пакеты. Устанавливаем их командой:
yum install httpd python3-mod_wsgi pgadmin4-httpd
Некоторые настройки нужно выполнить вручную. Создадим каталог для логов:
mkdir -p /var/log/pgadmin4/
Запускаем веб-сервер apache:
systemctl start httpd
Открываем файл:
vi /usr/lib/pgadmin4/config_local.py
Приводим его к виду:
import os
from config import *
HELP_PATH = '/usr/share/doc/pgadmin4/html/'
DATA_DIR = os.path.realpath(os.path.expanduser(u'/var/lib/pgadmin4'))
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
AZURE_CREDENTIAL_CACHE_DIR = os.path.join(DATA_DIR, 'azurecredentialcache')
KERBEROS_CCACHE_DIR = os.path.join(DATA_DIR, 'krbccache')
TEST_SQLITE_PATH = os.path.join(DATA_DIR, 'test_pgadmin4.db')
Выполняем установку и настройку с помощью встроенного python скрипта:
python /usr/lib/pgadmin4/setup.py
Установщик потребует ввести адрес email и пароль. Они будут нужны для доступа к веб-панели.
Выставляем в качестве владельца пользователя apache на каталоги с веб-скриптами и логами:
chown -R apache:apache /var/lib/pgadmin4 /var/log/pgadmin4
Если мы не отключали SELinux, добавим политики:
semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/pgadmin4(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/pgadmin4(/.*)?"
И применим их:
restorecon -R /var/lib/pgadmin4/
restorecon -R /var/log/pgadmin4/
Разрешаем автозапуск веб-сервера apache:
systemctl enable httpd
И перезагружаем его:
systemctl restart httpd
Установка завершена.
Проверка и подключение
Настройка завершена и наш pgadmin должен быть доступен по адресу http://<IP-адрес сервера>/pgadmin4.
Система запросит логин и пароль — вводим те, что задавали при выполнении скрипта установки.
Мы должны оказаться на странице, где можно регистрировать подключения к серверам PostgreSQL и работать с ними.
Читайте также
Другие полезные инструкции:
1. Установка и запуск PostgreSQL на CentOS или Rocky.