Устанавливаем Debian buster на сервер, часть первая

debianeach

Опубликован:  2019-08-10T09:01:22.746964Z
Отредактирован:  2019-08-13T05:25:22.283305Z
В этой демонстрации рассмотрена установка Debian buster на сервер сети на примере ручного развёртывания web-приложения. В результате предпринятых усилий получим абсолютно аналогичный auriz.ru сайт в локальной виртуальной сети. Повторив описанный процесс на VDS/VPS-сервере в сети Интернет с минимальными отличиями, можно получить полнофункциональный сайт. Осторожно, много картинок...

1. Исходные данные

Debian buster - очень многогранная и разносторонняя операционная система, кроме всем привычных десктопов buster вполне органично вписывается в инфраструктуру сервера сети практически любого характера и функционала. В этом обзоре я покажу установку Debian buster на сервер сети и разверну на его базе web-сервер, абсолютно аналогичный web-серверу этого сайта (auriz.ru). Так как в моём распоряжении нет подходящего VDS/VPS-сервера в сети Интернет, я продемонстрирую все действия на примере виртуальной машины VirtualBox, в сущности, различия несущественны.

Для этой демонстрации мне необходимы следующие программы и принадлежности:

  1. Компьютер с установленным и настроенным десктопом Debian buster, я буду использовать свой старенький домашний laptop, на котором и будут произведены все описываемые действия;
  2. Нелимитированное по трафику и времени соединение с Интернет, в моём случае это канал от Ростелеком c пропускной способностью около 25 Mbps;
  3. Установленная и настроенная программа VirtualBox, на базе которой я и создам виртуальный сервер виртуальной локальной сети;
  4. Web-приложение, которое и будет развёрнуто на полученном сервере, я буду использовать своё приложение auriz, которое разработано и отлажено специально для этого сайта;
  5. Для отправки регистрационных писем web-приложению необходим адрес электронной почты, я буду использовать один из своих ящиков на домене auriz.ru;
  6. Немного времени, усидчивости, внимания и терпения.

Web-приложение, которое я буду устанавливать на сервер, написано на языке программирования высокого уровня Python3 и использует для своего функционала базы данных PostgreSQL и Redis. Разворачивать его будем на базе web-сервера Nginx. В настоящее время инсталляция web-приложения не автоматизирована, поэтому всё будем делать ручками в командной строке и текстовом редакторе Nano. Далее по списку ниже я буду демонстрировать команды терминала и снимки экрана, полученные после их выполнения. Будет интересно, дочитайте до конца... :)

2. Настраиваем десктоп

Поскольку разворачиваемый сервер будет существовать только в локальной виртуальной сети, на заданном IP-адресе, мне необходимо связать этот IP-адрес с доменом, который я планирую использовать. Опять же для сервера локальной виртуальной сети можно использовать любой домен, но предварительно его нужно прикрутить к заданному IP-адресу, на котором будет развёрнут сервер. Для этого открываю в текстовом редакторе Nano файл /etc/hosts.

sudo nano /etc/hosts

И вписываю одну единственную строчку:

192.168.56.102  auriz.net www.auriz.net

fI86nO6sEI.png

Сохраняю файл, напоминаю, в редакторе Nano сохранить изменения в файл можно сочетанием ctrl+o, и выхожу из текстового редактора (ctrl+x).

Как нетрудно догадаться, мой сервер будет развёрнут в локальной виртуальной сети на домене auriz.net c алиасом www.auriz.net и на IP-адресе 192.168.56.102 - это два ключевых параметра, которые я буду использовать по ходу выполняемых действий.

Теперь, после сохранения изменений в файл, если попробовать попинговать выбранное доменное имя,

ping -c 1 auriz.net

то можно увидеть, что на этом десктопе оно связано с заданным IP-адресом, а сайт сети Интернет с этим доменным именем затенён, и ping-пакеты никуда не уходят, потому что сервера c заданным IP-адресом в сети пока нет. Сейчас я его создам из ничего...

3. Получаем установочный iso-образ

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

MkI02VBozk.png

Скачивать образ намного удобнее и быстрее с торрент-клиентом, загружаю с ftp-сервера два файла, на снимке экрана выше они указаны стрелками, а затем открываю torrent-файл в соответствующем клиенте.

rFDZHvmdoc.png

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

grep debian-10.0.0-amd64-netinst.iso$ MD5SUM
md5sum debian-10.0.0-amd64-netinst.iso

9skFUdAwEZ.png

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

4. Создаём и настраиваем виртуальную машину

VirtualBox отсутствует в официальном репозитории Debian buster, но его можно легко установить подключив репу Oracle, как это делается, описано в одном из выпусков блога на примере Debian stretch, отличия в действиях будут минимальные.

Сразу после установки VirtualBox необходимо настроить виртуальный сетевой адаптер, с помощью которого будет создана виртуальная сеть. На моём десктопе виртуальный сетевой адаптер настроен на IP-адресе 192.168.56.100, dhcp-сервер отключен.

