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

Установка 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
Автор
Редакция

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

Как устроить идеальную вечеринку для просмотра ТВ
Развлечения

Как устроить идеальную вечеринку для просмотра ТВ

Как распаковать несколько RAR‑файлов сразу
Инструменты

Как распаковать несколько RAR‑файлов сразу

Приватный просмотр в Linux: как и зачем
Приватность

Приватный просмотр в Linux: как и зачем

Windows 11 не видит iPod — способы исправить
Руководство

Windows 11 не видит iPod — способы исправить

PS5: как настроить игровые пресеты
Консоли

PS5: как настроить игровые пресеты

Как переключить камеру в Omegle на iPhone и Android
Руководство

Как переключить камеру в Omegle на iPhone и Android