Установка Pgadmin4 на сервере с ispmanager 6
Для управления PostgreSQL в панели ispmanager 6, можно использовать веб-приложение Pgadmin4.
Авторизация в 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:
Данная конфигурация поддерживается для Nginx+Apache Prefork
/usr/pgadmin4/bin/setup-web.sh
Создайте конфигурационный файл для Pgadmin4 в каталоге Nginx:
touch /etc/nginx/vhosts-includes/pgadmin4-nginx.conf
Разместите следующую конфигурацию в созданном файле:
location = /pgadmin4 {
return 301 /pgadmin4/;
}
location /pgadmin4/ {
proxy_pass http://127.0.0.1:8080/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:8080/pgadmin4/ /pgadmin4/;
proxy_redirect http://127.0.0.1:8080 /;
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;
}
Если вы указали другой порт для работы Pgadmin4, измените его для директивы proxy_pass.
Перезапустите Nginx:
service nginx restart
Теперь веб-интерфейс Pgadmin4 доступен по пути /pgadmin4 для адреса сервера и любого сайта в этой панели, например https://192.168.0.10/pgadmin4 или https://domain.com/pgadmin4.
Чтобы создать кнопку для перехода веб-интерфейс в разделе Все разделы, создайте два файла:
touch /usr/local/mgr5/etc/xml/ispmgr_mod_pgadmin.xml
touch /usr/local/mgr5/addon/myaddon.sh
В файле /usr/local/mgr5/etc/xml/ispmgr_mod_pg.xml разместите следующую конфигурацию:
<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<mainmenu level="user+">
<modernmenu>
<node name="my_pgadmin4" customicon="/manimg/icons/pg.svg">
<node name="open_pgadmin4" function="https://<ip-адрес_сервера>/pgadmin4" />
</node>
</modernmenu>
</mainmenu>
<handler name="myaddon.sh" type="xml">
<func name="open_pgadmin4" />
</handler>
<lang name="en">
<messages name="desktop">
<msg name="modernmenu_my_pgadmin4">PostgreSQL</msg>
<msg name="modernmenu_open_pgadmin4">Pgadmin4</msg>
</messages>
</lang>
</mgrdata>
В значении function укажите свой ip-адрес или сайт. Можно использовать любой сайт, который есть в панели - в этом случае Pgadmin4 будет открываться по адресу этого сайта и будет защищен SSL-сертификатом сайта, если он установлен
В файл /usr/local/mgr5/addon/myaddon.sh запишите только одну строку:
#!/bin/bash
Перезапустите панель:
/usr/local/mgr5/sbin/mgrctl -m ispmgr -R