Устанавливаем базовую систему Debian trixie на сервер
prolinux
Опубликован: | 2024-02-03T06:28:27.907738Z |
Отредактирован: | 2024-02-03T06:28:27.907738Z |
Статус: | публичный |
Операционная система 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, вот как выглядит страница в моём браузере.
Последний в списке образ - это то, что мне нужно. Прямо в браузере копирую адрес ссылки в буфер обмена, а затем перехожу в окно терминала и выполняю в нём следующую команду.
$ 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 загружаю в виртуальный привод машины, это можно сделать в окне "Настройки" созданной виртуальной машины.
Установка операционной системы Debian trixie
Включаю виртуальную машину и загружаю её с подключенного iso-образа, в стартовом меню базового загрузчика выбираю пунт "Graphical Install". Сопровождать весь процесс установки базовой системы снимками экрана в рамках этой демонстрации не имеет смысла, официальная программа установки Debian интуитивно понятна и проста. Покажу только характерные особенности настроек для сервера. Управлять программой установки можно как при помощи мыши, так и при помощи клавиатуры: клавиши со стрелками, Tab
, Enter
и пробельная клавиша.
На начальном этапе необходимо выбрать язык программы установки и местоположения. Затем последует настройка клавиатуры, выбор языков клавиатуры и сочетания клавиш для переключения раскладки.
Поскольку у виртуальной машины две сетевые карты, программа установки предложит выбрать, какую из предложенных использовать для подключения к сетевому хранилищу пакетов.
На моей виртуальной машине к сети Интернет через NAT подключена первая в списке сетевая карта, выбираю её, нажимаю Enter
, последует настройка сети. Программа предложит выбрать имя машины в сети.
Поскольку я настраиваю сервер, выбираю соответствующее имя - server
. В качестве имени домена можно выбрать домен, на котором будет работать сайт, который будет обслуживать этот сервер. За этим последует настройка пользователей и паролей.
От пароля root можно отказаться, тогда для первого созданного пользователя программа установки автоматически настроит sudo, и сервер можно будет администрировать с его аккаунта.
Затем последует настройка пользователя системы, нужно будет ввести имя пользователя, затем имя учётной записи и пароль пользователя. Для этой демонстрации я выбрал имя пользователя jazz
- с этим именем и назначенным паролем чуть позже я войду в систему.
Далее программа установки предложит настроить часовой пояс, нужно выбрать желаемый, и после этого последует программа разметки дисков.
У моей виртуальной машины диск достаточно скромных размеров - 10GB, выбираю разметку диска вручную, и создаю один единственный раздел с файловой системой ext4, занимающий всё пространство диска.
Вот как выглядит таблица разделов диска моей машины в итоге:
Выбираю пункт "Закончить разметку и записать изменения на диск", жму Enter
. В итоге программа установки предупредит меня, что я не предусмотрел раздел для подкачки и предложит вернуться к разметке диска, от этой опции я откажусь, подкачку я настрою позже в swap-файл при последующей настройке сервера. Записываю изменения на диск.
Далее программа установки предложит установить базовую систему и последует серия окон настройки менеджера пакетов, следует отказаться от сканирования дополнительных носителей, выбрать страну, в которой расположено ближайшее зеркало Debian, выбрать конкретное зеркало, будет предложен список адресов ftp-зеркал, как правило первые два адреса в этом списке оказываются оптимальным выбором. При выборе прокси оставляю поле пустым и просто жму Enter
.
Программа установки покажет прогресс бар, выполнит все запланированные действия и предложит участие в опросе популярности пакетов. Отказываюсь и от этой опции.
Далее программа установки предложит выбрать программное обеспечение и покажет список возможных вариантов. В этом списке оставляю только два флага.
На базовой системе для сервера мне нужны только стандартные системные утилиты и SSH-сервер, жму Enter
.
Программа установки скачает с зеркала все необходимые пакеты, в моём случае их оказалось 154 штуки, установит их и выполнит все запланированные действия, при этом покажет прогресс их выполнения. Заключительный этап - это установка системного загрузчика.
Системный загрузчик я установлю в первичный раздел и укажу его вручную - /dev/sda
в последовательно предложенных программой установки формах.
После установки системного загрузчика программа предложит перезагрузить компьютер.
Опять жму Enter
и дожидаюсь когда виртуальная машина загрузится вновь. X-сервера у этой версии операционной системы нет, графических утилит нет, в своём базовом исполнении Debian предлагает пользователю только текстовую консоль. Имя пользователя мне известно, пароль я задавал собственноручно "пять" минут назад, вхожу. Мне предстоит настроить второй сетевой интерфейс машины, с помощью которого компьютер подключен к виртуальной сети.
Настройка виртуальной сети VirtualBox
В предыдущем выпуске этого блога я настраивал виртуальную сеть VirtualBox с помощью NetworkManager - программы с GUI. Но на сервере, с которым мне приходится иметь дело сейчас, GUI отсутствует как класс, есть только текстовая консоль. Что делать?
Первое... Не паниковать и успокоиться. Мне нужно получить список сетевых интерфейсов, известных операционной системе. Это можно сделать вот такой простой командой:
$ ip a
Как видно на снимке экрана выше, в этом списке есть три интерфейса, на последнем в списке интерфейсе с именем 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
.
Следует сохранить внесённые в файл изменения (crtl+o
) и покинуть редактор (ctrl+x
).
После изменения настроек сети следует перезагрузить соответствующую службу следующей командой:
$ sudo systemctl restart networking.service
Если всё сделал правильно, то сразу после перезагрузки сетевой службы можно попробовать попинговать host-машину, в виртуальной сети она расположена на IP-адресе 192.168.56.100
. Ping...
$ sudo ping -c 5 192.168.56.100
Хост откликнулся. Сеть заработала.
Подключение по ssh
С VirtualBox иметь дело просто, и управлять сервером можно прямо в окне виртуальной машины. Что делать, если сервер будет расположен удалённо, в другом городе, может быть даже, что в другой стране? Для этого придумали специальный защищённый протокол SSH. В операционной системе моего виртуального сервера этот протокол уже представлен, давайте попробуем подключиться к серверу из терминала host-машины с помощью соответствующей команды:
$ ssh jazz@192.168.56.101
При выполнении этой команды программа в интерактивном режиме запросит подтверждение согласия на подключение, ввожу yes
, запросит пароль - ввожу пароль пользователя jazz операционной системы сервера, при вводе пароль не будет отображаться, внимательно. Вот как это выглядит в терминале моей домашней операционной системы.
Обращаю внимание, что в результате подключения приглашение командной строки терминала изменило свой вид, в нём теперь указано jazz@server
- с этого момента этот терминал управляет операционной системой только что развёрнутого виртуального сервера, и я получаю возможность продолжить его настройку в терминале операционной системы своего лэптопа.
Чуть позже я покажу развёртывание на полученном в этой демонстрации сервере статического web-сайта, но об этом мы поговорим в другом блоге и в другое время. А пока сервер можно выключить прямо из терминала host-машины вот такой командой:
$ sudo systemctl poweroff
Заключение
Абсолютно точно также будет выглядеть процесс установки Debian trixie на удалённый VDS сервер, только вместо окна VirtualBox программа установки будет запущена в окне обычного Интернет-браузера. Перед заказом и оплатой сервера будет очень полезно обкатать весь процесс в тепличных условиях и, может быть, сделать соответствующие пометки в блокнот, если вы делаете это впервые, пригодится...
Цель этой демонстрации полностью достигнута, продолжение следует. Напоминаю, что вопросы мне можно задать в комментариях, синяя кнопка ниже работает, или приватно. Я, обычно, отвечаю. Увидимся...