Содержание:
В данной статье расскажем, как установить PostgreSQL на VPS/VDS с ОС Ubuntu. Если Вы в поисках надежного провайдера для аренды VPS, то смотрите на нашем сайте подборку лучших VPS.
Как поставить PostgreSQL?
1. Сначала обновим пакеты на нашей VPS. Команда:
sudo apt update
2. Устанавливаем PostgreSQL и утилите -contrib. Данное ПО присутствует в официальных репозиториях, поэтому команда будет выглядеть, как:
sudo apt install postgresql postgresql-contrib
Если установка прошла успешно, на экране у Вас должно отобразиться примерно следующее:
Success. You can now start the database server using:
pg_ctl cluster 12 main start
Как запустить PostgreSQL?
3. Запускаем Postgresql, проверяем его статус и добавляем в автозагрузку.
sudo systemctl start postgresql.service
sudo systemctl status postgresql.service
sudo systemctl enable postgresql.service
Как установить утилиту PhpPgAdmin?
4. Для удобства управления базами Postgresql можно установить утилита PhpPgAdmin. Для Ubuntu 20 данная утилита также должна присутствовать в стандартных репозиториях, команда:
sudo apt-get install phppgadmin
В процессе будет установлена все необходимое для работы утилиты ПО, в том числе веб-сервер Apache.
По завершению установки откроем конфигурационный файл виртуального хоста командой:
nano /etc/apache2/conf-available/phppgadmin.conf
и разрешим доступ к PhpPgAdmin через Интернет, а не только с локальной машины.
Для этого закомментируем строку Require local и пропишем строку.
Сохраняем изменения и перезапускаем Apache командой:
sudo systemctl restart apache2
Теперь в браузере мы можем открыть PhpPgAdmin по адресу: http://IP_ сервера/phppgadmin/.
5. В PostgreSQL используется концепция ролей (roles) для управления разрешениями на доступ к базе данных, которые привязываются к одноименным аккаунтам в Unix-системах. При установке данной СУБД создается пользователь (и роль) postgres, являющийся суперпользователем для PostgreSQL.
Работать с базами под ним можно, но не рекомендуется по соображениям безопасности. Поэтому создадим новую пользователя и базу для него. Переключимся на данного пользователя командой:
sudo -i -u postgres
Как можем видеть, пользователь в консоли сервера также сменился. Теперь создаем роль командой:
sudo -u postgres create user–interactive
Далее входим в консоль PostgreSQL, команда:
psql
Создаем базу (в данном примере база и пользователь-роль имеют имя tester), задаем пароль для пользователя и даем ему права на созданную базу.
CREATE DATABASE tester;
ALTER USER tester WITH PASSWORD 'new_password';
GRANT ALL PRIVILEGES ON DATABASE tester to tester;
И выходим из консоли PostgreSQL. Выйти можно прописав exit; или \q
Проверка PostgreSQL
6. Возвращаемся в пользователя root и добавляем пользователя Linux с тем же именем, которое мы задавали нашей роли ранее, команда:
sudo add user tester
Теперь, если мы переключимся на этого пользователя (команда sudo -i -u tester), то сможем подключится к его базе в консоли сервера без ввода пароля, просто командой psql
Командой \conninfo можно проверить, под каким пользователем и к какой базе мы подключились.
Для входа через PhpPgAdmin потребуется указать тот пароль, который мы задали при создании базы и роли, на шаге 5.
Комментарии ()