Интеграция с Pgadmin4 в виде собственной службы
Для управления PostgreSQL в панели ispmanager 6, можно использовать веб-приложение Pgadmin4 в виде отдельной службы на Python.
Авторизация в Pgadmin4 выполняется под единым аккаунтом администратора, после чего можно подключиться к PostrgreSQL под нужным пользователем.
Сначала потребуется установить само приложение Pgadmin4:
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /etc/apt/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/etc/apt/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'
apt install pgadmin4-web
rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm
yum install pgadmin4-web
Выполните первичную конфигурацию Pgadmin4:
/usr/pgadmin4/bin/setup-web.sh
На этапе первичной конфигурации будет создана учетная запись администратора Pgadmin4 - запомните эти данные!
Приведите файл /usr/pgadmin4/web/config_local.py к виду:
SERVER_MODE = True
DEFAULT_SERVER = '127.0.0.1'
DEFAULT_SERVER_PORT = 5050
PROXY_X_FOR_COUNT = 1
PROXY_X_HOST_COUNT = 1
PROXY_X_PORT_COUNT = 1
PROXY_X_PREFIX_COUNT = 1
SESSION_COOKIE_SECURE = True
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_PATH = '/pgadmin4'
Создайте файл для службы Pgadmin4 с Flask по пути /etc/systemd/system/pgadmin4.service и добавьте в него следующую конфигурацию:
[Unit]
Description=pgAdmin 4 Service
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/usr/pgadmin4/web
Environment="PYTHONPATH=/usr/pgadmin4/web"
Environment="SCRIPT_NAME=/pgadmin4"
ExecStart=/usr/pgadmin4/venv/bin/python3 /usr/pgadmin4/web/pgAdmin4.py
Restart=always
[Install]
WantedBy=multi-user.target
[Unit]
Description=pgAdmin 4 Service
After=network.target
[Service]
User=apache
Group=apache
WorkingDirectory=/usr/pgadmin4/web
Environment="PYTHONPATH=/usr/pgadmin4/web"
Environment="SCRIPT_NAME=/pgadmin4"
ExecStart=/usr/pgadmin4/venv/bin/python3 /usr/pgadmin4/web/pgAdmin4.py
Restart=always
[Install]
WantedBy=multi-user.target
Перезагрузите конфигурацию менеджера systemd:
systemctl daemon-reload
Включите автозапуск службы Pgadmin4 и запустите её:
systemctl enable pgadmin4
systemctl restart pgadmin4
Проверьте статус службы:
systemctl status pgadmin4
● pgadmin4.service - pgAdmin 4 Service
Loaded: loaded (/etc/systemd/system/pgadmin4.service; enabled; preset: disabled)
Active: active (running) since Mon 2026-09-28 08:32:54 UTC; 3min 38s ago
Main PID: 4017318 (python3)
Tasks: 3 (limit: 23127)
Memory: 121.1M (peak: 122.5M)
CPU: 3.892s
CGroup: /system.slice/pgadmin4.service
└─4017318 /usr/pgadmin4/venv/bin/python3 /usr/pgadmin4/web/pgAdmin4.py
Sep 28 08:32:54 white-diopside.example.com systemd[1]: Started pgAdmin 4 Service.
Sep 28 08:32:58 white-diopside.example.com python3[4017318]: Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.
Sep 28 08:32:58 white-diopside.example.com python3[4017318]: 2026-09-28 08:32:58,027: WARNING werkzeug: Werkzeug appears to be used in a production depl>
Sep 28 08:32:58 white-diopside.example.com python3[4017318]: * Serving Flask app 'pgadmin'
Sep 28 08:32:58 white-diopside.example.com python3[4017318]: * Debug mode: off
Настройка веб-интерфейса
Для Litespeed и Apache
Создайте конфигурационный файл по пути /etc/apache2/conf.d/pgadmin4.conf (для RHEL-based систем путь /etc/httpd/conf.d/pgadmin4.conf) со следующим содержимым:
<IfModule mod_proxy.c>
ProxyPreserveHost On
ProxyPass /pgadmin4 http://127.0.0.1:5050/pgadmin4
ProxyPassReverse /pgadmin4 http://127.0.0.1:5050/pgadmin4
ProxyPassReverseCookiePath / /pgadmin4
<Location /pgadmin4>
Require all granted
RequestHeader set X-Script-Name "/pgadmin4"
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s"
<IfModule mod_security2.c>
SecRuleEngine Off
</IfModule>
</Location>
</IfModule>
Перезапустите службу веб-сервера:
Для Debian-based систем:
systemctl apache restart
Для RHEL-based систем:
systemctl httpd restart
systemctl lsws restart
Теперь веб-интерфейс Pgadmin4 доступен по пути /pgadmin4 для адреса сервера и любого сайта в этой панели, например https://192.168.0.10/pgadmin4 или https://domain.com/pgadmin4.
Для авторизации используются данные администратора, который был создан во время первичной конфигурации Pgadmin4.
Для Nginx
Создайте конфигурационный файл по пути /etc/nginx/vhosts-includes/pgadmin4-nginx.conf со следующим содержимым:
location = /pgadmin4 {
return 301 /pgadmin4/;
}
location /pgadmin4/ {
proxy_pass http://127.0.0.1:5050/pgadmin4/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Script-Name /pgadmin4;
proxy_redirect http://127.0.0.1:5050/pgadmin4/ /pgadmin4/;
proxy_redirect http://127.0.0.1:5050 /;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
proxy_cookie_path /pgadmin4 /pgadmin4;
}
Перезапустите службу Nginx;
systemctl nginx restart
Теперь веб-интерфейс Pgadmin4 доступен по пути /pgadmin4 для адреса сервера и любого сайта в этой панели, например https://192.168.0.10/pgadmin4 или https://domain.com/pgadmin4.
Для авторизации используются данные администратора, который был создан во время первичной конфигурации Pgadmin4.