Друзья, всем привет!
Многие почему-то боятся построения домашней автоматизации на своем сервере. Почему-то у 90% непосвященных пользователей в голове сидит идея, что это можно собрать только на raspberry pi. А ведь это дорого сейчас и прочее... Что ж...будем развеивать эти мифы.
Вам не нужны тысячи рублей, чтоб купить мини ПК и тонны знаний, чтоб сделать сервер. Для этого прекрасно подойдет какая-нибудь старенькая машинка, желательно конечно с x64 архитектурой(на x86 многие плагины не работают)... В моем варианте, я нашел древний ноутбук на балконе.
Будем собирать на нем рич-бич вариант домашнего сервера :)
Никакой windows. Только Linux. Иначе нам ресурсов не хватит. А на Debian 11 будет летать)
Что по характеристикам ноутбука:
ЦП: Одноядерный 64-bit Intel Celeron 723 1.20GHz
ОЗУ: 2 Гб SO-DIMM DDR2 667/800 МГц
HDD - отсутствовал. Поставил SSD 60 Гб.
Что понадобится:
- Флешка. Размер образа Debian 11 ~500 Мб.
- Ethernet. Может и можно по wifi работать, но на данном ноуте wifi проблемный. Интернет нужен обязательно. Иначе не поставите систему.
- Мышка не нужна
- Рабочая клавиатура для первичной настройки. Тут шлейф немного убит, поэтому я на USB клавиатуре буду работать.
- Еще один ПК(в моем случае с Windows), на котором мы сначала сделаем образ установочной USB флешки, а потом будем тестировать наш сервер. Клиент и сервер должны быть в одной сети. Если все подключено в один роутер - проблем возникнуть не должно.
- Прямые руки.
Итак. Поехали.
Подготовка загрузочной USB флешки.
Для подготовки USB флешки нужна balenaEtcher.
Скачать здесь: https://balena-etcher.com/download-balenaetcher
Так же потребуется образ Debian 11.
Скачать здесь: https://www.debian.org/download
Открываем balena Etcher -> Flash from file. Выбираем образ Debian 11(в моем случае debian-11.7.0-amd64-netinst.iso)
Select target->выбираем свою флешку. Жмем ок!
Flash!
Дожидаемся успешного окончания записи.
Вынимаем флешку и топаем к ноутбуку.
Установка Debian 11.
Заходим в биос. Выбираем нашу флешку, как первую для загрузки.
Сохраняем настройки и перезагружаемся
При включении нас встретит интерфейс установочника Debian 11. Жмем Install
Выбираем Русский язык
Выбираем местонахождение
Выбираем раскладку клавиатуры
Выбираем привычное для Вас сочетание клавиш переключения языка ввода
Начнется загрузка доп. компонентов
Не знаю, как будет у Вас, а у меня высветилось вот такое окно.
Я нажал нет.
Я подключен по Ethernet. Должно все работать.
И да. Интернет подхватился.
Далее нас просят ввести имя комьютера. Оставим по-умолчанию "debian"
Имя домена оставим пустым
Пароль суперпользователя сделаем суперсложным и напишем 1111
Подтвержаем пароль
Создадим учетную запись. Я написал "oleg"
Введем пароль для учетной записи. Пусть будет тоже 1111
Подтверждаем
Далее настроим время.
После нас встречает разметка диска. У меня SSD на 60 Гб. Я весь диск буду под сервер оставлять.
Выберем нужный диск. Я выбрал свой SSD. Второй в списке - это флешка, с которой ставлю систему.
Пусть все файлы будут в одном разделе.
Закончим разметку и запишем изменения на диск
Далее он спросит. Ты уверен? Я все отформатирую сейчас! Соглашаемся.
Начнется форматирование разделов и создание файловой системы
Далее нам нужно выбрать зеркало, откуда будем производить установку пакетов.
Прокси пропускаем
Выполняется настройка
Разработчикам мы никакие данные отправлять не хотим.
И теперь самый важный шаг!
Enter не нажимаем! Пользуемся пробелом! Пробелом выберем только самое необходимое. Нам не нужна графическая оболочка.
Выберем только "SSH-сервер" и "Стандартные системные утилиты"
После этого можем уже нажать Enter
Далее нас спросят. Ставить ли GRUB. Соглашаемся
Выберем диск для установки GRUB. Соответственно - это диск, куда ставили систему.
Все. Больше вроде никаких окон быть не должно. Появится такое:
Достаем флешку. Нажимаем продолжить.
Компьютер перезагрузится. Если сразу подхватит диск, то начнется загрузка Linux. Если нет - лезем в биос. Выбираем диск.
Если Вы видите то же, что и у меня - поздравляю! Вы поставили Debian 11 на комплюктер. Пол дела сделано!
Можно тестануть. Login - ввожу oleg
Пароль у меня 1111. Когда вводим пароль - ничего на экране не отображается. Это нормально. Просто жму 1111 и Enter. Если все сделано правильно - появится следующее:
Установка Home Assistant.
Т.к. это у нас ноутбук - крышку пока не закрываем, а то он в спячку уйдет. Попробуем подключиться к нему через PuTTY
Скачать здесь: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Мой компьютер и данный ноутбук находятся в одной сети. SSH на debian мы поставили. Проблем быть не должно.
ip сервера 192.168.0.119
Попробуем подключиться.
Жмем Open
Жмем Accept
Вводим логин и пароль пользователя и все работает.
перейдем в суперпользователя.
введем команду: su
пароль суперпользователя при установке системы ставили 1111
Пришло время открыть инструкцию по установке Home Assistant на Debian 11. Смотреть здесь: https://community.home-assistant.io/t/installing-home-assistant-supervised-on-debian-11/200253
Итак. Кто не знаком с Linux или разбирается в нем так же плохо как я - поясню некоторые моменты:
- Выполнили запрос - ждите, пока не появится root@debian:/home/"имя пользователя"#. Бывает кажется, что консоль зависла. Но Вы ждите.
- Все команды мы будем вводить от суперпользователя. Поэтому мы и входили перед этим в su.
- Вставить текст в консоль можно сочетанием клавиш Shift+Insert
Буду здесь писать команды по шагам:
1) apt update && apt upgrade -y && apt autoremove -y
2)apt --fix-broken install
3)apt-get install jq wget curl udisks2 libglib2.0-bin network-manager dbus systemd-journal-remote -y
4)curl -fsSL get.docker.com | sh
5)wget https://github.com/home-assistant/os-agent/releases/download/1.5.1/os-agent_1.5.1_linux_x86_64.deb
6)export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
7)dpkg -i os-agent_1.5.1_linux_x86_64.deb
8)wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
9)dpkg -i homeassistant-supervised.deb
Если у Вас все получилось, как у меня - поздравляю. Home Assistant установлен.
Рекомендуется заходить на сервер не реже одного раза в месяц и использовать следующую команду для загрузки исправлений безопасности и поддержания ОС в актуальном состоянии. Сделать это можно прямо на самой машине через терминал. Можно опять же через PuTTY. Не забываем делать это от суперпользователя.
Команда: apt update && apt upgrade -y && apt autoremove -y
Настройка системы.
Пока ноутбук не перезагружаем. Сделаем еще несколько настроек.
На данном моменте у меня PuTTY потерял связь с сервером, а роутер уже показал другой IP адрес.
Ладно. Перезагрузим ноутбук с него самого.
Команда: systemctl reboot
Ситуация не поменялась. Ладно. Подключаемся.
Установим htop(Диспетчер задач) и mc(файловый менеджер)
Команда: apt-get install htop mc
Отлично. Т.к. у нас ноутбук - нужно отключить переход в сон при закрытии крышки ноутбука.
Команда: mc
Откроется файловый менеджер. Работаем с левым окном. Переходим в корень. Нам нужен файл по адресу /etc/systemd/logind.conf
Откроем его для редактирования. Нажмем F4
Он спросит, через что открыть файл. нажмем 2, чтоб редачить через mc
Файл открылся.
Раскомментируем строку #HandleLidSwitch=supend и заменим значение параметра на ignore
Сохраним файл. Нажмем F2. Подтвердим. Потом жмем F10, чтоб выйти из файлового менеджера.
Перезагрузим сервер.
Команда: systemctl reboot
Подождем пока ноутбук перезагрузится.
Попробуем закрыть крышку
Ноутбук продолжает работать. Не засыпает. Отлично! Можем отключить от него все, кроме зарядника и Ethernet.
Подключимся к нему вновь через PuTTY
Все работает. Запустим диспетчер задач.
Команда: htop
Как Вы можете видеть, наша шайтан машина вообще не нагружена. 2 Гб ОЗУ ей с головой. А того старого ЦП ей вполне достаточно.
Пока я все настраивал - Home Assistant наверняка уже установился окончательно(он просто после установки еще 20 минут ставится).
Проверим. Адрес сервера 192.168.0.118, значит, чтоб зайти на сервер Home Assistant, нужно вбить в браузере 192.168.0.118:8123
Все прекрасно работает!) Регистрируемся.
Поздравляю! Сервер готов к работе.
Можем для базы сразу накатить MQTT брокера и редактор кода.
Настройки->Дополнения->Магазин дополнений
По всему остальному - смотрите уроки по Home Assistant в сети.
Рекомендую авторов:
- Электроника в объективе: https://www.youtube.com/@rnadyrshin
- Alex Kvazis - технологии умного дома: https://www.youtube.com/@Alex_Kvazis