Для сервера мне необходима виртуальная машина со следующими параметрами:

  • RAM - 1024MiB;
  • HDD - 20GiB.

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

i84iu7niRb.png

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

IrvnTRgyy6.png

Загруженный iso-образ Debian-netinst вставляю в виртуальный привод своей виртуальной машины.

QoXbL8l03P.png

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

HMRSFQX2Wd.png

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

5. Устанавливаем базовую операционную систему

Программа установки Debian buster довольно просто устроена и не требует начальной подготовки, тем не менее для этой демонстрации я решил последовательно показать заполнение всех форм.

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

ey8CvjYQOS.png

Затем местоположение.

2jXR9ez9M9.png

Соответствующим образом настраиваю клавиатуру.

MzBrtaFd5T.png

q0FvondosF.png

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

bQpl8MLJS2.png

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

8qSUWP9rKy.png

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

qvt10MScd5.png

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

yTVUVKUE1w.png

Затем настраиваю текущего пользователя системы.

s8NWHMAjHh.png

O8aSgnRsYc.png

4xPkLb5YU2.png

В результате, так как я отказался от пароля суперпользователя, программа установки автоматически установит и настроит программу sudo, а текущему пользователю будут даны права на её использование, удобно и практично.

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

28djz1UkgK.png

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

VRQWHSrV4X.png

Жесткий диск моего сервера имеет довольно скромный объём, поэтому я не вижу смысла выделять на нём какие-то разделы, в данном случае намного важней эффективность использования всего дискового пространства. Создаю один единственный раздел с файловой системой ext4 и нацеливаю его на точку монтирования / - корень системы.

u0S1Z1BuwB.png

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

1yityxRoBJ.png

А вот на предложение записать изменения на диск соглашаюсь.

aaWSxlGrLD.png

Программа установки приступит к установке базовой системы.

l0EKf23kXR.png

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

Tr3ZHoHSwF.png

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

tLimWa9ngJ.png

А затем само зеркало.

Ufdt90vb6b.png

Поле с информацией для HTTP-прокси оставляю пустым.

5ainQ4FA6g.png

И отказываюсь от участия в опросе популярности пакетов.

RVZPcdbAJl.png

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

xuMasczNEM.png

Снимаю все галки в этой форме, оставляю только ssh-сервер и стандартные системные утилиты.

RMx5BA0NrF.png

Программа установки приступит в загрузке заданных пакетов с зеркала и их установке. Необходимо дождаться полного завершения этого процесса.

Rmo4YETyVF.png

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

Eg42mGv7cw.png

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

Elfbi4L5qb.png

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

CXfz7ux3rA.png

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

LAwZPNb4Tl.png

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

6. Настраиваем на серверe загрузчик и сеть

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

XfHB2M7miq.png

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

sudo nano /etc/default/grub

Нахожу в этом файле строчку с параметром GRUB_TIMEOUT и задаю в этой строчке в качестве параметра ноль.

A1KT8Goasy.png

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

sudo update-grub

LbeeoDct8c.png

Всё, таймаут загрузчика отключен.

У моего сервера две сетевые карты, состояние их интерфейсов можно увидеть при помощи утилиты ip.

ip a

o9AfFw5N76.png

Как видно на снимке экрана выше, первая сетевая карта - enp0s3 - имеет параметры, этот интерфейс был настроен программой установки Debian. Второй интерфейс - enp0s8 - не имеет параметров, но он подключен к виртуальному сетевому адаптеру и его необходимо настроить, для этого открываю в текстовом редакторе Nano файл настроек сетевых интерфейсов.

sudo /etc/network/interfaces

В этом файле вписываю для второго интерфейса - enp0s8 - следующие параметры.

# The internal network interface
auto enp0s8
iface enp0s8 inet static
address 192.168.56.102
netmask 255.255.255.0

pqwWUqtc5Q.png

Сохраняю изменения в файл, покидаю текстовый редактор и перезапускаю сервис сети.

sudo systemctl restart networking.service

Теперь можно попробовать попинговать виртуальный адаптер сети, напоминаю он слушает на IP-адресе 192.168.56.100, если всё сделано правильно, ping-пакеты будут уходить.

fvg0v6wZmt.png

Отлично, виртуальная сеть заработала, и в этой сети на текущий момент есть два компьютера:

  • мой десктоп, который является для виртуального сервера хост-машиной;
  • виртуальный сервер, на котором установлена базовая система Debian buster.

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

7. Продолжение следует

Продолжение следует. Во второй части описания я покажу установку серверного программного обеспечение и развёртывание на базе этого сервера web-приложения и необходимых ему системных служб, в результате чего получу в локальной виртуальной сети сайт auriz.net - полный аналог этого сайта. Будет интересно, дочитайте до конца.

Комментарии: