Установка PostgreSQL 10 и pgAdmin4 в Centos 7
PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД).
PostgreSQL создана на основе некоммерческой СУБД Postgres, разработанной как open-source проект в Калифорнийском университете в Беркли.
Установка PostgreSQL 10
Добавляем репозиторий и устанавливаем PostgreSQL сервер и клиент
1
2
$ sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-1.noarch.rpm
$ sudo yum install postgresql10-server postgresql10
Директория PostgreSQL: /var/lib/pgsql/10/data/
Инициализируем базу
1
$ sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Запускаем сервис, добавляем его в автозагрузку и проверяем статус
1
2
3
$ sudo systemctl start postgresql-10
$ sudo systemctl enable postgresql-10
$ sudo systemctl status postgresql-10
Проверим PostgreSQL и зададим пароль для пользователя postgres
1
2
3
4
5
6
7
8
$ sudo su - postgres
$ psql
psql (10.0)
Type "help" for help.
postgres=# \password postgres
Enter new password:
Enter it again:
Установка web-клиента pgAdmin 4
Установим софт из репозитория PostgreSQL
1
$ sudo yum install pgadmin4
Во время установки, из-за зависимостей, будут также установлены следующие два пакета pgadmin4-web
и httpd web server
.
Переименовываем конфиг для web-интерфейса pgAdmin
1
$ sudo 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
$ sudo 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
, и поменяем их владельца
1
2
3
4
$ sudo mkdir -p /var/lib/pgadmin4/
$ sudo mkdir -p /var/log/pgadmin4/
$ sudo chown -R apache:apache /var/lib/pgadmin4
$ sudo chown -R apache:apache /var/log/pgadmin4
Отредактируем файл конфига config_distro.py
, добавив строки
1
2
3
4
5
6
$ sudo 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'
Создадим учетную запись пользователя, с которой мы будем аутентифицироваться в веб-интерфейсе.
1
2
3
4
5
6
7
8
9
10
$ sudo 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
чтобы попасть в вэб-интерфейс