Устанавливаем базовую систему Debian trixie на сервер

prolinux

Опубликован:  2024-02-03T06:28:27.907738Z
Отредактирован:  2024-02-03T06:28:27.907738Z
Статус:  публичный
20
0
0

Операционная система Debian очень часто используется на серверах различного назначения. Сегодня почти все провайдеры предлагают недорогие VDS/VPS сервера с уже установленным Debian, но многие администраторы относятся с недоверием к чужим шаблонам и предпочитают самостоятельно устанавливать операционную систему, из собственного образа. В этом обзоре я смоделирую при помощи VirtualBox развёртывание базовой системы Debian trixie на сервер сети, который впоследствии будет обслуживать web-сайт, подключу его к сети и установлю удалённое, безопасное соединение с ним с помощью ssh в терминале своего рабочего компьютера.

Зачем это нужно?

Обычно это нужно не всем... Но, если вам необходим собственный сайт в сети Интернет, рано или поздно вы столкнётесь с необходимость арендовать VDS сервер и настроить его в полном соответствии с собственными предпочтениями. Сегодня это возможно.

Любой современный VDS/VPS сервер - это виртуальная машина, работающая на том или ином гипервизоре. Наиболее часто сегодня встречаются следующие варианты исполнения:

  • OpenVZ;

  • KVM;

  • Hyper-V;

  • VMware.

По счастливому стечению обстоятельств, многие провайдеры сегодня предлагают VDS сервера на базе KVM - самый распространённый вариант, и на базе этого же KVM работает всем хорошо знакомая десктопная виртуальная машина VirtualBox. А, поскольку развёртывание сервера - процесс сложный и, иногда, достаточно запутанный, а выполнить его обычно необходимо в сжатые сроки, ибо выражение время - деньги обретает прямой смысл, когда VDS уже заказан и оплачен, многие администраторы предпочитают предварительно процесс развёртывания сервера отработать и обкатать в тёплых ламповых условиях, на локальной машине, когда никто не дышит в спину. И в этом случае VirtualBox становится очень удобным инструментом.

Кроме этого, последнее время появились предложения провайдеров на базе облачных серверов, например провайдер TimeWeb предлагает такие. Развернуть сервер в этом случае невозможно из обычного iso-образа, а требуется специальный образ, который можно подготовить как раз с помощью VirtualBox.

Отсюда делаю вывод... Нужно, однако, а значит, давайте посмотрим на практический процесс реализации поставленной задачи.

Инструменты и принадлежности

Для реализации задуманного мне понадобится любой компьютер, на который можно установить программу VirtualBox и запустить виртуальную машину. В рамках этой демонстрации я буду использовать свой домашний лэптоп с Debian sid на борту. Это компьютер не первой свежести, у него процессор Intel Celeron B820 и всего 6GB RAM, но даже с такими аппаратными возможностями ему вполне по силам предложенная задача.

Кроме этого мне понадобится iso-образ с дистрибутивом Debian trixie, я буду использовать образ netinstall.

Загрузка iso-образа

На текущий момент времени Debian trixie является тестовой веткой, и скачать его образы можно с ftp-сервера DebianCD, вот как выглядит страница в моём браузере.

h6neWGsaMF.png

Последний в списке образ - это то, что мне нужно. Прямо в браузере копирую адрес ссылки в буфер обмена, а затем перехожу в окно терминала и выполняю в нём следующую команду.

$ wget https://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/debian-testing-amd64-netinst.iso

Ссылку в терминал можно вставить из буфера обмена, современные графические терминалы великолепно справляются с подобной задачей. Дожидаюсь полной загрузки образа. После этого желательно проверить контрольную сумму файла по эталону, который можно найти в файле SHA256SUMS, его можно загрузить с этой же страницы.

Подготовка виртуальной машины VirtualBox

VirtualBox имеет GUI, и пользоваться им достаточно просто, поэтому я не буду воспроизводить здесь весь процесс создания виртуальной машины в пошаговом режиме, с этим справится даже совсем начинающий пользователь.

Мне нужна виртуальная машина с двумя сетевыми картами, остальные аппаратные параметры не столь важны. При этом нужно учитывать, что, если RAM виртуальной машины будет меньше 1GB, то программу установки Debian не получится запустить в графическом режиме.

Только что загруженный iso-образ Debian загружаю в виртуальный привод машины, это можно сделать в окне "Настройки" созданной виртуальной машины.

Nq7luhUTry.png

Установка операционной системы Debian trixie

Включаю виртуальную машину и загружаю её с подключенного iso-образа, в стартовом меню базового загрузчика выбираю пунт "Graphical Install". Сопровождать весь процесс установки базовой системы снимками экрана в рамках этой демонстрации не имеет смысла, официальная программа установки Debian интуитивно понятна и проста. Покажу только характерные особенности настроек для сервера. Управлять программой установки можно как при помощи мыши, так и при помощи клавиатуры: клавиши со стрелками, Tab, Enter и пробельная клавиша.

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

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

GdLsmD6tKU.png

На моей виртуальной машине к сети Интернет через NAT подключена первая в списке сетевая карта, выбираю её, нажимаю Enter, последует настройка сети. Программа предложит выбрать имя машины в сети.

JbZqZCxugH.png

Поскольку я настраиваю сервер, выбираю соответствующее имя - server. В качестве имени домена можно выбрать домен, на котором будет работать сайт, который будет обслуживать этот сервер. За этим последует настройка пользователей и паролей.

От пароля root можно отказаться, тогда для первого созданного пользователя программа установки автоматически настроит sudo, и сервер можно будет администрировать с его аккаунта.

Затем последует настройка пользователя системы, нужно будет ввести имя пользователя, затем имя учётной записи и пароль пользователя. Для этой демонстрации я выбрал имя пользователя jazz - с этим именем и назначенным паролем чуть позже я войду в систему.

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

У моей виртуальной машины диск достаточно скромных размеров - 10GB, выбираю разметку диска вручную, и создаю один единственный раздел с файловой системой ext4, занимающий всё пространство диска.

zUF03zJTKh.png

Вот как выглядит таблица разделов диска моей машины в итоге:

MuXk3V3B44.png

Выбираю пункт "Закончить разметку и записать изменения на диск", жму Enter. В итоге программа установки предупредит меня, что я не предусмотрел раздел для подкачки и предложит вернуться к разметке диска, от этой опции я откажусь, подкачку я настрою позже в swap-файл при последующей настройке сервера. Записываю изменения на диск.

Далее программа установки предложит установить базовую систему и последует серия окон настройки менеджера пакетов, следует отказаться от сканирования дополнительных носителей, выбрать страну, в которой расположено ближайшее зеркало Debian, выбрать конкретное зеркало, будет предложен список адресов ftp-зеркал, как правило первые два адреса в этом списке оказываются оптимальным выбором. При выборе прокси оставляю поле пустым и просто жму Enter.

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

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

l5vOORI8Q7.png

На базовой системе для сервера мне нужны только стандартные системные утилиты и SSH-сервер, жму Enter.

Программа установки скачает с зеркала все необходимые пакеты, в моём случае их оказалось 154 штуки, установит их и выполнит все запланированные действия, при этом покажет прогресс их выполнения. Заключительный этап - это установка системного загрузчика.

Системный загрузчик я установлю в первичный раздел и укажу его вручную - /dev/sda в последовательно предложенных программой установки формах.

После установки системного загрузчика программа предложит перезагрузить компьютер.

LvedxNPUeM.png

Опять жму Enter и дожидаюсь когда виртуальная машина загрузится вновь. X-сервера у этой версии операционной системы нет, графических утилит нет, в своём базовом исполнении Debian предлагает пользователю только текстовую консоль. Имя пользователя мне известно, пароль я задавал собственноручно "пять" минут назад, вхожу. Мне предстоит настроить второй сетевой интерфейс машины, с помощью которого компьютер подключен к виртуальной сети.

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

