Установка PostgreSQL 9.4 на CentOS 7.1 – делаем сервер СУБД

Как видно из названия материала сегодня мы будем реализовывать сервер баз данных на операционной системе CentOS 7.1, в качестве СУБД у нас будет выступать PostgreSQL 9.4, в итоге сейчас мы подробно рассмотрим установку и настройку PostgreSQL, а также выполним дополнительные настройки самой операционной системы CentOS.

Итак, для начала давайте рассмотрим сценарий реализации нашего сервера баз данных.

Примечание! Подразумевается, что у Вас уже установлена операционная система CentOS 7.1, если нет, то об этом мы подробно разговаривали в материале — Установка Linux CentOS 7.1.

Скриншот 1

Допустим, наш сервер подключен к локальной сети и на него только что установили CentOS 7.1 (без графической оболочки) в связи с этим первое, что мы сделаем, это выполним настройку сетевого интерфейса на операционной системе, с учетом того, что в сети есть DHCP сервер. Затем мы установим и настроим PostgreSQL 9.4 таким образом, чтобы пользователи могли подключаться к базе данных по сети с предоставлением логина и пароля, также для этого нам нужно будет открыть соответствующий порт на фаерволе. Помимо всего прочего, для того чтобы PostgreSQL автоматически запускался, после перезагрузки сервера, мы поместим его в автозагрузку.

А теперь подробней по каждому пункту.

Примечание! Еще раз повторю, что CentOS 7.1 установлен у нас без среды рабочего стола и дополнительных приложений, т.е. «Минимальная установка».

Также уточняю, что все действия ниже, я буду выполнять от имени суперпользователя root.

Настраиваем сетевой интерфейс в CentOS 7.1

Так как по умолчанию у нас отсутствует команда ifconfig (в связи с отсутствием пакета net-tools), мы будем настраивать сетевой интерфейс путем редактирования конфигурационного файла. И делать мы это будем с помощью встроенного по умолчанию текстового редактора vi.

Для начала посмотрим название нашего сетевого интерфейса

 ip a

Скриншот 2

Теперь редактируем конфигурационный файл этого сетевого интерфейса, лежит он в каталоге /etc/sysconfig/network-scripts/ и название данного файла начинается с ifcfg-, в нем нам всего лишь нужно прописать активацию интерфейса при старте системы, параметр ONBOOT=yes, так как по умолчанию интерфейс уже настроен на работу с DHCP сервером

 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Жмем клавишу i и вносим изменения, затем для выхода из режима жмем Esc, а для сохранения файла нажимаем Shift: затем вводим wq и подтверждаем по «Enter»

Скриншот 3

Для того чтобы применить настройки необходимо перезапустить сеть, пишем команду

 /etc/init.d/network restart

или

 systemctl restart network

Теперь давайте узнаем ip адрес нашего сервера СУБД все той же командой ip a

Скриншот 4

Запомним что ip адрес нашего сервера это 192.168.0.6

Примечание! Так как для установки программного обеспечения, которое мы будем устанавливать ниже, нам будет необходим выход в Интернет, в связи с этим учтем, что после применения настроек сети, которые мы получим от DHCP сервера, доступ к Интернету у нас появится.

Установка текстового редактора Nano и пакета net-tools

Для удобства предлагаю установить текстовый редактор nano так как, редактировать различные конфигурационные файлы в операционной системе Linux приходиться достаточно часто. Также, для того чтобы в будущем мы могли использовать замечательную команду ifconfig, для более быстрой и удобной настройки сетевых интерфейсов, дополнительно давайте еще установим пакет net-tools.

 yum –y install nano net-tools

Скриншот 5

После выполнения этой команды у нас появится и редактор nano и команда ifconfig.

Установка PostgreSQL 9.4

Начнем мы с проверки, какая версия PostgreSQL есть в стандартных репозиториях CentOS 7.1

 yum list | grep postgresql

Скриншот 6

Мы видим, что там присутствует только версия 9.2, поэтому давайте подключим дополнительный репозиторий

 rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm

Скриншот 7

И еще раз проверим, появилась ли нужная нам версия

 yum list | grep postgresql

Скриншот 8

Как видим, она появилась.

Переходим непосредственно к установке, выполняем команду

 yum -y install postgresql94-server postgresql94

Скриншот 9

Для инициализации базы данных выполним

 /usr/pgsql-9.4/bin/postgresql94-setup initdb

Скриншот 10

Запускаем и помещаем в автозагрузку PostgreSQL 9.4

Помещаем в авто загрузку

 systemctl enable postgresql-9.4

и запускаем

 systemctl start postgresql-9.4

Создание и настройка пользователей в PostgreSQL 9.4

И для начала давайте зададим пароль для пользователя postgres, так как по умолчанию он создается без пароля, для этого переключимся на пользователя postgres и запустим утилиту psql

 su - postgres
 psql

Меняем пароль пользователя postgres

 \password postgres

Теперь давайте создадим нового пользователя, пишем команду (просто, для того чтобы уметь это делать)

 CREATE ROLE testuser WITH PASSWORD '123456' LOGIN;

Где, testuser это логин пользователя, а 123456 его пароль.

Для выхода из psql и переключения обратно под root нажимаем два раза сочетание клавиш CTRL+D.

Перезапускаем PostgreSQL

 systemctl restart postgresql-9.4

Скриншот 11

Настраиваем PostgreSQL 9.4

По сценарию к базе должны подключаться пользователи, по локальной сети используя логин и пароль, поэтому давайте, разрешим подключения по сети (к примеру, моя сеть это 192.168.0.0/24) и настроим аутентификацию. Сначала открываем файл конфигурации pg_hba.conf

 nano /var/lib/pgsql/9.4/data/pg_hba.conf

Ищем следующие строки

Скриншот 12

и вносим изменения (IPv6 мы не будем использовать, закомментируем эту строку знаком #)

Скриншот 13

Другими словами мы изменили метод аутентификации с ident на md5 и соответственно разрешили подключение из сети 192.168.0.0/24.

Сохраняем сочетанием клавиш CTRL+O с подтверждением по enter, затем просто закрываем файл CTRL+X

Теперь необходимо отредактировать файл postgresql.conf для того чтобы PostgreSQL слушал нужные нам сетевые интерфейсы

 nano /var/lib/pgsql/9.4/data/postgresql.conf

Ищем строку

#listen_addresses = ‘localhost’

и заменяем на

listen_addresses = ‘*’

В данном случае PostgreSQL будет слушать все доступные сетевые интерфейсы. Сохраняем и закрываем, таким же способом как мы это делали чуть выше.

Перезапускаем PostgreSQL

 systemctl restart postgresql-9.4

Настройка фаервола на CentOS 7.1 (открытие порта)

Осталось только открыть порт, для того чтобы пользователи из сети могли подключаться, и так как мы стандартный порт не меняли, то открываем именно его, т.е. 5432

 firewall-cmd —permanent —add-port=5432/tcp

Для того чтобы изменения вступили в силу, перезапустим файрвол

 firewall-cmd —reload

Скриншот 14

На этом все, установка и настройка PostgreSQL на CentOS 7.1 закончена, для проверки можете с любого компьютера в сети, попробовать подключится к серверу, например, используя pgAdmin, но учтите, что с версией PostgreSQL 9.4 умеет работать pgAdmin, начиная с версии 1.20, удачи!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.