Установка PostgreSQL 9.6 и phpPgAdmin на CentOS7
1. Устанавливаем репозитарий PostgreSQL
# yum install wget
# cd /usr/src/
# wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm
# yum install pgdg-redhat96-9.6-3.noarch.rpm
2. Устанавливаем сервер PostgreSQL
# yum install postgresql96-server
Устанавливаем расширения
# yum install postgresql96-contrib
Производим инициализацию базы данных:
# /usr/pgsql-9.6/bin/postgresql96-setup initdb
Initializing database ... OK
Помещаем в авто загрузку
# systemctl enable postgresql-9.6
Запуск
# systemctl start postgresql-9.6
Перезапуск выполняется так:
# systemctl restart postgresql-9.6
3. Преднастройка сервера
После установки необходимо подключиться к базе и установить пароль основного пользователя postgres, который по умолчанию пароля не имеет:
# sudo -u postgres psql
psql (9.6.2)
Введите "help", чтобы получить справку.
postgres=# \password postgres
Введите новый пароль: <вводим пароль>
Повторите его: <повторяем ввод пароля>
postgres=#
Для выхода из консоли psql выхода нажимаем CTRL+D
Вносим изменения в «PostgreSQL Client Authentication Configuration File»
# nano /var/lib/pgsql/9.6/data/pg_hba.conf
Блок типов подключений приводим к виду:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 10.0.0.0/8 md5
# IPv6 local connections:
#host all all ::1/128 ident
Здесь мы меняем метод аутентификации на md5 и указываем диапазон ip адресов, откуда будут подключаться клиенты (10.0.0.0/8)
Строку, относящуюся к IPv6 комментируем.
Рестартуем сервис:
# systemctl restart postgresql-9.6
Теперь можно подключится к консоли PostreSQL
# psql -U postgres -W
Пароль пользователя postgres: <вводим пароль>
psql (9.6.2)
Введите "help", чтобы получить справку.
postgres=#
Если не внести настройки в файл pg_hba.conf, то при запуске клиента будем получать ошибку:
# psql -U postgres -W
Пароль пользователя postgres:
psql: ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (Peer)
Для того, что бы сервис PostgeSQL был доступен по сети вносим изменения в файл конфигурации postgresql.conf
# nano /var/lib/pgsql/9.6/data/postgresql.conf
В разделе CONNECTIONS AND AUTHENTICATION меняем значение переменной listen_addresses с localhost на *
#------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost'
listen_addresses = '0.0.0.0'
Рестартуем сервис
# systemctl restart postgresql-9.6
Проверяем и убеждаемся, что PostreSQL слушает нужные IP адреса:
# netstat -ltupn | grep 5432
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 9958/postmaster
4. Устанавливаем phpPgAdmin – инструмент удобного администрирования PostgreSQL через WEB-интерфейс.
# yum install pgadmin3_96
# yum install phpPgAdmin
Вносим изменения в файл конфигурации phpPgAdmin.conf
# nano /etc/httpd/conf.d/phpPgAdmin.conf
Содержимое файла:
#
# This configuration file maps the phpPgAdmin directory into the URL space.
# By default this application is only accessible from the local host.
#
Alias /phpPgAdmin /usr/share/phpPgAdmin
<Location /phpPgAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
#Require local
Require ip 127.0.0.1 192.168.0.0/16 10.0.0.0/8
#Require host example.com
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Deny from all
#Allow from 127.0.0.1
Allow from 127.0.0.1 192.168.0.0/16 10.0.0.0/8
Allow from ::1
# Allow from .example.com
</IfModule>
</Location>
Изменяемые строки выделены красным цветом. Смысл изменений – разрешить подключаться к web-интерфейсу только с определенных IP адресов.
Перезапускаем Apache
# systemctl restart httpd
Доступ к phpPgAdmin выполняется по URL http://<ip-адрес>/phpPgAdmin/
Пример:
Но зайти под пользователем postgres не получается:
В целях безопасности вход в phpPgAdmin запрещен от имени пользователя postgres.
Так же запрещен вход под именами: pgsql, root, administrator
Это поведение исправляется в файле настроек phppgadmin:
# nano /etc/phpPgAdmin/config.inc.php
Находим строку
$conf['extra_login_security'] = true;
Меняем ее на
$conf['extra_login_security'] = false;
Рестартуемся:
# systemctl restart postgresql-9.6
# service httpd restart
Но так лучше не делать по соображениям безопасности.
5. Мы создаем нового пользователя despot5 с паролем passwd и с правами администратора базы данных dbdespot5. PostgreSQL управляет доступом при помощи так называемых ролей, которые соответствуют с пользователям.
Переходим в консоль пользователя postgres
# su - postgres
-bash-4.2$
Заходим в консоль PostgreSQL
-bash-4.2$ psql
Пароль: <вводим пароль пользователя postgres>
psql (9.6.2)
Введите "help", чтобы получить справку.
postgres=#
Текущие пользователи просматриваются так:
postgres=# \du
Список ролей
Имя роли | Атрибуты | Член ролей
----------+-------------------------------------------------------------------------+------------
postgres | Суперпользователь, Создаёт роли, Создаёт БД, Репликация, Пропускать RLS | {}
Создаем нового пользователя
postgres=# CREATE USER despot5;
Устанавливаем пароль
postgres=# alter user despot5 with encrypted password 'passwd';
Создаем базу данных
postgres=# CREATE DATABASE dbdespot5;
Устанавливаем полные права пользователя despot5 на базу dbdespot5
postgres=# GRANT ALL privileges ON DATABASE dbdespot5 TO despot5;
Теперь подключится к phppgadmin можно под учеткой пользователя despot5:
Удаление базы данных из командной строки системы:
# su - postgres
-bash-4.2$ dropdb <ИмяБазДанных>
Затем вводим пароль пользователя postgres и база <ИмяБазДанных> удаляется.
Удаление пользователя из командной строки системы:
-bash-4.2$ dropuser <ИмяПользователя>
Затем вводим пароль пользователя postgres и пользователь <ИмяПользователя>удаляется.
ССЫЛКИ
https://www.pgadmin.org/features.php
https://www.unixmen.com/postgresql-9-4-released-install-centos-7
PhppgAdmin пишет Неверный логин
ОтветитьУдалитьМоя Россыпь >>>>> Download Now
ОтветитьУдалить>>>>> Download Full
Моя Россыпь >>>>> Download LINK
>>>>> Download Now
Моя Россыпь >>>>> Download Full
>>>>> Download LINK pf