В предыдущем выпуске этого блога я настраивал виртуальную сеть VirtualBox с помощью NetworkManager - программы с GUI. Но на сервере, с которым мне приходится иметь дело сейчас, GUI отсутствует как класс, есть только текстовая консоль. Что делать?

Первое... Не паниковать и успокоиться. Мне нужно получить список сетевых интерфейсов, известных операционной системе. Это можно сделать вот такой простой командой:

$ ip a

mX40AWk0nN.png

Как видно на снимке экрана выше, в этом списке есть три интерфейса, на последнем в списке интерфейсе с именем enp0s8 отсутствует IP-адрес - интерфейс не используется.

Сетевые интерфейсы в Debian управляются при помощи соответствующего текстового файла, я знаю его адрес в файловой системе и могу открыть его в текстовом редакторе с правами администратора, вот так:

$ sudo nano /etc/network/interfaces

В результате в текстовой консоли появится псевдо-окно Nano, и я могу отредактировать в этом окне текст. Мне нужно вписать в конец этого файла следующие четыре строчки:

auto enp0s8
iface enp0s8 inet static
address 192.168.56.101
netmask 255.255.255.0

IP-адрес можно использовать любой в интервале 192.168.56.101 - 192.168.56.254. Мой сервер будет слушать виртуальную сеть на адресе 192.168.56.101.

yIPkMoFFyo.png

Следует сохранить внесённые в файл изменения (crtl+o) и покинуть редактор (ctrl+x).

После изменения настроек сети следует перезагрузить соответствующую службу следующей командой:

$ sudo systemctl restart networking.service

Если всё сделал правильно, то сразу после перезагрузки сетевой службы можно попробовать попинговать host-машину, в виртуальной сети она расположена на IP-адресе 192.168.56.100. Ping...

$ sudo ping -c 5 192.168.56.100

3iNwygSY5U.png

Хост откликнулся. Сеть заработала.

Подключение по ssh

С VirtualBox иметь дело просто, и управлять сервером можно прямо в окне виртуальной машины. Что делать, если сервер будет расположен удалённо, в другом городе, может быть даже, что в другой стране? Для этого придумали специальный защищённый протокол SSH. В операционной системе моего виртуального сервера этот протокол уже представлен, давайте попробуем подключиться к серверу из терминала host-машины с помощью соответствующей команды:

$ ssh jazz@192.168.56.101

При выполнении этой команды программа в интерактивном режиме запросит подтверждение согласия на подключение, ввожу yes, запросит пароль - ввожу пароль пользователя jazz операционной системы сервера, при вводе пароль не будет отображаться, внимательно. Вот как это выглядит в терминале моей домашней операционной системы.

joyE2KHPJO.png

Обращаю внимание, что в результате подключения приглашение командной строки терминала изменило свой вид, в нём теперь указано jazz@server - с этого момента этот терминал управляет операционной системой только что развёрнутого виртуального сервера, и я получаю возможность продолжить его настройку в терминале операционной системы своего лэптопа.

Чуть позже я покажу развёртывание на полученном в этой демонстрации сервере статического web-сайта, но об этом мы поговорим в другом блоге и в другое время. А пока сервер можно выключить прямо из терминала host-машины вот такой командой:

$ sudo systemctl poweroff

Заключение

Абсолютно точно также будет выглядеть процесс установки Debian trixie на удалённый VDS сервер, только вместо окна VirtualBox программа установки будет запущена в окне обычного Интернет-браузера. Перед заказом и оплатой сервера будет очень полезно обкатать весь процесс в тепличных условиях и, может быть, сделать соответствующие пометки в блокнот, если вы делаете это впервые, пригодится...

Цель этой демонстрации полностью достигнута, продолжение следует. Напоминаю, что вопросы мне можно задать в комментариях, синяя кнопка ниже работает, или приватно. Я, обычно, отвечаю. Увидимся...