Установка PostgreSQL и PostGIS на VPS Linux: различия между версиями
Dab (обсуждение | вклад) Нет описания правки |
Dab (обсуждение | вклад) Нет описания правки |
||
Строка 17: | Строка 17: | ||
[[Файл:Create-droplet-2.png]] | [[Файл:Create-droplet-2.png]] | ||
После нажатия кнопки «Create Droplet» инициализируется процесс создания сервера. Практически сразу, на указанный при регистрации | После нажатия кнопки «Create Droplet» инициализируется процесс создания сервера. Практически сразу, на указанный при регистрации аккаунта ящик электронной почты, приходит письмо, содержащее пароль пользователя root и IP адрес созданного VPS. | ||
После получения указанного пароля, необходимо подключиться к консоли созданного сервера. Кнопка «Droplets», нужно выбрать сервер и далее кнопки «Access» / «Console Access». В открывшемся окне консоли нужно указать имя пользователя root и пароль, полученный на адрес адрес электронной почты. | После получения указанного пароля, необходимо подключиться к консоли созданного сервера. Кнопка «Droplets», нужно выбрать сервер и далее кнопки «Access» / «Console Access». В открывшемся окне консоли нужно указать имя пользователя root и пароль, полученный на адрес адрес электронной почты. | ||
Строка 68: | Строка 68: | ||
<pre>sudo nano /etc/postgresql/9.3/main/postgresql.conf</pre> | <pre>sudo nano /etc/postgresql/9.3/main/postgresql.conf</pre> | ||
Изменяем строку <pre>#listen_addresses = 'localhost'</pre> на новое значение <pre>listen_addresses = '*'</pre> | Изменяем строку | ||
<pre>#listen_addresses = 'localhost'</pre> | |||
на новое значение | |||
<pre>listen_addresses = '*'</pre> | |||
Команда | |||
<pre>sudo nano /etc/postgresql/9.3/main/pg_hba.conf</pre> | <pre>sudo nano /etc/postgresql/9.3/main/pg_hba.conf</pre> | ||
Изменяем строку | Изменяем строку | ||
Строка 75: | Строка 78: | ||
на новое значение | на новое значение | ||
<pre>host all all 0.0.0.0/0 md5</pre> | <pre>host all all 0.0.0.0/0 md5</pre> | ||
Внимание! Приведён пример простейшей настройки Postgres для доступа из сети. | |||
Перезагружаем сервер через кнопки «Droplets» / «Power» / «Power Cycle» | |||
[[Файл:Reboot-droplet.png]] | |||
После перезагрузки, подключаемся к консоли и заходим с систему пользователем «postgres». | |||
Кластер БД создаётся командой | |||
<pre>initdb --locale=ru_RU.utf8</pre> | |||
Теперь необходимо подключиться к БД и установить пароль пользователя СУБД «postgres». | |||
<>pre | |||
psql | |||
ALTER USER postgres with encrypted password 'укажите-ваш-пароль'; | |||
\q | |||
</pre> | |||
Переключаемся на суперпользователя и редактируем системный файл Postgres для переключения с кластера по умолчанию на созданный кластер с поддержкой русского языка. | |||
<pre>su dab | |||
sudo nano /etc/postgresql/9.3/main/postgresql.conf</pre> | |||
Нужно изменить строку | |||
<pre>data_directory = '/var/lib/postgresql/9.3/main'</pre> | |||
на строку | |||
<pre>data_directory = '/var/lib/postgresql/data'</pre> | |||
Сохраняем изменения и перезагружаем сервер через «Power Cycle». | |||
После перезагрузки сервер готов к работе. Подключиться к нему можно через IP VPS сервера и стандартный порт 5432. | |||
При наличие доменного имени и соответствующей настройке(делегированию) DNS, возможно подключаться к СУБД через указание домена. | |||
[[Файл:Dns-droplet.png]] | |||
== Ссылки на используемые ресурсы == | == Ссылки на используемые ресурсы == | ||
* http://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS21UbuntuPGSQL93Apt | * http://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS21UbuntuPGSQL93Apt |
Версия от 15:36, 14 марта 2014
Статья является пошаговой инструкцией для установки СУБД Postgres с пространственным расширением PostGIS на виртуальный выделенный сервер(VPS). Рассматривается вариант использования хостинг провайдера DigitalOcean. В качестве операционной системы использовалась Ubuntu 12.04 Статья рассчитана на пользователей Linux начального уровня.
Решаемая задача
Возникла необходимость публикации в сети интернет пространственной базы данных с использованием надёжного и недорогого хостинга. Создаваемая база данных должна быть легко масштабируема в дальнейшем, при необходимости.
Пошаговая инструкция
В рассматриваемом примере использовался хостинг DigitalOcean. Для начала работы, необходимо зарегистрироваться на сайте провайдера и пополнить свой баланс. После этого можно приступать к работе.
Создание VPS сервера
VPS сервер в терминологии DigitalOcean называется «droplet». Ассоциация здесь простая: океан - капля. Кнопка «Create» вызывает диалог для указания параметров создаваемого сервера. Необходимо указать имя, выбрать параметры, регион месторасположения и операционную систему создаваемого сервера.
После нажатия кнопки «Create Droplet» инициализируется процесс создания сервера. Практически сразу, на указанный при регистрации аккаунта ящик электронной почты, приходит письмо, содержащее пароль пользователя root и IP адрес созданного VPS. После получения указанного пароля, необходимо подключиться к консоли созданного сервера. Кнопка «Droplets», нужно выбрать сервер и далее кнопки «Access» / «Console Access». В открывшемся окне консоли нужно указать имя пользователя root и пароль, полученный на адрес адрес электронной почты.
Из соображений безопасности, для дальнейшей работы не от имени пользователя «root», рекомендуется создать нового суперпользователя. В рассматриваемом примере - пользователь «dab».
adduser dab adduser dab sudo
После создания нового пользователя, необходимо выполнить команду «exit» и войти в систему уже под именем нового пользователя.
Следующий этап настройки сервера - установка русской локали в операционной системе.
sudo locale-gen ru_RU.utf8
Установка Postgres + PostGIS
Для установки СУБД необходимо добавить нужные репозитарии в систему.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" >> /etc/apt/sources.list' wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update
Непосредственно установка Postgres и PostGIS выполняется командой
sudo apt-get install Postgresql-9.3-postgis pgadmin3 postgresql-contrib
В процессе инсталляции СУБД, пользователь «postgres» уже создан автоматически, поэтому достаточно просто назначить ему свой пароль командой:
sudo passwd postgres
Дальше необходимо создать каталог для нового кластера базы данных(БД). Это действие выполняется от имени пользователя «postgres», поэтому пользователь «postgres» становится владельцем созданного каталога.
su postgres mkdir /var/lib/postgresql/data exit
Отредактируем системные файлы для указания каталога данных через системную переменную «PGDATA» и добавления пути с утилитам Postgres.
sudo nano /etc/environment
Внутри файла дополняем значение переменной PATH, дописав в него через двоеточие путь «/usr/lib/postgresql/9.3/bin», а в конце этого файла дописываем строчку с указанием переменной PGDATA. Должно получиться примерно следующее:
PATH="/usr/bin:/usr/lib: ........:/usr/lib/postgresql/9.3/bin" PGDATA="/var/lib/postgresql/data"
Сохраняем файл через нажатие клавиш «Ctrl+O» и закрываем редактор nano через «Ctrl+X».
Редактируем системные файлы Postgres для доступа к серверу СУБД из сети интернет.
sudo nano /etc/postgresql/9.3/main/postgresql.conf
Изменяем строку
#listen_addresses = 'localhost'
на новое значение
listen_addresses = '*'
Команда
sudo nano /etc/postgresql/9.3/main/pg_hba.conf
Изменяем строку
host all all 127.0.0.1/32 md5
на новое значение
host all all 0.0.0.0/0 md5
Внимание! Приведён пример простейшей настройки Postgres для доступа из сети.
Перезагружаем сервер через кнопки «Droplets» / «Power» / «Power Cycle»
После перезагрузки, подключаемся к консоли и заходим с систему пользователем «postgres». Кластер БД создаётся командой
initdb --locale=ru_RU.utf8
Теперь необходимо подключиться к БД и установить пароль пользователя СУБД «postgres». <>pre psql ALTER USER postgres with encrypted password 'укажите-ваш-пароль'; \q
Переключаемся на суперпользователя и редактируем системный файл Postgres для переключения с кластера по умолчанию на созданный кластер с поддержкой русского языка.
su dab sudo nano /etc/postgresql/9.3/main/postgresql.conf
Нужно изменить строку
data_directory = '/var/lib/postgresql/9.3/main'
на строку
data_directory = '/var/lib/postgresql/data'
Сохраняем изменения и перезагружаем сервер через «Power Cycle».
После перезагрузки сервер готов к работе. Подключиться к нему можно через IP VPS сервера и стандартный порт 5432. При наличие доменного имени и соответствующей настройке(делегированию) DNS, возможно подключаться к СУБД через указание домена.