Гид по технологиям

Установка PostgreSQL и phpPgAdmin на Ubuntu 16.04

4 min read Databases Обновлено 28 Nov 2025
PostgreSQL и phpPgAdmin на Ubuntu 16.04
PostgreSQL и phpPgAdmin на Ubuntu 16.04

Важно: пример рассчитан на Ubuntu Server 16.04 и требует прав root или sudo.

Коротко о технологиях

  • PostgreSQL — мощная объектно-реляционная СУБД с расширенными возможностями. Кратко: база данных для серьёзных проектов.
  • phpPgAdmin — веб‑приложение на PHP для управления PostgreSQL через браузер.
    Определение: роль (role) в PostgreSQL — единица аутентификации и авторизации, аналог учётной записи/группы в Unix.

Предварительные условия

  • Сервер с Ubuntu Server 16.04.
  • Доступ root или пользователь с sudo.

Что мы сделаем

  1. Установим PostgreSQL, phpPgAdmin и Apache2.
  2. Настроим роль postgres и пароль.
  3. Настроим Apache2 для доступа к phpPgAdmin.
  4. Настроим phpPgAdmin для входа под postgres.
  5. Перезапустим службы и проверим работу через браузер.

Установка PostgreSQL, phpPgAdmin и Apache2

Пакеты доступны в репозитории Ubuntu. Выполните одну команду:

sudo apt-get -y install postgresql postgresql-contrib phppgadmin

Примечание: этот набор установит необходимые зависимости (Apache2, PHP и т.д.). Если вы используете отрезанный минимальный образ, убедитесь, что установлены php и модули для Apache.

Настройка пользователя PostgreSQL

PostgreSQL использует роли. По умолчанию создаётся роль postgres. Для управления нужно войти под системным пользователем postgres и вызвать psql:

sudo su
su - postgres
psql

Установите пароль для роли postgres внутри psql:

\password postgres

ENTER YOUR PASSWORD

Затем выйдите из psql командой \q и из системного пользователя postgres командой:

exit

Установка пароля для роли postgres в psql.

Совет: используйте надёжный пароль и сохраняйте его в хранилище паролей для администратора.

Настройка Apache2 для phpPgAdmin

Отредактируйте конфигурационный файл phpPgAdmin, чтобы обеспечить доступ извне (по умолчанию доступ может быть ограничен только локально).

cd /etc/apache2/conf-available/
nano phppgadmin.conf

Найдите директивы вида Require local или блоки, ограничивающие доступ по IP. Один из простых вариантов — закомментировать строку Require local и добавить правило, позволяющее доступ извне (в тестовой среде):

  • Закомментируйте Require local (добавьте # впереди).
  • Добавьте Allow from all или используйте современные директивы Require all granted для Apache 2.4.

После изменения проверьте синтаксис конфигурации и перезапустите Apache:

apachectl configtest
systemctl restart apache2

Важно: не открывайте phpPgAdmin в публичный интернет без дополнительной защиты (см. раздел «Безопасность»).

Настройка phpPgAdmin

Отредактируйте файл конфигурации phpPgAdmin, чтобы разрешить вход под ролью postgres:

cd /etc/phppgadmin/
nano config.inc.php

Найдите строку:

$conf['extra_login_security'] = true;

Измените значение на false:

$conf['extra_login_security'] = false;

Это позволит входить под системной ролью postgres через веб‑интерфейс. После изменения сохраните файл и перезапустите службы (см. следующий раздел).

Перезапуск PostgreSQL и Apache2

systemctl restart postgresql
systemctl restart apache2

Проверьте статус служб:

systemctl status postgresql
systemctl status apache2

Тестирование доступа

Откройте в браузере:

http://yourip/phppgadmin/

Стартовая страница phpPgAdmin в браузере

В форме введите пользователя postgres и установленный пароль:

Форма входа в phpPgAdmin

После успешного входа вы увидите интерфейс управления базой:

Интерфейс phpPgAdmin после входа

Критерии приёмки

  • Установлены пакеты postgresql и phppgadmin без ошибок.
  • Роль postgres имеет пароль и вход в psql возможен.
  • Доступ к phpPgAdmin по адресу http://yourip/phppgadmin/ доступен из браузера (с разрешённых IP).
  • Вход в phpPgAdmin под пользователем postgres успешен.

Проверка и отладка (частые проблемы)

  • 403 Forbidden при доступе к /phppgadmin — проверьте настройки phppgadmin.conf и директивы доступа Apache.
  • Не удаётся залогиниться под postgres — убедитесь, что $conf['extra_login_security'] = false и пароль задан в psql.
  • Ошибки PHP — проверьте логи Apache /var/log/apache2/error.log и установите необходимые модули PHP.

Рекомендации по безопасности

  • Не оставляйте phpPgAdmin общедоступным в интернет. Ограничьте доступ по IP или настройте HTTP‑аутентификацию.
  • По возможности не используйте роль postgres для повседневного администрирования; создавайте отдельные роли с ограниченными правами.
  • Используйте SSL/TLS для защиты трафика между браузером и сервером (настроить HTTPS в Apache).
  • Разрешайте доступ к панели только из доверенной сети или через VPN.

Минимальные шаги для защиты (рекомендация):

  1. Настройте Require ip <ваш_адрес> в конфигурации Apache.
  2. Включите HTTPS (Let’s Encrypt или коммерческий сертификат).
  3. Используйте сложные пароли и храните их в менеджере паролей.

Альтернативные подходы

  • Вместо phpPgAdmin можно использовать pgAdmin (более современный инструмент) или управлять базой через psql и скрипты.
  • Для автоматизированного развертывания используйте Ansible/RPM/DEB‑пакеты и шаблоны конфигурации.

Роль‑ориентованные задачи (краткий чеклист)

Администратор системы:

  • Установить пакеты и проверить статусы служб.
  • Настроить бэкапы PostgreSQL.

Разработчик БД:

  • Создать отдельные роли и базы данных.
  • Проверить права доступа к схемам и таблицам.

Оператор безопасности:

  • Настроить HTTPS и ограничить доступ по IP.
  • Провести аудит логов и доступов.

Резюме

PostgreSQL и phpPgAdmin можно быстро развернуть на Ubuntu 16.04 из стандартных репозиториев. Основные шаги — установка пакетов, установка пароля роли postgres, корректировка настроек Apache и phpPgAdmin, перезапуск служб и проверка доступа в браузере. Обязательно применяйте меры безопасности перед выставлением панели в продуктивную сеть.

Полезные ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство