Site icon IT Draft

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

Установка 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

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

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


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

Exit mobile version