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

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

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

Логотип PostgreSQL и иллюстрация архитектуры базы данных

PostgreSQL, часто называемый Postgres, — это мощная объектно-реляционная система управления базами данных с гибкой лицензией. Она подходит для больших проектов и имеет широкий набор продвинутых функций.

phpPgAdmin — это PHP‑приложение для веб-администрирования PostgreSQL. Оно ускоряет создание баз данных, ролей и таблиц через привычный веб‑интерфейс.

Этот материал показывает установку PostgreSQL и phpPgAdmin на Ubuntu 18.04 LTS (Bionic Beaver) на минимальном сервере. Приведены действия для администратора с root‑правами.

Что вам понадобится

  • Ubuntu 18.04 LTS
  • Доступ с root или привилегии sudo
  • Базовые навыки работы с терминалом

Краткий обзор плана действий

  1. Установить PostgreSQL и phpPgAdmin
  2. Настроить роль postgres и пароль
  3. Сконфигурировать Apache2 для phpPgAdmin
  4. Настроить файл конфигурации phpPgAdmin
  5. Протестировать работу и проверить доступ

Шаг 1 — Установка PostgreSQL, phpPgAdmin и зависимостей

Обновите индекс пакетов:

sudo apt update

Установите PostgreSQL и phpPgAdmin вместе с необходимыми зависимостями (Apache, PHP и т. п.):

sudo apt -y install postgresql postgresql-contrib phppgadmin

Команда подтянет пакеты из репозитория Ubuntu и автоматически установит нужные зависимости.

Важно: в репозитории Ubuntu для 18.04 версии пакетов могут быть чуть старее, чем в upstream. Если нужна последняя версия PostgreSQL, рассмотрите официальный репозиторий PostgreSQL.

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

PostgreSQL использует модель ролей для аутентификации и авторизации. По умолчанию создаётся роль ‘postgres’. Выполните вход под этим системным пользователем:

su - postgres

Откройте интерактивную консоль psql:

psql

Внутри psql смените пароль для роли ‘postgres’:

\password postgres

Введите безопасный пароль и подтвердите его.

Завершите сессию psql:

\q

Вернитесь к root или своему обычному пользователю:

exit

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

Совет: храните пароль в защищённом хранилище, например, в менеджере паролей.

Шаг 3 — Конфигурация Apache для phpPgAdmin

phpPgAdmin поставляется с конфигурационным файлом для Apache. Отредактируйте его:

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

Найдите директивы доступа. По умолчанию доступ ограничен локальным хостом. Измените так, чтобы разрешить доступ с внешних адресов, если это требуется:

Require all granted

Сохраните файл и включите конфигурацию, если она ещё не включена:

sudo a2enconf phppgadmin
sudo systemctl reload apache2

Примечание: предоставление общего доступа по сети увеличивает зону риска. На продакшене ставьте защиту на уровне брандмауэра, VPN или ограничьте доступ по IP.

Шаг 4 — Конфигурация phpPgAdmin

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

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

Найдите параметр extra_login_security и установите его в false, чтобы разрешить вход под пользователем ‘postgres’:

$conf['extra_login_security'] = false;

Сохраните файл. Затем перезапустите сервисы:

systemctl restart postgresql
systemctl restart apache2

Шаг 5 — Тестирование установки

По умолчанию PostgreSQL слушает порт 5432, Apache — порт 80. Проверьте сетевые порты:

netstat -plntu

Проверка сетевого трека PostgreSQL и Apache

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

http://ваш_ip/phppgadmin/

Окно входа в phpPgAdmin

Войдите под пользователем ‘postgres’ и ранее заданным паролем. После входа вы увидите панель управления phpPgAdmin:

Панель phpPgAdmin после входа

Если авторизация не проходит, проверьте логи Apache и PostgreSQL.

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

  • Службы PostgreSQL и Apache активны и работают.
  • Порт 5432 слушает процесс postgres.
  • Доступ к phpPgAdmin по http://ваш_ip/phppgadmin/ возвращает страницу входа.
  • Вход под ‘postgres’ успешен и открывается интерфейс управления.

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

  • Отключите доступ к phpPgAdmin из публичного Интернета. Ограничьте доступ по IP или настройте VPN.
  • Если нужен веб‑доступ, запустите phpPgAdmin за HTTPS и используйте ограничение по IP.
  • Не используйте роль ‘postgres’ для приложений. Создавайте отдельные роли с минимальными привилегиями.
  • Храните пароли в безопасном хранилище и регулярно меняйте ключи доступа.

Отладка и распространённые проблемы

  • Проблема: «403 Forbidden» при доступе к /phppgadmin. Решение: проверьте phppgadmin.conf и директивы Require. Перегрузите Apache.
  • Проблема: «Cannot connect» при попытке подключения в phpPgAdmin. Решение: убедитесь, что postgresql слушает нужный интерфейс (проверьте listen_addresses в postgresql.conf) и что pg_hba.conf разрешает соответствующую аутентификацию.
  • Проблема: пароли не принимаются. Решение: попробуйте сменить пароль через psql под пользователем postgres.

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

  • pgAdmin4 — современный браузерный/десктопный инструмент с более богатым UI. Рекомендуется для сложных админских задач.
  • Adminer — лёгкая замена phpPgAdmin, единый PHP-файл.
  • Управление через psql — предпочтительно для автоматизации и скриптов.

Чек‑лист ролей

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

  • Установить пакеты и обновления
  • Настроить брандмауэр и ограничения доступа
  • Создать роли и политики резервного копирования

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

  • Создать тестовую базу и роли с ограничениями
  • Настроить доступы для CI/CD
  • Проверить подключения приложений

Оператор (DevOps):

  • Настроить мониторинг процессов и диск I/O
  • Настроить регулярные бэкапы и проверку их целостности
  • Имплементировать обновления и миграции

Мини‑SOP для отката (rollback)

  1. Если после изменений сломался доступ, восстановите конфигурационные файлы из резервной копии.
  2. Перезапустите сервисы: systemctl restart postgresql && systemctl restart apache2
  3. При потере данных — остановите сервис и выполните восстановление из последней корректной резервной копии.

Модель принятия решений при выборе интерфейса

  • Нужен простой быстрый веб‑интерфейс для базовых задач → phpPgAdmin или Adminer.
  • Нужен профессиональный инструмент с расширенными фичами → pgAdmin4.
  • Нужна автоматизация и встраивание в CI → psql + скрипты.

Краткое резюме

Установка PostgreSQL и phpPgAdmin на Ubuntu 18.04 достаточно прямолинейна: установить пакеты, задать пароль для роли postgres, открыть конфигурацию Apache для доступа к phpPgAdmin и отключить дополнительную проверку входа в конфиге phpPgAdmin. Обязательно примените меры безопасности перед открытием веб‑интерфейса в интернет.

Важное: для продакшена рассмотрите использование HTTPS, ограничение доступа по IP или VPN и выделенную роль с минимальными привилегиями для приложений.

Поделиться: 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 быстро