Установка PostgreSQL 10 и pgAdmin4 в Centos 7

Установка PostgreSQL 10 и pgAdmin4 в Centos 7

PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД).
PostgreSQL создана на основе некоммерческой СУБД Postgres, разработанной как open-source проект в Калифорнийском университете в Беркли.

Установка PostgreSQL 10

Добавляем репозиторий и устанавливаем PostgreSQL сервер и клиент

[root@localhost]# yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-1.noarch.rpm
[root@localhost]# yum install postgresql10-server postgresql10

Директория PostgreSQL: /var/lib/pgsql/10/data/

Инициализируем базу

[root@localhost]# /usr/pgsql-10/bin/postgresql-10-setup initdb

Запускаем сервис, добавляем его в автозагрузку и проверяем статус

[root@localhost]# systemctl start postgresql-10
[root@localhost]# systemctl enable postgresql-10
[root@localhost]# systemctl status postgresql-10

Проверим PostgreSQL и зададим пароль для пользователя postgres

[root@localhost]# su - postgres
$ psql

psql (10.0)
Type "help" for help.
postgres=# \password postgres
Enter new password:
Enter it again:

Установка web-клиента pgAdmin 4

Установим софт из репозиторияPostgreSQL

[root@localhost]# yum install pgadmin4

Во время установки, из-за зависимостей, будут также установлены следующие два пакета pgadmin4-web и httpd web server.

Переименовываем конфиг для web-интерфейса pgAdmin

[root@localhost]# mv /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf

Приводим файл к виду

[root@localhost]# 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, и поменяем их владельца

[root@localhost]# mkdir -p /var/lib/pgadmin4/
[root@localhost]# mkdir -p /var/log/pgadmin4/
[root@localhost]# chown -R apache:apache /var/lib/pgadmin4
[root@localhost]# chown -R apache:apache /var/log/pgadmin4

Отредактируем файл конфига config_distro.py, добавив строки

[root@localhost]# 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'

Создадим учетную запись пользователя, с которой мы будем аутентифицироваться в веб-интерфейсе.

[root@localhost]# 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 чтобы попасть в вэб-интерфейс

Установка PostgreSQL 10 и  pgAdmin4 в Centos 7 1
Максим Макаров
У блога появился хостинг, его любезно предоставила компания Облакотека.
Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Для этого достаточно кликнуть на контекстную рекламу, расположенную на сайте.
Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. Юрий

    Последовал инструкциям, но при попытке обращения к http://ip-address/pgadmin4 у меня в браузере выводится сообщение:

    “Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
    More information about this error may be available in the server error log.”

    при этом в логе /var/log/httpd/error_log file имеется следующая информация:

    [Mon Jun 24 10:31:38.070355 2019] [:error] [pid 27524] [remote 178.89.171.169:88] mod_wsgi (pid=27524): Target WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’ cannot be loaded as Python module.
    [Mon Jun 24 10:31:38.070400 2019] [:error] [pid 27524] [remote 178.89.171.169:88] mod_wsgi (pid=27524): Exception occurred processing WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’.
    [Mon Jun 24 10:31:38.070427 2019] [:error] [pid 27524] [remote 178.89.171.169:88] Traceback (most recent call last):
    [Mon Jun 24 10:31:38.070458 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi”, line 36, in
    [Mon Jun 24 10:31:38.070514 2019] [:error] [pid 27524] [remote 178.89.171.169:88] from pgAdmin4 import app as application
    [Mon Jun 24 10:31:38.070532 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.py”, line 97, in
    [Mon Jun 24 10:31:38.070554 2019] [:error] [pid 27524] [remote 178.89.171.169:88] app = create_app()
    [Mon Jun 24 10:31:38.070568 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/__init__.py”, line 243, in create_app
    [Mon Jun 24 10:31:38.070588 2019] [:error] [pid 27524] [remote 178.89.171.169:88] create_app_data_directory(config)
    [Mon Jun 24 10:31:38.070601 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/setup/data_directory.py”, line 42, in create_app_data_directory
    [Mon Jun 24 10:31:38.070622 2019] [:error] [pid 27524] [remote 178.89.171.169:88] os.chmod(config.SESSION_DB_PATH, 0o700)
    [Mon Jun 24 10:31:38.070646 2019] [:error] [pid 27524] [remote 178.89.171.169:88] OSError: [Errno 1] Operation not permitted: ‘/var/lib/pgadmin4/sessions’

    Помогите позалуйста решить проблему

    Ответить
    1. Максим Макаров автор

      Попробуйте удалить wsgi и поставить другую версию этой утилиты:
      [root@localhost]# yum remove mod_wsgi
      [root@localhost]# yum install python35u-mod_wsgi

      А так же отключить SELinux и перезагрузиться:
      [root@localhost]# setenforce 0
      [root@localhost]# reboot

      Ответить