Серверы баз данных

/
/
Установка Pgadmin4 на сервере с ispmanager 6

Установка Pgadmin4 на сервере с ispmanager 6

Для управления PostgreSQL в панели ispmanager 6, можно использовать веб-приложение Pgadmin4.

Авторизация в Pgadmin4 выполняется под одним пользователем, после чего можно подключиться к PostrgreSQL под нужным пользователем.

Сначала потребуется установить само приложение Pgadmin4:

apt install pgadmin4-web

rpm install pgadmin4-web

Сконфигурируйте установленный Pgadmin4:

/usr/pgadmin4/bin/setup-web.sh

Измените стандартный порт Pgadmin4 в файле config_local.py, указав директиву DEFAULT_SERVER_PORT. Например, так будет выглядеть строка для порта 3000:

DEFAULT_SERVER_PORT = 3000

Создайте конфигурационный файл для Pgadmin4 в каталоге Nginx:

touch /etc/nginx/vhosts-includes/pgadmin4-nginx.conf

Разместите следующую конфигурацию в созданном файле:

location = /pgadmin4 {
    return 301 /pgadmin4/;
}

location /pgadmin4/ {
    proxy_pass http://127.0.0.1:3000/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:3000/pgadmin4/ /pgadmin4/;
    proxy_redirect http://127.0.0.1:3000 /;
   
    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;
}

Если вы указали другой порт для работы Pgweb, измените его для директивы 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="admin+">
    <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_pgweb">PostgreSQL</msg>
      <msg name="modernmenu_open_pgadmin4">Pgadmin4</msg>
    </messages>
  </lang>
</mgrdata>

В значении function можно использовать любой сайт, который есть в панели - в этом случае Pgadmin4 будет открываться по адресу этого сайта и будет защищен SSL-сертификатом сайта, если он установлен.

В файл /usr/local/mgr5/addon/myaddon.sh запишите только одну строку:

#!/bin/bash

Перезапустите панель:

/usr/local/mgr5/sbin/mgrctl -m ispmgr -R