Установка PostgreSQL и PostGIS на VPS Linux: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 54: Строка 54:
Убираем ремарки для перечисленных ниже трёх строк раздела «ERROR REPORTING AND LOGGING». Результат должен выглядеть так:
Убираем ремарки для перечисленных ниже трёх строк раздела «ERROR REPORTING AND LOGGING». Результат должен выглядеть так:
<pre>log_destination = 'stderr'
<pre>log_destination = 'stderr'
...
logging_collector = on
logging_collector = on
...
log_directory = 'pg_log'</pre>
log_directory = 'pg_log'</pre>


Строка 77: Строка 79:
su postgres
su postgres
psql
psql
ALTER USER postgres with encrypted password 'укажите-ваш-пароль';
<syntaxhighlight lang="sql">ALTER USER postgres with encrypted password 'укажите-ваш-пароль';</syntaxhighlight>
\q
\q
</pre>
</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.
После перезагрузки сервер готов к работе. Подключиться к нему можно через IP VPS сервера и стандартный порт 5432.
При наличие доменного имени и соответствующей настройке(делегированию) DNS, возможно подключаться к СУБД через указание домена.
При наличие доменного имени и соответствующей настройке(делегированию) DNS, возможно подключаться к СУБД через указание домена.
[[Файл:Dns-droplet.png]]





Версия от 15:13, 15 марта 2014

Эта страница является черновиком статьи.


Статья является пошаговой инструкцией для установки СУБД Postgres с пространственным расширением PostGIS на виртуальный выделенный сервер (VPS). Рассматривается вариант использования хостинг провайдера DigitalOcean. В качестве операционной системы использовалась Ubuntu 12.04 Статья рассчитана на пользователей Linux начального уровня.

Решаемая задача

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

Пошаговая инструкция

В рассматриваемом примере использовался хостинг DigitalOcean. Для начала работы, необходимо зарегистрироваться на сайте провайдера и пополнить свой баланс. После этого можно приступать к работе.

Создание VPS сервера

VPS сервер в терминологии DigitalOcean называется «droplet». Ассоциация здесь простая: океан - капля. Кнопка «Create» вызывает диалог для указания параметров создаваемого сервера. Необходимо указать имя, выбрать параметры, регион месторасположения и операционную систему создаваемого сервера.

Create-droplet-2.png

После нажатия кнопки «Create Droplet» инициализируется процесс создания сервера. Практически сразу, на указанный при регистрации аккаунта ящик электронной почты, приходит письмо, содержащее пароль пользователя root и IP адрес созданного VPS. После получения указанного пароля, необходимо подключиться к консоли созданного сервера. Кнопка «Droplets», нужно выбрать сервер и далее кнопки «Access» / «Console Access». В открывшемся окне консоли нужно указать имя пользователя root и пароль, полученный на адрес адрес электронной почты.

Droplet-console-access-2.png

Из соображений безопасности, не рекомендуется работать от имени пользователя «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 postgresql-contrib

В процессе инсталляции СУБД, пользователь «postgres» уже создан автоматически, поэтому достаточно просто назначить ему свой пароль командой:

sudo passwd postgres

Редактируем системные файлы Postgres для доступа к серверу СУБД из сети интернет и включения протоколирования работы сервера.

sudo nano /etc/postgresql/9.3/main/postgresql.conf

Изменяем строку

#listen_addresses = 'localhost'

на новое значение

listen_addresses = '*'

Убираем ремарки для перечисленных ниже трёх строк раздела «ERROR REPORTING AND LOGGING». Результат должен выглядеть так:

log_destination = 'stderr'
...
logging_collector = on
...
log_directory = 'pg_log'

Сохраняем файл через нажатие клавиш «Ctrl+O» и закрываем редактор nano через «Ctrl+X».

Команда

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

Сохраняем файл через нажатие клавиш «Ctrl+O» и закрываем редактор nano через «Ctrl+X».

Внимание! Приведён пример простейшей настройки Postgres для доступа из сети.

Перезагружаем сервер Postgres командой

sudo service postgresql restart

После перезагрузки Postgres, переключаемся на пользователя «postgres», подключаемся к БД и установить пароль пользователя СУБД «postgres».

su postgres
psql
<syntaxhighlight lang="sql">ALTER USER postgres with encrypted password 'укажите-ваш-пароль';</syntaxhighlight>
\q

Создание пространственной базы данных

После перезагрузки сервер готов к работе. Подключиться к нему можно через IP VPS сервера и стандартный порт 5432. При наличие доменного имени и соответствующей настройке(делегированию) DNS, возможно подключаться к СУБД через указание домена.


Ссылки на используемые ресурсы