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

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

• 4 min read • Базы данных • Обновлено 28 Nov 2025
PostgreSQL и phpPgAdmin на Ubuntu 15.04
PostgreSQL и phpPgAdmin на Ubuntu 15.04

О чём эта инструкция

PostgreSQL (или Postgres) — мощная объектно-реляционная СУБД с гибкой BSD-подобной лицензией. phpPgAdmin — веб-интерфейс на PHP для управления базами PostgreSQL. Это руководство показывает установку и базовую настройку PostgreSQL и phpPgAdmin на Ubuntu 15.04.

Кому полезно: системным администраторам, разработчикам и тестировщикам, которым нужен быстрый веб-интерфейс для управления БД.

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

  • Сервер с Ubuntu Server 15.04.
  • Доступ root или sudo.

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

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

Шаг 1 — Установка PostgreSQL, phpPgAdmin и Apache2

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

sudo apt-get install postgresql postgresql-contrib phppgadmin

Эта команда установит PostgreSQL и необходимые компоненты (Apache, PHP и т.д.).

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

PostgreSQL использует «роли» для аутентификации и авторизации, похожие на UNIX-права. По умолчанию создаётся роль postgres. Для управления СУБД переключитесь на системного пользователя postgres:

sudo su
su - postgres

Откройте интерактивный клиент psql:

psql

Поменяйте пароль роли postgres:

\password postgres

<введите новый пароль>

Смена пароля роли postgres в psql

Важно: для веб-доступа к phpPgAdmin лучше создавать отдельного администратора с ограниченными правами, а не использовать напрямую системного пользователя postgres.

Шаг 3 — Настройка Apache2

Отредактируйте конфигурацию phpPgAdmin:

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

В старых конфигурациях может быть строка Require local. Для доступа извне закомментируйте её и добавьте разрешение доступа, например:

# Require local
Require all granted

Или используйте директивы на базе IP, если нужно ограничить доступ только с конкретных хостов.

Разрешение доступа к phpPgAdmin через Apache

Шаг 4 — Настройка phpPgAdmin

Отредактируйте файл конфигурации phpPgAdmin:

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

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

$conf['extra_login_security'] = true;

и измените её на:

$conf['extra_login_security'] = false;

Это позволит входить в phpPgAdmin под ролью postgres. Однако это снижает безопасность — смотрите раздел про упрочнение ниже.

Разрешение логина для web-пользователя postgres

Шаг 5 — Перезапуск PostgreSQL и Apache2

systemctl restart postgresql
systemctl restart apache2

Шаг 6 — Тестирование

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

http://<ваш_ip>/phppgadmin/

Главная страница phpPgAdmin

Попробуйте войти под пользователем postgres и введённым ранее паролем.

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

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

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

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

  • Веб-страница phpPgAdmin доступна по адресу http://<ваш_ip>/phppgadmin/.
  • Удалось войти под ролью postgres или созданным администратором.
  • Видны списки баз данных и объекты (схемы, таблицы).
  • Перезапуск сервисов не выдал ошибок.

Упрочнение и рекомендации по безопасности

Важно: phpPgAdmin по умолчанию предоставляет мощный интерфейс. Несколько простых правил:

  • Не позволяйте доступ к phpPgAdmin напрямую в интернет. Ограничьте доступ по IP или настройте VPN.
  • Не используйте системного пользователя postgres для повседневного администрирования из веб-интерфейса. Создайте отдельную роль с нужными привилегиями.
  • Включите SSL/TLS в Apache и требуйте HTTPS.
  • Отключите $conf[‘extra_login_security’] только если понимаете риски; лучше создать отдельную роль.
  • Регулярно обновляйте систему и пакеты.

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

  • pgAdmin — современный и активно развиваемый веб/настольный интерфейс для PostgreSQL.
  • Adminer — лёгкий PHP-скрипт с поддержкой PostgreSQL и других СУБД.
  • Использовать psql и автоматизацию (ansible/terraform) для управления на продакшн-серверах.

Каждый инструмент имеет свои сильные стороны: phpPgAdmin прост и лёгок, pgAdmin предоставляет больше возможностей для DBA, а Adminer удобен для оперативных задач.

Совместимость и миграция

Ubuntu 15.04 устарела и не получает обновлений безопасности. Для рабочего или продакшн-сервера рекомендуется использовать LTS-версии Ubuntu (например, 20.04 или 22.04). Пакеты PostgreSQL и phpPgAdmin в новых релизах устанавливаются аналогично, но имена пакетов и пути конфигурации могут отличаться. Перед миграцией:

  • Проверьте версии PostgreSQL на исходном и целевом хостах.
  • Сделайте дамп через pg_dumpall или физическую репликацию.
  • Тестируйте восстановление на стенде.

Быстрая методология развёртывания (cheat sheet)

  1. apt-get update && apt-get install postgresql postgresql-contrib phppgadmin
  2. sudo su - postgres && psql && \password postgres
  3. Изменить /etc/apache2/conf-available/phppgadmin.conf и /etc/phppgadmin/config.inc.php
  4. systemctl restart postgresql && systemctl restart apache2
  5. Проверить доступ и логи: journalctl -u postgresql, journalctl -u apache2

Ролевой чек-лист (System Admin / DBA / Developer)

  • System Admin:
    • Установил пакеты.
    • Настроил firewall и ограничения доступа.
    • Включил HTTPS.
  • DBA:
    • Создал отдельные роли и бэкапы.
    • Настроил политики резервного копирования.
    • Проверил права в СУБД.
  • Developer:
    • Получил тестовый аккаунт с минимальными правами.
    • Проверил подключение через приложение.

Тестовые случаи и приёмка

  • Попытка входа с корректным/некорректным паролем. Ожидаемо: успешный логин / отказ.
  • Просмотр списка баз данных. Ожидаемо: видимость только тех баз, на которые есть права.
  • Создание таблицы и вставка строки через интерфейс. Ожидаемо: изменения видны в psql.

Краткий словарь

  • Роль: учётная запись и набор привилегий в PostgreSQL.
  • psql: командная строка PostgreSQL.
  • phpPgAdmin: веб-интерфейс управления PostgreSQL.

Заключение

PostgreSQL — надёжная и гибкая СУБД. phpPgAdmin упрощает базовые операции через браузер, но требует осторожной настройки доступа и прав. Для продакшна рассматривайте современные альтернативы и используйте LTS‑версии ОС.

Ссылки

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро