Настройка PostgreSQL: различия между версиями
imported>Supportadmin (Новая страница: «[http://hutpu4.net/linux-open-source/postgresql-phppgadmin-for-debian-ubuntu.html источник] Для установки нужных нам пакетов …») |
imported>Supportadmin Нет описания правки |
||
Строка 2: | Строка 2: | ||
Для установки нужных нам пакетов пишем в командной строке: | Для установки нужных нам пакетов пишем в командной строке: | ||
$ sudo apt-get install postgresql postgresql-client postgresql-contrib | $ sudo apt-get install postgresql postgresql-client postgresql-contrib | ||
Этой командой мы установим сервер и клиент БД и некоторые дополнительные скрипты для работы с БД. | Этой командой мы установим сервер и клиент БД и некоторые дополнительные скрипты для работы с БД. | ||
В отличии от привычного мне MySQL, Postres не спрашивает пароль для администратора при установке, поэтому его нужно задать вручную. Суперпользователь БД в PostgreSQL называется postgres. Следующими командами присвоим ему пароль: | В отличии от привычного мне MySQL, Postres не спрашивает пароль для администратора при установке, поэтому его нужно задать вручную. Суперпользователь БД в PostgreSQL называется postgres. Следующими командами присвоим ему пароль: | ||
$ sudo su postgres -c psql postgres | $ sudo su postgres -c psql postgres | ||
postgres=# ALTER USER postgres WITH PASSWORD 'password'; | postgres=# ALTER USER postgres WITH PASSWORD 'password'; | ||
postgres=# \q | postgres=# \q | ||
Вместо password пишем свой пароль. Данными командами мы изменили пароль пользователю «postgres» в базе данных «postgres». Теперь нужно задать соответствующий пароль системному пользователю postgres. Для это пишем: | Вместо password пишем свой пароль. Данными командами мы изменили пароль пользователю «postgres» в базе данных «postgres». Теперь нужно задать соответствующий пароль системному пользователю postgres. Для это пишем: | ||
$ sudo passwd postgres | $ sudo passwd postgres | ||
Задаем такой же пароль как и выше. | Задаем такой же пароль как и выше. | ||
Далее настроим наш сервер для работы в сети. Для этого своим любимым редактором открываем файл /etc/postgresql/8.3/main/postgresql.conf например: | Далее настроим наш сервер для работы в сети. Для этого своим любимым редактором открываем файл /etc/postgresql/8.3/main/postgresql.conf например: | ||
$ sudo nano /etc/postgresql/8.3/main/postgresql.conf | $ sudo nano /etc/postgresql/8.3/main/postgresql.conf | ||
и в секции «Connections and Authentication» раскомментируем следующие строки: | и в секции «Connections and Authentication» раскомментируем следующие строки: | ||
listen_addresses = 'localhost' | listen_addresses = 'localhost' | ||
и | и | ||
password_encryption = on | password_encryption = on | ||
вместо localhost через запятую пишем IP-адреса на которые хотим повесить PostgreSQL сервер. Например: | вместо localhost через запятую пишем IP-адреса на которые хотим повесить PostgreSQL сервер. Например: | ||
listen_addresses = '127.0.0.1, 192.168.1.1' | listen_addresses = '127.0.0.1, 192.168.1.1' | ||
здесь я повесил сервер на внутренний айпишник, а так же оставил его на локалхосте (если не прописать, то не работает phpPgAdmin консольный клиент). | здесь я повесил сервер на внутренний айпишник, а так же оставил его на локалхосте (если не прописать, то не работает phpPgAdmin консольный клиент). | ||
Строка 34: | Строка 41: | ||
Теперь мы должны определить кто из пользователей сети должен иметь доступ к серверу. Для этого в конец файла /etc/postgresql/8.3/main/pg_hba.conf дописываем строчку: | Теперь мы должны определить кто из пользователей сети должен иметь доступ к серверу. Для этого в конец файла /etc/postgresql/8.3/main/pg_hba.conf дописываем строчку: | ||
host all all [ip адрес] [маска подсети] md5 | host all all [ip адрес] [маска подсети] md5 | ||
вместо [ip адрес] пишем айпи клиента в нашей сети, вместо [маска подсети] нашу маску подсети, например: | вместо [ip адрес] пишем айпи клиента в нашей сети, вместо [маска подсети] нашу маску подсети, например: | ||
host all all 192.168.1.2 255.255.255.0 md5 | host all all 192.168.1.2 255.255.255.0 md5 | ||
если нужно задать целую подсеть — 192.168.1.0 | если нужно задать целую подсеть — 192.168.1.0 | ||
Перезапускаем сервер: | Перезапускаем сервер: | ||
$ sudo /etc/init.d/postgresql-8.3 restart | $ sudo /etc/init.d/postgresql-8.3 restart | ||
На этом сервер должен нормально стартануть и работать как планировалось. | На этом сервер должен нормально стартануть и работать как планировалось. | ||
Строка 49: | Строка 59: | ||
если Apache уже установлен: | если Apache уже установлен: | ||
$ sudo apt-get install php5-pgsql phppgadmin wwwconfig-common | $ sudo apt-get install php5-pgsql phppgadmin wwwconfig-common | ||
если не установлен, устанавливаем и его: | если не установлен, устанавливаем и его: | ||
$ sudo apt-get install apache2 php5 php5-pgsql phppgadmin wwwconfig-common | $ sudo apt-get install apache2 php5 php5-pgsql phppgadmin wwwconfig-common | ||
Подключаем файл конфигурации phpPgAdmin в Апач (в Ubuntu он сам не подключается, в Дебиане данное действие не требуется) и перезагружаем веб-сервер: | Подключаем файл конфигурации phpPgAdmin в Апач (в Ubuntu он сам не подключается, в Дебиане данное действие не требуется) и перезагружаем веб-сервер: | ||
$ ln -s /etc/phppgadmin/apache.conf /etc/apache2/conf.d/phppgadmin | $ ln -s /etc/phppgadmin/apache.conf /etc/apache2/conf.d/phppgadmin | ||
$ /etc/init.d/apache2 restart | $ /etc/init.d/apache2 restart | ||
открываем браузер и пишем: | открываем браузер и пишем: | ||
Строка 65: | Строка 78: | ||
В целях безопасности вход в phpPgAdmin запрещен от имени пользователя postgres. Поэтому создаем нового пользователя ‘pgadmin’ с правами администратора, для администрирования нашего сервера через веб-интерфейс: | В целях безопасности вход в phpPgAdmin запрещен от имени пользователя postgres. Поэтому создаем нового пользователя ‘pgadmin’ с правами администратора, для администрирования нашего сервера через веб-интерфейс: | ||
$ sudo -u postgres createuser pgadmin | $ sudo -u postgres createuser pgadmin | ||
Shall the new role be a superuser? (y/n) | Shall the new role be a superuser? (y/n) | ||
Shall the new role be allowed to create databases? (y/n) | Shall the new role be allowed to create databases? (y/n) | ||
Shall the new role be allowed to create more new roles? (y/n) | Shall the new role be allowed to create more new roles? (y/n) | ||
отвечаем на несколько вопросов, что бы наделить нашего пользователя соответствующими привилегиями (я своего сделал суперпользователем), а потом задаем ему пароль следующим образом: | отвечаем на несколько вопросов, что бы наделить нашего пользователя соответствующими привилегиями (я своего сделал суперпользователем), а потом задаем ему пароль следующим образом: | ||
$ sudo su postgres -c psql postgres | $ sudo su postgres -c psql postgres | ||
postgres=# ALTER USER pgadmin WITH PASSWORD 'password'; | postgres=# ALTER USER pgadmin WITH PASSWORD 'password'; | ||
postgres=# \q | postgres=# \q | ||
Вместо password пишем пароль и пробуем залогиниться в phpPgAdmin. Сам веб-интерфейс интуитивно понятен и у меня даже на русском языке по умолчанию :) правда не такой функциональный как хотелось бы. Здесь вы можете создать базу данных или пользователя, удалять, импортировать, редактировать и т.п. в зависимости от ваших привилегий и потребностей. | Вместо password пишем пароль и пробуем залогиниться в phpPgAdmin. Сам веб-интерфейс интуитивно понятен и у меня даже на русском языке по умолчанию :) правда не такой функциональный как хотелось бы. Здесь вы можете создать базу данных или пользователя, удалять, импортировать, редактировать и т.п. в зависимости от ваших привилегий и потребностей. |
Версия от 16:09, 8 ноября 2013
источник Для установки нужных нам пакетов пишем в командной строке:
$ sudo apt-get install postgresql postgresql-client postgresql-contrib
Этой командой мы установим сервер и клиент БД и некоторые дополнительные скрипты для работы с БД.
В отличии от привычного мне MySQL, Postres не спрашивает пароль для администратора при установке, поэтому его нужно задать вручную. Суперпользователь БД в PostgreSQL называется postgres. Следующими командами присвоим ему пароль:
$ sudo su postgres -c psql postgres
postgres=# ALTER USER postgres WITH PASSWORD 'password'; postgres=# \q
Вместо password пишем свой пароль. Данными командами мы изменили пароль пользователю «postgres» в базе данных «postgres». Теперь нужно задать соответствующий пароль системному пользователю postgres. Для это пишем:
$ sudo passwd postgres
Задаем такой же пароль как и выше.
Далее настроим наш сервер для работы в сети. Для этого своим любимым редактором открываем файл /etc/postgresql/8.3/main/postgresql.conf например:
$ sudo nano /etc/postgresql/8.3/main/postgresql.conf
и в секции «Connections and Authentication» раскомментируем следующие строки:
listen_addresses = 'localhost'
и
password_encryption = on
вместо localhost через запятую пишем IP-адреса на которые хотим повесить PostgreSQL сервер. Например:
listen_addresses = '127.0.0.1, 192.168.1.1'
здесь я повесил сервер на внутренний айпишник, а так же оставил его на локалхосте (если не прописать, то не работает phpPgAdmin консольный клиент).
Если нужно что бы наш сервер был доступен на всех сетевых интерфейсах, вместо IP-адресов ставим ‘*’.
Теперь мы должны определить кто из пользователей сети должен иметь доступ к серверу. Для этого в конец файла /etc/postgresql/8.3/main/pg_hba.conf дописываем строчку:
host all all [ip адрес] [маска подсети] md5
вместо [ip адрес] пишем айпи клиента в нашей сети, вместо [маска подсети] нашу маску подсети, например:
host all all 192.168.1.2 255.255.255.0 md5
если нужно задать целую подсеть — 192.168.1.0
Перезапускаем сервер:
$ sudo /etc/init.d/postgresql-8.3 restart
На этом сервер должен нормально стартануть и работать как планировалось.
Установим теперь phpPgAdmin:
если Apache уже установлен:
$ sudo apt-get install php5-pgsql phppgadmin wwwconfig-common
если не установлен, устанавливаем и его:
$ sudo apt-get install apache2 php5 php5-pgsql phppgadmin wwwconfig-common
Подключаем файл конфигурации phpPgAdmin в Апач (в Ubuntu он сам не подключается, в Дебиане данное действие не требуется) и перезагружаем веб-сервер:
$ ln -s /etc/phppgadmin/apache.conf /etc/apache2/conf.d/phppgadmin $ /etc/init.d/apache2 restart
открываем браузер и пишем:
http://ip-адрес_сервера/phppgadmin
мы должны увидеть домашнюю страницу phpPgAdmin.
В целях безопасности вход в phpPgAdmin запрещен от имени пользователя postgres. Поэтому создаем нового пользователя ‘pgadmin’ с правами администратора, для администрирования нашего сервера через веб-интерфейс:
$ sudo -u postgres createuser pgadmin Shall the new role be a superuser? (y/n) Shall the new role be allowed to create databases? (y/n) Shall the new role be allowed to create more new roles? (y/n)
отвечаем на несколько вопросов, что бы наделить нашего пользователя соответствующими привилегиями (я своего сделал суперпользователем), а потом задаем ему пароль следующим образом:
$ sudo su postgres -c psql postgres
postgres=# ALTER USER pgadmin WITH PASSWORD 'password'; postgres=# \q
Вместо password пишем пароль и пробуем залогиниться в phpPgAdmin. Сам веб-интерфейс интуитивно понятен и у меня даже на русском языке по умолчанию :) правда не такой функциональный как хотелось бы. Здесь вы можете создать базу данных или пользователя, удалять, импортировать, редактировать и т.п. в зависимости от ваших привилегий и потребностей.