From 65cf1a519872a553136ca18ae9e2f8a19936ef4a Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Sun, 8 May 2022 13:40:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=91=D0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++- db.md | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ scp.md | 2 + soft.md | 16 +++++++ ssh.md | 2 +- 5 files changed, 150 insertions(+), 2 deletions(-) create mode 100644 db.md create mode 100644 scp.md create mode 100644 soft.md diff --git a/README.md b/README.md index 92871e9..2f01b63 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # Конфигурации +- [Установка софта в Linux](soft.md) - [Настройка сети](network.md) -- [Настройка SSH](ssh.md) \ No newline at end of file +- [Настройка SSH](ssh.md) + - [Копирование файлов на удалённый сервер через SSH](scp.md) +- [Базы данных](db.md) diff --git a/db.md b/db.md new file mode 100644 index 0000000..d880db6 --- /dev/null +++ b/db.md @@ -0,0 +1,127 @@ +# Базы данных + +## PostgreSQL + +### Установка + +Установка `PostgreSQL` в `Ubuntu`: + +```sh +sudo apt update +sudo apt install postgresql postgresql-contrib +``` + +Установка в `Solus`: + +```sh +sudo eopkg it postgresql postgresql-contrib +``` + +Пакет `postgresql-contrib` содержит дополнительные утилиты и функциональные возможности. + +В процессе установки создаётся учётная запись `postgres`, которая связана с используемой по умолчанию ролью `postgres`. + +### Использование + +После установки, чтобы подключиться к СУБД PostgreSQL необходимо открыть `shell` из под пользователя `postgres`: + +```sh +sudo -i -u postgres +``` + +где `-i` запуск оболочки входа в систему от имени целевого пользователя `-u postgres`. + +После входа в оболочку под пользователем `postgres` запустить утилиту `psql`: + +```sh +psql +``` + +Или использовать более быстрый способ: + +```sh +sudo -u postgres psql +``` + +### Создание новой роли + +После входа в оболочку под пользователем `postgres`, можно создать новую роль с помощью следующей команды: + +```sh +createuser --interactive +``` + +При создании необходимо будет ввести имя новой роли и указать, будет ли являться новая роль суперпользователем: + +```sh +Enter name of role to add: user +Shall the new role be a superuser? (y/n) y +``` + +Для любой роли, используемой для входа, существует база данных с тем же именем, к которой роль может получить доступ. Это означает, что если созданный пользователь будет иметь имя `user`, эта роль попытается подключиться к базе данных, которая также называется `"user"` по умолчанию. Необходимо создать соответствующую базу данных: + +```sh +createdb user +``` + +При этом должен существовать пользователь Linux с тем же именем, что и имя роли и базы данных в Postgres. + +### Смена пароля + +Для установки/смены пароля выполнить в `psql` команду: + +```sh +\password user +``` + +где `user` - имя пользователя, у которого необходимо сменить пароль. + +### Удалённый доступ + +Для открытия удалённого доступа необходимо отредактировать файл `/etc/postgresql/14/main/postgresql.conf`, где `14` - версия PostgreSQL: + +```sh +sudo nano /etc/postgresql/14/main/postgresql.conf +``` + +Раскомментировать параметр `listen_addresses` и установить в качестве значения звёздочку (`*`): + +```sh +listen_addresses = '*' +``` + +Сохранить и перезагрузить сервер PostgreSQL, в `Ubuntu`: + +```sh +sudo systemctl restart postgresql.service +``` + +в других дистрибутивах: + +```sh +sudo service postgresql restart +``` + +### Возможные ошибки + +При подключении к удалённой БД может возникнуть ошибка: + +```sh +FATAL: no pg_hba.conf entry for host "192.168.56.1", user "user", database "user", SSL encryption +``` + +где `192.168.56.1` - адрес компьютера, с которого происходит подключение, `user` - имя пользователя, от которого происходит подключение, а также имя базы данных. + +Необходимо отредактировать файл `/etc/postgresql/14/main/pg_hba.conf`, где 14 - версия PostgreSQL: + +```sh +sudo nano /etc/postgresql/14/main/pg_hba.conf +``` + +и добавить запись: + +```sh +host all user 192.168.56.1/32 scram-sha-256 +``` + +которая разрешает доступ логина `user` к любой базе данных с IP-адреса `192.168.56.1`. diff --git a/scp.md b/scp.md new file mode 100644 index 0000000..8e9f808 --- /dev/null +++ b/scp.md @@ -0,0 +1,2 @@ +# Копирование файлов на удалённый сервер через SSH + diff --git a/soft.md b/soft.md new file mode 100644 index 0000000..d537107 --- /dev/null +++ b/soft.md @@ -0,0 +1,16 @@ +# Установка софта в Linux + +## Solus + +Обновление списка доступных пакетов и обновление дистрибутива: + +```sh +sudo eopkg ur && sudo eopkg up -y +``` + +Установка базовых инструментов разработчика: + +```sh +sudo eopkg it -c system.devel +``` + diff --git a/ssh.md b/ssh.md index fb0867c..a65064e 100644 --- a/ssh.md +++ b/ssh.md @@ -1,4 +1,4 @@ -# SSH +# Настройка SSH ## Сервер