Предварительная настройка сервера

Обзор

На входе сервер с установленной ОС Linux Debian 10, 11.

Приведены примерные этапы процесса настройки нового физического сервера и ОС до начала установки платформы.

Пользователь era_user используется в качестве примера основного пользователя, под которым проводится авторизация для подготовки сервера и последующего запуска установщика платформы.

Этапы

1. Группа sudoers

Прописать пользователя в группу sudoers:

su root

apt-get install sudo

nano /etc/sudoers

/sbin/usermod -aG sudo era_user

2. Cетевые интерфейсы

Необходимо настроить сетевые интерфейсы сервера.

Серверу надо задать один статический локальный адрес. А также добавить дополнительные адреса в зависимости от требований сети.

Важно устанавливать систему на постоянный внутренний адрес, который не изменяется со временем.

Запрещено использовать в качестве адреса для развертывания системы loopback интерфейс.
Это делает невозможным настройку многосерверной конфигурации, а также потребует переустановки и переконфигурирования системы в случае необходимости преобразования или подключения удаленных отладочных средств.

Может потребоваться настройка шлюзов и/или маршрутов для обеспечения корректного взаимодействия с внешним окружением.
Может потребоваться настройка VLAN для подключения к провайдеру телефонии, или для организации внутренней закрытой сети между несколькими серверами кластера.

DNS серверы должны позволять серверу адресовать разрешенные правилами сетевого контура DNS-имена, планируемые к использованию. Если сервер имеет выход в интернет, то публичные DNS-имена.

2.1) Задать необходимые IP-адреса:

sudo nano /etc/network/interfaces
auto eno1
iface eno1 inet static
address 192.168.0.115
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1 8.8.8.8

auto eno1:1
iface eno1:1 inet static
address 172.22.10.27
netmask 255.255.255.0
network 172.22.10.0
post-up route add -net 45.12.13.0/24 gw 172.22.10.2
pre-down route del -net 45.12.13.0/24 gw 172.22.10.2
Необходимо учесть, что gateway может быть задан только у одного интерфейса, а у остальных необходимо настраивать динамическое управление маршрутами.

2.2) Задать dns-серверы:

sudo nano /etc/resolv.conf
nameserver 192.168.0.1
nameserver 8.8.8.8

2.3) При необходимости настроить vlan:

sudo apt install -y vlan

sudo nano /etc/network/interfaces
auto eno1.2121
iface eno1.2121 inet static
address 172.22.10.27
netmask 255.255.255.0
network 172.22.10.0
post-up route add -net 45.12.13.0/24 gw 172.22.10.2
pre-down route del -net 45.12.13.0/24 gw 172.22.10.2
В примере 2121 - номер vlan. Разделитель - точка.
При использовании vlan кроме собственно vlan интерфейсов может быть только один untagged интерфейс.

2.4) Перезапустить сетевой сервис и проверить наличие заданных интерфейсов:

sudo systemctl restart networking

ip a

2.5) При необходимовсти перезапустить сервер, чтобы изменения гарантированно вступили в силу:

reboot

3. Пути к репозитариям пакетов

Проверить и при необходимости прописать пути к репозиториям debian по умолчанию:

sudo nano /etc/apt/sources.list
Добавлять репозитории нужно только при их отсутствии в списке.

Пример списка репозиториев для debian 10:

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

Пример списка репозиториев для debian 11:

deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main

deb http://deb.debian.org/debian-security/ bullseye-security main
deb-src http://deb.debian.org/debian-security/ bullseye-security main

deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main

Обновить системные пакеты:

sudo apt-get update

4. SSH сервер и SSH клиент

Установить и настроить SSH-сервер, установить SSH-клиент.

4.1) Установить пакеты и запустить сервис

sudo apt install openssh-server ssh

sudo systemctl start sshd
Если сервер имеет прямой внешний адрес в публичной сети, то в гигиенических целях рекомендуется использовать нестандартный порт и разрешать подключения только с конкретных известных адресов.

4.2) Задать белый список адресов

sudo nano /etc/hosts.allow
sshd : 192.168.0.12
sshd : 127.0.0.1
sshd : ALL : deny

4.3) Задать порт ssh-сервера

sudo nano /etc/ssh/sshd_config
port 9022

4.4) Перезапустить сервис

sudo systemctl restart sshd

4.5) При необходимости сохранить на сервере свой публичный ключ.

5. Пакеты и утилиты мониторинга

Установить пакеты и утилиты мониторинга:

sudo apt-get install parted gnupg curl wget members rsync
sudo apt-get install net-tools iotop htop sysstat tshark

6. Локали и раскладка клавиатуры

Добавление локалей "RU" необходимо в том случае, если на сервере планируется установка postgresql в хосте.
locale -a

sudo dpkg-reconfigure locales
Выбрать ru_RU.UTF-8 и en_US.UTF-8.

Язык по умолчанию для system environment прописывается в файле /etc/default/locale.

Для system environment рекомендуем оставлять в качестве локали по умолчанию en_US.UTF-8.

Настройте консоль и клавиатуру.

Настраивать консоль и клавиатуру имеет смысл только при подключении к серверу непосредственно (не через ssh).
sudo dpkg-reconfigure console-setup
Выбрать UTF-8, Combined - Latin; Slavic Cyrillic; Greek, Terminus, 6x12 (8x14)
sudo dpkg-reconfigure keyboard-configuration
Выбрать Generic 105 key, Other, Russian, Russian
sudo service keyboard-setup restart
Попробуйте переключить раскладку. При необходимости перезапустить сервер.

7. Разметка диска, форматирование

Если подключен RAID-массив, то настроить его и подготовить разделы.

Если к серверу подключены новые неразмеченные диски для хранилищ, то разметить и отформатировать их.

lsblk -a

df -h

sudo сfdisk /dev/sdb

sudo partprobe -s

NOTE! изменение параметров раздела или даже форматирование

# sudo parted /dev/sdb

# sudo mke2fs -t ext4 /dev/sdb1

lsblk -a

mkfs -t ext4 /dev/sdb1

8. Монтирование разделов

Дополнительные диски для хранилищ должны быть примонтированы.

Имена разделов и каталогов произвольны.
sudo mkdir /mnt/data

sudo mount /dev/sdb1 /mnt/data

df -h

sudo blkid
sudo nano /etc/fstab
# data
UUID="422e42c8-f2d5-4c56-b219-3a4c37153c14"     /mnt/data       ext4    defaults        0       1

8.2) Создать группу storage и задать для нее права на смонтированный раздел.

Это пригодится при установке сервера БД с каталогом данных и конфигурации в смонтированном разделе дать пользователю postgres соответствующие права.
sudo groupadd storage

sudo chgrp storage /mnt/data

sudo chmod 775 /mnt/data