Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.
Прежде чем приступись к установке операционной системы и компонентов сервера необходимо создать среду в которой будет работать ваш сервер.
2.1. Получение статического IP-адреса
Запросите у провайдера статический IP-адрес (100-150 руб. в месяц) и перенастройте роутер по инструкции, которую предоставит провайдер. Предположим, что провайдер выдал вам адрес 89.222.216.111. Везде, где далее увидите этот адрес просто заменяйте его на реальный, выданный провайдером адрес.
2.2. Регистрация домена
Для комфортного использования будущего сервера за пределами домашней локальной сети я зарегистрировал доменное имя у регистратора Reg.ru (можно воспользоваться услугами любого другого, но почитав отзывы я остановился именно на этом регистраторе). На их сайте все довольно просто и понятно. Сначала придумываем название домена, потом проверяем свободен ли он и регистрируем. Если возникают вопросы – обращаемся в службу поддержки. Она работает довольно хорошо, по крайней мере на мне все рассказали очень быстро и доступным языком.
Для написания этой статьи я зарегистрировал "учебный" домен 475cloud.ru
Везде, где далее увидите это имя просто заменяйте его на имя своего домена.
2.3. Создание записей DNS
После регистрации домена необходимо отыскать в личном кабинете пункт «DNS-серверы и управление зоной» и поменять указанный по умолчанию платный DNS-сервер (ns1.hosting.reg.ru, ns2.hosting.reg.ru) на бесплатный (ns1.reg.ru, ns2.reg.ru).
Далее, в том же пункте меню, нужно внести DNS-записи типа «А» для основного домена (домен второго уровня) и поддоменов (доменов третьего уровня). Это необходимо, что бы связать ваше доменное имя с ip-адресом будущего сервера. Для удобства доступа я решил создать отдельные поддомены для Home Assistant (ha.475cloud.ru), для Nextcloud (nc.475cloud.ru), для Plex Media server (plex.475cloud.ru), для торрент-клиента (torrent.475cloud.ru), для панели управления Webmin (wm.475cloud.ru) и для доступа к webdav (wd.475cloud.ru).
Существует мнение, что размещение ресурсов на поддоменах более безопасно, в связи с тем, что злоумышленники чаще всего производят сканирование и взлом доменов второго уровня.
В результате у меня получилось так:
Символом @ здесь обозначается главный домен.
Главный домен оказывается связанным с IP-адресом в течение 3-12 часов после добавления записи. Поддомены – почти сразу после добавления.
2.4. Настройка роутера
2.4.1. Настройка DHCP.
Первое что надо сделать - это узнать MAC-адрес сетевой платы компьютера (как это сделать почитайте на в интернете), который скоро станет сервером и прописать его в настройках DHCP роутера присвоив ему статический локальный IP-адрес. На моем роутере (ZTE от Ростелеком) это выглядит так:
Адрес моего тестового сервера: 192.168.2.11. Везде, где далее увидите этот адрес просто заменяйте его на свой.
2.4.2. Настройка переадресации портов.
Для того чтобы ваш сервер был виден со стороны интернета необходимо настроить переадресацию портов.
Если вы последуете моему примеру , зарегистрируете домен и создадите поддомены для доступа к элементам сервера - то можно ограничиться только двумя портами : 80 и 433, а остальные не переадресовывать за ненадобностью -так безопаснее. Да 80 порт можно будет закрыть после установки SSL-сертификатов.
Как это сделать я описывать не буду, поскольку у роутеров разные интерфейсы, а общий смысл в том, что вы указываете порт роутера (WANпорт), IP -адрес (LAN-хост) и порт вашего сервера (порт LAN-хоста).
У меня, на примере порта 80, это выглядит так:
Название пишите какое хотите, что бы было понятно.
Смысл данного действия в том, что бы объяснить роутеру, а именно он будет иметь статический адрес выданный провайдером, что ему делать в случае обращения к нему извне по тому или иному порту. В приведенном выше примере я говорю роутеру, что при обращении к нему по порту 80 ему следует перенаправить запрос на порт 80 компьютера с ip-адресом 192.168.2.11. Соответственно и ответ от 192.168.2.11 так же будет перенаправлен через роутер в обратном направлении.
2.5. Установка Debian 12
Скачиваем дистрибутив ОС отсюда: https://www.debian.org/download
Скачиваем balenaEtcher для записи образа на флешку отсюда: https://etcher.balena.io/
Записываем образ на флешку и загружаем наш будущий сервер с флешки.
Пошаговых инструкций по установке Debian 12 в интернете навалом – они все одинаковые. Например: https://dzen.ru/a/ZInKuQwslkmKeU0T
Единственное что отмечу: при настройке устанавливаемых компонентов не выбирайте в качестве графической оболочки KDE Plasma – она сожрет все ресурсы. Выберите Xfce – вполне достаточный функционал… И отметьте галками web server и SSH-сервер они нам понадобятся.
Итак, напоминаю, что:
IP-адрес вашего сервера: 192.168.2.11
Статический IP-адрес, предоставленный провайдером: 89.222.216.111
Доменное имя, которое вы зарегистрировали: 475cloud.ru
Просто заменяйте везде, где в дальнейшем встретите эти значения на свои и все получится.
2.6. Первоначальная настройка.
2.6.1. Подключение к серверу по SSH.
Не углубляясь в детали протокола SSH скажу лишь, что этот протокол обеспечивает зачищенный обмен данными между двумя устройствами. С практической точки зрения, для решения нашей задачи, он позволит произвести установку программ и настройку сервера сидя за своим настольным компьютером или ноутбуком, не разрываясь между двумя мониторами, клавиатурами и мышами. По большому счету вся эта периферия на сервере нам в принципе не нужна за исключением тех случаев, когда сетевое соединение с ним по какой-то причине будет потеряно.
Для того чтобы воспользоваться этими удобствами установим на наш рабочий компьютер/ноутбук программу PuTTY. Там не нужно ничего настраивать, только указать IP-адрес сервера сохранить настройку, чтобы не вводить каждый раз и подключиться к командной строке.
Скачать ее можно например здесь: https://putty.org.ru/
Запускаем PUTTY вводим IP-адрес вашего сервера, вводим название настройки и сохраняем настройку кнопкой Save.
После нажатия кнопки Open откроется окно терминала с командной строкой.
2.6.2. Авторизация
Авторизуемся под пользователем и паролем, указанным в процессе установки Debian.
Далее меняем пользователя на суперпользователя (root). Для этого вводим в командную строку
su -
Debian запросит пароль суперпользователя который вы указали при установке.
Теперь у вас полные права любые действия с системой (root – права).
Запоминаете эту процедуру, поскольку ее придется повторять после каждой перезагрузки сервера в процессе настройки.
При вводе команд из этой инструкции чтобы не набирать вручную используем как обычно copy (ctrl + c), а вот paste в терминале: правый shift + Insert - придется привыкнуть. Если же что-то захотите скопировать из терминала: правый shift + Delete.
Еще одна «хитрость» терминала стрелками «вверх» - «вниз» можно листать последние введенные команды.
Даем себе права суперпользователя:
sudo usermod -aG sudo andrey
2.6.3. Настройка путей к репозиториям.
Запрещаем обращение к cd-rom при установке пакетов и добавляем репозитории для установки Webmin:
nano /etc/apt/sources.list
В открывшемся файле, в начале первой строки (перед ссылкой на CD) ставим знак комментария - #
И сохраняем (Ctrl +O).
Обновляем репозитории и установленные пакеты:
apt update && apt upgrade -y
2.6.4. Установка и настройка брандмауэра UFW (Uncomplicated Firewall):
Устанавливаем и включаем UFW:
sudo apt install ufw -y
sudo ufw enable
На вопрос о продолжении отвечаем : y
После запуска UFW закроет на сервере все порты, в том числе и 22 по которому работает SSH-протокол. Поэтому сразу же откроем порт 22, а заодно и 80 и 443 для web-сервера:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
В дальнейшем по мере установки компонентов мы будем добавлять в правила порты необходимые для работы устанавливаемого компонента.
2.6.5. Установка консольного файл-менеджера Midnight Commander (MC):
sudo apt install mc -y
Для его вызова в дальнейшем будем вводить команду:
mc
Привет тем, кто помнит Norton Commander!
Закрыть mc - F10
2.6.6. Установка RDP для подключения к удаленному рабочему столу
Добавляем в исключения UFW порт 3389/tcpнеобходимый для работы RDP:
sudo ufw allow 3389/tcp
Устанавливаем пакет, добавляем в автозапуск и включаем:
sudo apt install xrdp -y
sudo systemctl enable xrdp
sudo systemctl start xrdp
Теперь можно подключиться к графической оболочке сервера из Windows используя стандартный Remote Desktop введя IP-адрес вашего сервера и номер порта: 192.168.2.11:3389.
Обратите внимание на то, чтобы в момент запуска подключения у вас была включена английская раскладка иначе, вы не сможете ввести имя пользователя и пароль. В параметрах можно указать пользователя и пароль, чтобы не вводить его каждый раз при открытии рабочего стола сервера.
Если после ввода пароля вы видите пустой бирюзовый экран - доустановите пакет xorgxrdp:
sudo apt install xorgxrdp
2.6.7. Установка Webmin
Webmin– очень удобное средство для администрирования вашего сервера.
Добавляем в исключения UFW порт 10000/tcp необходимый для работы Webmin:
sudo ufw allow 10000/tcp
Загружаем дистрибутив непосредственно с официального сайта приложения и устанавливаем:
wget https://www.webmin.com/download/deb/webmin-current.deb
sudo apt install --install-recommends ./webmin-current.deb -y
В конце установки будет предупреждение - не обращаем на него внимание.
Для доступа к Webmin нужно в браузере ввести http://192.168.2.11:10000 для доступа из локальной сети или http://189.222.216.111:10000 для доступа из сети интернет .
Для авторизации используется суперпользователь (root) и его пароль.
Главная страница Webmin выглядит так.
Тут в реальном времени отображается загрузка процессора и оперативной памяти, а также объем занятого пространства на всех подключенных дисковых накопителях.
Тут же демонстрируется количество доступных обновлений для установленных пакетов (строчка Packages updates) и парой кликов мыши можно запустить установку всех этих обновлений.
Webmin включает в себя массу модулей позволяющих мониторить и управлять удаленным компьютером.
Службы и утилиты поддерживаемые Webmin после установки интегрируются в него автоматически. Нужно просто нажать "Refresh modules" и активированный модуль появится в соответствующем подменю.
Например установим утилиту для мониторинга S.M.A.R.T. жестких дисков:
sudo apt install smartmontools
Нажимаем "Refresh modules" и смотрим в пункт меню "Hardware". Там появилась опция "SMART Drive status" с соответствующими функциями.
О возможностях и настройке Webmin есть много информации в интернете.
В дальнейшем, после настройки web-сервера мы вернемся к Webmin и настроим доступ к нему из интернета через доменное имя.
Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.