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

Обновлено и опубликовано Опубликовано:

Тематические термины: PostgreSQLвеб-серверLinux.

Помимо десктопного приложения у pgAdmin есть и веб-версия, которую можно развернуть на сервере Linux и работать с СУБД в браузере с любого компьютера. Мы рассмотри вариант установки инструмента как на Linux Deb, так и 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.

2. Установка и запуск PostgreSQL на Ubuntu.

3. Как настроить удаленное подключение к PostgreSQL.

# Linux # Базы данных # Управление
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет