Как установить и использовать 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