Поиск по сайту:

Как установить и использовать phpPgAdmin в Ubuntu 12.04


Статус: устарело

В этой статье рассматривается версия Ubuntu, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением Ubuntu 12.04, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию Ubuntu:

  • Обновите Ubuntu до версии 14.04.
  • Обновление Ubuntu 14.04 до Ubuntu 16.04
  • Перенесите данные сервера в поддерживаемую версию.

Причина:

См. вместо этого:

О phpPgAdmin

phpPgAdmin — это веб-приложение на основе php, предоставляющее графический интерфейс для системы postgresql. Он выполняет функцию, аналогичную phpMyAdmin, которая позволяет пользователям манипулировать информацией базы данных в визуальной программе в MySQL.

Шаг первый — установите phpPgAdmin

Для начала убедитесь, что репозиторий apt-get обновлен:

sudo apt-get update

После завершения процесса установите postgresql, полезные дополнительные зависимости и phpgadmin. Во время установки phpPgAdmin также установит необходимые пакеты php и apache.

sudo apt-get install postgresql postgresql-contrib phppgadmin

Запустите Апач:

sudo service apache2 start

Шаг второй — настройте параметры безопасности

После установки phpgadmin вы сможете получить к нему доступ, перейдя по адресу youripaddress/phpPgAdmin.

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

ifconfig eth0 | grep inet | awk '{ print $2 }'

Однако вы можете обнаружить, что попытка доступа к странице phpPgAdmin может привести к запрещенной ошибке 403.

Чтобы сделать эту страницу доступной, мы должны сделать ее доступной для всех посетителей (не волнуйтесь, мы заблокируем ее на следующем шаге):

sudo nano /etc/apache2/conf.d/phppgadmin

В файле найдите следующий раздел и раскомментируйте строку «разрешить всем». Раздел должен выглядеть так:

order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
allow from all

Настройте аутентификацию .htaccess

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

Начните с создания раздела аутентификации .htaccess в файле конфигурации вашего сайта. Для примера я буду использовать сайт по умолчанию:

sudo nano /etc/apache2/sites-enabled/000-default

Затем настройте авторизацию пользователя. Создайте новый раздел в файле виртуального хоста, вставив в него следующую информацию:

<Directory "/usr/share/phpPgAdmin">
        AuthUserFile /etc/phpPgAdmin/.htpasswd
        AuthName "Restricted Area"
        AuthType Basic
        require valid-user
</Directory>

Ниже вы увидите краткое объяснение каждой строки

  • AuthUserFile: эта строка указывает путь сервера к файлу паролей (который мы создадим на следующем шаге).
  • AuthType: относится к типу аутентификации, который будет использоваться для проверки паролей. Пароли проверяются через HTTP, и ключевое слово Basic не должно быть изменено.
  • AuthName: это текст, который будет отображаться при запросе пароля. Здесь можно разместить что угодно.
  • Require valid-user: эта строка сообщает файлу .htaccess, что только пользователи, указанные в файле паролей, могут получить доступ к экрану входа в систему phpPgAdmin.

Создайте файл htpasswd

Теперь мы продолжим и создадим действительную информацию о пользователе.

Начните с создания файла htpasswd. Используйте команду htpasswd и поместите файл в каталог по вашему выбору, если он недоступен из браузера. Хотя вы можете назвать файл паролей как угодно, принято называть его .htpasswd.

sudo htpasswd -c /etc/phpPgAdmin/.htpasswd username

Вам будет предложено ввести и подтвердить свой пароль.

Как только имя пользователя и пароль сохранены, вы можете видеть, что пароль зашифрован в файле.

Завершите, перезапустив apache:

sudo service apache2 restart

Доступ к phpPgAdmin

phpPgAdmin теперь будет намного безопаснее, так как только авторизованные пользователи смогут получить доступ к странице входа. Доступ к youripaddress/phpPgAdmin должен отображать экран, подобный

Заполните его логином и паролем, которые вы сгенерировали. После входа в систему вы можете получить доступ к phpPgAdmin с вашим именем пользователя и паролем Postgres.

Postscript — как создать пользователя Postgres

Измените метод аутентификации в файле конфигурации аутентификации:

sudo nano /etc/postgresql/9.1/main/pg_hba.conf

Изменение можно сделать в следующей строке:

# "local" is for Unix domain socket connections only
local   all             all                                    md5

Чтобы начать создавать пользователей, сначала переключитесь на суперпользователя по умолчанию и создайте базу данных, в которую пользователь будет входить:

sudo su - postgres

Впоследствии создайте новую базу данных, в которой вы будете хранить свои таблицы:

createdb newdb

Хотя база данных создана, единственным пользователем, имеющим к ней доступ, является пользователь postgres по умолчанию. Мы можем позволить другим пользователям получать доступ к этой базе данных и управлять ею, создавая новых пользователей.

После входа в систему в качестве суперпользователя по умолчанию вы можете перейти к созданию дополнительных ролей в вашей системе PostgreSQL.

Чтобы снабдить вашего пользователя паролем, вы можете добавить опцию -P к команде createuser:

createuser -P
Enter name of role to add: newuser
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) y
Password:  enter the superuser’s password here

Затем вы можете войти в postgres одним из нескольких способов.

Если вы входите в систему, используя одноранговую идентификацию, вы можете просто ввести следующую команду, указав базу данных, в которую вы входите:

psql newdb

Если вы входите в систему, используя идентификацию md5, вы можете включить пользователя, которого вы предпочитаете входить в систему, как:

psql –U newuser  -W newdb