Thank you for reading this post, don't forget to subscribe!
$ yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat11-11-2.noarch.rpm
$ yum install pgadmin4-web.noarch
$ pip install psycopg2-binary
$ pip install --upgrade pip
$ python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
$ chown -R apache:apache /var/lib/pgadmin /var/log/pgadmin
Переименовываем конфиг для web-интерфейса pgAdmin
mv /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
nano /etc/httpd/conf.d/pgadmin4.conf <VirtualHost *:80> LoadModule wsgi_module modules/mod_wsgi.so WSGIDaemonProcess pgadmin processes=1 threads=25 WSGIScriptAlias /pgadmin4 /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi <Directory /usr/lib/python2.7/site-packages/pgadmin4-web/> WSGIProcessGroup pgadmin WSGIApplicationGroup %{GLOBAL} <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> </VirtualHost> |
Далее создадим каталоги для либ и логов для pgAdmin4, и поменяем их владельца
mkdir -p /var/lib/pgadmin4/
mkdir -p /var/log/pgadmin4/
chown -R apache:apache /var/lib/pgadmin4
chown -R apache:apache /var/log/pgadmin4
$ systemctl enable httpd
$ systemctl start httpd
Отредактируем файл конфига config_distro.py, добавив строки
1 2 3 4 5 6 7 |
nano /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py LOG_FILE = '/var/log/pgadmin4/pgadmin4.log' SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db' SESSION_DB_PATH = '/var/lib/pgadmin4/sessions' STORAGE_DIR = '/var/lib/pgadmin4/storage' SERVER_MODE = True |
Вот что делают эти пять директив:
- LOG_FILE: определяет файл, в котором будут храниться логи pgAdmin.
- SQLITE_PATH: pgAdmin сохраняет пользовательские данные в базе данных SQLite, и эта директива указывает pgAdmin на эту базу данных. Поскольку этот файл находится в постоянном каталоге /var/lib/pgadmin4/, ваши пользовательские данные не будут потеряны после обновления.
- SESSION_DB_PATH: указывает, какой каталог будет использоваться для хранения данных сеанса.
- STORAGE_DIR: определяет, где pgAdmin будет хранить другие данные, такие как резервные копии и сертификаты безопасности.
- SERVER_MODE: если для этой директивы установлено значение True, pgAdmin будет работать в режиме сервера, а не в режиме рабочего стола.
Создадим учетную запись пользователя, с которой мы будем аутентифицироваться в веб-интерфейсе.
1 2 3 4 5 6 7 8 9 10 |
python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py NOTE: Configuration authentication for SERVER mode. Enter the email address and password to use for the initial pgAdmin user account: Email address: Password: Retype password: pgAdmin 4 - Application Initialisation ====================================== |
Теперь можно набрать в браузере http://%ip-address%/pgadmin4 чтобы попасть в вэб-интерфейс
====================================================================================================
Актуализация статьи на 10,06,2021
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install pgadmin4-redhat-repo.noarch
yum install pgadmin4-web.noarch
python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
настраиваем nginx
/etc/nginx/conf.d/wc.test.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
server { listen 80; listen [::]:80; server_name wc.test.ru; location / { return 307 https://wc.test.ru; } location /pgadmin4 { return 307 https://wc.test.ru$request_uri; } } server { listen 443 ssl http2; server_name wc.test.ru; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_session_cache shared:SSL:10m; fastcgi_buffer_size 4K; fastcgi_buffers 64 4k; fastcgi_max_temp_file_size 0; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ssl_certificate /etc/nginx/ssl/test2020.crt; ssl_certificate_key /etc/nginx/ssl/test2020.key; location / { proxy_pass http://10.71.231.80:81; # root /var/www/html; } location /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 https; proxy_pass http://10.71.231.80:81; } } |
cat /etc/httpd/conf.d/pgadmin4.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
WSGIDaemonProcess pgadmin processes=1 threads=25 WSGIScriptAlias /pgadmin4 /usr/lib/python3.6/site-packages/pgadmin4-web/pgAdmin4.wsgi <Directory /usr/lib/python3.6/site-packages/pgadmin4-web/> WSGIProcessGroup pgadmin WSGIApplicationGroup %{GLOBAL} <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> |
cat /etc/httpd/conf.d/wc.test.conf
1 2 3 4 5 6 7 |
<VirtualHost *:81> ServerAdmin test@test.ru DocumentRoot /var/www/html ErrorLog /var/log/httpd/error_wap.log CustomLog /var/log/httpd/access_wap.log combined </VirtualHost> |