HUNY

HUNY

Мой Блог: https://huny.blog Мой Ютуб канал: https://youtube.com/c/HUNY_blog
пикабушник
поставил 1 плюс и 0 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
сообщества:
14К рейтинг 715 подписчиков 396 комментариев 42 поста 22 в горячем
1 награда
За подвиги в Мире PlayStation 5
31

Русскоязычное (Русскоговорящее) сообщество Home Assistant на Pikabu

Это вступительная статья для читателей, подписчиков и будущих авторов русскоязычного (русскоговорящего) сообщества Home Assistant на Pikabu, призванная ввести посетителей в курс дела и познакомить с его тематикой. Сообщество создано, прежде всего, с целью объединения постов и обсуждений на сайте, связанных с системой домашней автоматизации Home Assistant.

Русскоязычное (Русскоговорящее) сообщество Home Assistant на Pikabu Home Assistant, Умный дом, Автоматизация, Сообщество, Длиннопост

Сообщество Home Assistant на Pikabu (отдельная тематическая ветка системы автоматизации и умного дома) для всех, кто:

- желает поделиться своим опытом создания системы умного дома на базе Home Assistant;

- хочет познакомиться с опытом других и/или почерпнуть что-то новое о системе автоматизации Home Assistant;

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

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


Существуют комплексы автоматизации и управления различных производителей, но по ряду причин не каждый использует дома устройства и бытовые приборы только одной фирмы. Это в свою очередь создаёт ряд неудобств, по их настройке и управлению, особенно когда количество таких устройств дома уже более десятка. Есть два очевидных решения этой проблемы. Первое - это приобрести все элементы умного дома одного производителя, заменив несовместимые. Второе – использовать систему автоматизации и управления способную объединить отдельные элементы умного дома в единое целое. Второй путь является наиболее оптимальным и экономным, и таких систем существует множество. Одна из них – это Home Assistant, представляющая из себя бесплатное программное обеспечение с открытым исходным кодом, которое разработано для домашней автоматизации и ставит на первое место локальный контроль и конфиденциальность.


На данный момент Home Assistant имеет уже большое англоязычное сообщество - https://community.home-assistant.io, где собраны ответы на часто задаваемые вопросы по установке и настройке системы, руководства и обучающие материалы, проекты участников и их обсуждения. Единственный недостаток – вся эта документация, материалы и обсуждения на английском языке. А не каждый, желающий построить систему умного дома своими руками, владеет английским языком, а так же  не каждый умеет или желает пользоваться переводчиком на страницах англоязычного сайта. Рунет на данный момент не имеет полноценного сообщества (website), посвященного конкретно системе автоматизации - Home Assistant. Все мануалы и примеры проектов существуют на общественных и личных блогах, сайтах (например: 4pda.ru, sprut.ai...), а сайтом в домене RU (home-assistant.ru) судя по всему никто, не занимается и он давно не обновлялся. В свою очередь, Home Assistant в англоязычном интернете имеет официальные сообщества и в социальных сетях, в т.ч. и на социально новостном сайте – Reddit. Не секрет, что Pikabu является прототипом Reddit. Сообщество "Умный дом", здесь уже есть. Но умный дом – это понятие широкое. Поэтому было принято решение создать отдельную ветку по построению системы автоматизации на Home Assistant, которое призвано объединить публикации и обсуждения более узкой и конкретной тематики, для дальнейшего успешного поиска тематических статей не только по тегу Home Assistant.


Сообщество не имеет каких-либо строгих правил для размещения публикаций за исключением офтопа (не по теме сообщества) и публикаций нарушающих правила сайта Pikabu - https://pikabu.ru/information/rules.

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


Вступайте в сообщество Home Assistant на Pikabu (Home Assistant), публикуйте свои статьи и тематические заметки, подписывайтесь и читайте других авторов.

Показать полностью
971

Как "Бабку по IP вычислили" или  «Фингерпринт» против "Жирных троллей"

Привет Пикабу!

Зашёл на обеде на сайт почитать "пятничное" и наткнулся на "Комментарий дня" и "Пост в горячем", о том, как некую "Бабулю" вывели на чистую воду. Если кратко, то человек со своих предыдущих аккаунтов "любил набрасывать г... на вентилятор", а сейчас учит читателей жизни... (ну а подробности уже по ссылкам выше).

Как "Бабку по IP вычислили" или  «Фингерпринт» против "Жирных троллей" Fingerprint, Отпечатки пальцев, Информационная безопасность, Интернет, Длиннопост

В комментариях под постами интересовались, как модератор может со 100% уверенностью утверждать, что это один и тот же человек, а не, допустим, сосед взломавший вайфай и т.п.?


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


Дело в том, что для идентификации пользователя, не всё ограничивается одним IP, который легко скрыть, подменить и т.д. и т.п. Не ограничивается это и "Печеньками" - "Куками" (Cookie), которые так же с уверенностью можно почистить и/или отключить. ))) Есть такая штука в криминалистика, как дактилоскопия - способ опознания человека по следам пальцев рук, основанный на неповторимости рисунка кожи. Иными словами - отпечатки пальцев. Так вот в сети интернет есть тоже своего рода "отпечатки пальцев", а если быть точнее, то это «фингерпринт».

Фингерпринт или отпечаток компьютера (браузера) — информация, собранная об удалённом устройстве для дальнейшей идентификации, фингерпринтинг — сбор этой информации. Отпечатки могут быть использованы полностью или частично для идентификации, даже когда cookie выключены.

Что бы просмотреть, как эта штука работает в сильно урезанном виде, достаточно иметь свой собственный сайт, на котором можно установить любой скрипт аналитики (например от яндекса или гугла) и "следить" за посетителями сайта ))) Вот кусочек того, как это может выглядеть:

Как "Бабку по IP вычислили" или  «Фингерпринт» против "Жирных троллей" Fingerprint, Отпечатки пальцев, Информационная безопасность, Интернет, Длиннопост

Слева вы видите кнопку с треугольником "Play", нажав на которую можно просмотреть видеоролик на странице аналитики, в котором записаны все действия, которые совершал пользователь на сайте с помощью клавиатуры и мыши:

Как "Бабку по IP вычислили" или  «Фингерпринт» против "Жирных троллей" Fingerprint, Отпечатки пальцев, Информационная безопасность, Интернет, Длиннопост

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

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

Если попробовать объяснить суть простыми, своими словами, то работа скрипта фиксирует такие уникальные (в совокупности, а не по отдельности) данные вашей операционной системы и браузера, как: Непосредственно IP адрес и локацию, операционную систему и её параметры, параметры браузера и на каком экране (мониторе) его просматривают - разрешение... ну и так далее.


Ну, как и любое изобретение человека, "фингерпринт" имеет как благие, так и не очень цели. Рассуждения на эту тему я опущу, но надеюсь некое понимание процесса "слежки" и "вычисления" у вас сложилось. И очень надеюсь, что эта статья позволит задуматься различным "горе хакерам", о том, что нельзя побывать в интернете не оставить там никаких следов.  Может после прочтения этого поста, не придётся кому-то сидеть в местах не столь отдалённых, и думать, как его "вычислили" за "40 проксями" и "10 впн", различными торами, и т.п. Все "горят" на обычной "социальной активности", а человек - это существо социальное и значит никому этого не избежать. "Сколько веревочке не виться конец близок".


Для понимания элементарности самого процесса опишу смоделированный пример. Сидит человек в какой-нибудь известной социальной сети. Начитался "пропаганды" чего-либо и решил "идти в бой", но не один, а целой командой. И прежде, чем собрать эту команду единомышленников, он становится "анонимом". Регистрирует левую почту, покупает левую сим-карту для аккаунта и интернета, конспирируется далее по полной - тор, прокси, впн, браузер открывает только в режиме "инкогнито"... Вроде всё хорошо, только вот денег нет на новый телефон или ноутбук, приходится использовать свой, но конечно предварительно "почистив" от всех следов. Но вот не задача, большая часть интернет-ресурсов использует пресловутый JavaScript, и стоит открыть страничку для своего хулиганства, как "отпечатки пальцев" уже там есть и уже теперь ничем не стереть...


В тоже время, прочитав этот пост не стоит стразу становиться параноиком! )) Даже наоборот - в этом можно найти свои плюсы, если конечно постараться и захотеть. )) Это я к тому, что во всём должен быть разумный подход и во всём должен быть разумный предел. Например, я тоже пишу здесь под своим ником-псевдонимом и не даю в интернете каждому встречному свои контактные данные. Но это вовсе не означает, что я скрываюсь... Любой желающий сможет за 20-30 минут найти все необходимые обо мне данные в открытых источниках (ФИО, телефон, адрес и т.д.). Просто, под такой маской "анонимности", проще "игнорировать" сообщения, на которые не можешь или не хочешь отвечать по какой-либо причине :-))


В общем, пост что-то затянулся, а я не планировал изначально писать столько много буков ))

Подробнее по этой тематике можно почитать, вбив в поисковике ключевые слова: Цифровые отпечатки, Фингерпринт, Отпечаток браузера, Fingerprint, Browser Fingerprint ...


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


Не хулиганьте и всегда думайте о последствиях, даже если вы их не видите! ))


Всем пока и Бобра! ;-)

Показать полностью 2
14

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle)

В этом посте будет описана простая установка WordPress на Ubuntu.

Операционная система на базе ядра Linux может быть и любая другая, например Debian.

А в качестве сервера может выступать любая «домашняя железяка», например неттоп или старый ноутбук/ПК. Wordpress по этой статье можно установить и на UBUNTU на  бесплатном VPS сервере от Oracle (мой пост на Пикабу по регистрации Always Free VPS  от Oracle  был здесь).


И если вдруг «страшные рассказы» о том, как Oracle нарушает условия Always Free и всех «банит» через 30 дней использования сервиса, написанные в комментариях под тем постом, коснуться и меня, то запилю пост об этом. Пока у меня всё работает, как часы )))

Включая мой блог на этой VPS.

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Предпосылкой написания этой статьи стало то, что некоторое время назад я начал серию публикация на Pikabu посвящённую тематике умного дома. Со временем некоторые статьи стали содержать код (команды Linux, YML-файлы…), который в публикациях не имеет нужной разметки и особенно важной в yaml-файлах — табуляции. Поэтому решил себе завести блог для таких публикаций - HUNY Blog. Ну, а в этой статье поделюсь, как это можно сделать легко и непринуждённо на своём примере. )))


Почему я просто не завёл блог на WordPress.com, а решил установить WordPress на Ubuntu на своём бесплатном сервере:

- нельзя использовать свои темы (шаблоны) для сайтов без тарифа Bussines (1 499 рублей в месяц);

- дизайн бесплатных шаблонов сильно ограничен, а в Personal и Premium (250 и 550 рублей в месяц) очень убогие шаблоны, без возможности гибкой настройки;

- в бесплатной версии не нашёл возможность использовать сервисы аналитики Гугл и Яндекс, а так же инструменты SEO;

- плагины (даже простые) в бесплатной версии не подключить;

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

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


Традиционно для самостоятельной установки WordPress (и развёртывания других веб-приложений и динамических сайтов) используются популярные наборы компонентов LAMP (Linux, Apache HTTP Server, MySQL, PHP) и его вариация LEMP. (в которой веб-сервер Apache заменяется на Nginx). В LEMP Apache заменяется легким, но мощным Nginx, который может обеспечить более предсказуемую производительность при высоких нагрузках. Но я выбрал альтернативный и по моему мнению наиболее простой способ установки, немного отличающийся от традиционных — установка WordPress с помощью Docker Compose и LinuxServer SWAG.


SWAG — Secure Web Application Gateway (ранее известный как letsencrypt, не имеющий отношения к Let’s Encrypt ™) настраивает веб-сервер Nginx и обратный прокси-сервер с поддержкой php и встроенным клиентом certbot, который автоматизирует процессы генерации и обновления бесплатных сертификатов SSL-сервера (Let’s Encrypt и ZeroSSL). Он также содержит fail2ban для предотвращения вторжений.


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

- Простота. Фактически мы разворачиваем готовый контейнер «в пару кликов» и сайт на WordPress у нас готов,. Перед этим буквально небольшая подготовка системы Lunux (Ubuntu) в плане установки Docker, Docker Compose и Portainer

- Установка WordPress на Ubuntu с HTTPS. Здесь у нас готовый автоматический процесс генерации и обновления бесплатных сертификатов SSL-сервера.

- Бесплатный бэкап WordPress. Можно использовать для этого плагины WordPress, но в Jetpack от WordPress — эта функция платная. «UpdraftPlus — Backup/Restore» в бесплатной версии позволяет делать это только вручную. Есть ещё много разных плагинов для бэкапа, например BackupBuddy…, но я в дальнейшем автоматизирую этот процесс средствами Linux, docker — rsync и/или rclone.

- Возможна установка двух, трёх…. WordPress сайтов в один контейнер на одном сервере.


Итак, у вас должна быть предварительно подготовлено:

- Установлена операционная система Linux (Ubuntu, Debian или другая);

- Установлен Docker, Docker Compose и Portainer;

- Опционально есть доменное имя для вашего блога. Если ещё нет, то в качестве альтернативы для теста можете бесплатно создать домен на duckdns.org. Нам это нужно будет для того, что бы входить на сайт не по IP адресу, и получить сертификат для HTTPS.

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

В дальнейшем вы сможете зарегистрировать и привязать свой полноценный домен второго уровня для своего сайта или блога в сервисе регистрации доменов, например у российского регистратора доменных имен — REG.RU (Мой промо-код ECA7-B285-57FC-20C2 даст скидку 5% на заказ домена). :-)


Далее будем использовать docker-compose для создания и запуска своих образов и контейнеров, а именно LinuxServer / SWAG и WordPress. Вот содержание docker-compose.yml для этого:

version: '3.3'
services:
swag:
image: linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Samara
- URL=ВашДомен.duckdns.org # change for your domain
- VALIDATION=http
- EMAIL=mail@mail.ru # optional
- EXTRA_DOMAINS=ВашДомен.duckdns.org # change for your domain
volumes:
- ./config:/config
ports:
- 443:443
- 80:80
restart: unless-stopped
db_pikabu: # change name for every new site wordpress
image: mysql:5.7
container_name: db_pikabu # change name for every new site wordpress
restart: always
ports:
- 3315:3306 # change port for every new site wordpress
volumes:
- ./config/www/pikabu/mysql:/var/lib/mysql # change directory for every new site wordpress
environment:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: Pikabu1234 # change this password for you
wordpress_pikabu: # change name for every new site wordpress
image: wordpress:latest
container_name: wordpress_pikabu # change name for every new site wordpress
restart: always
ports:
- 7000:80 # change port for every new site wordpress
volumes:
- ./config/www/pikabu/config/php.conf.uploads.ini:/usr/local/etc/php/conf.d/uploads.ini # change directory for every new site wordpress
- ./config/www/pikabu/wordpress:/var/www/html # change directory for every new site wordpress
environment:
WORDPRESS_DB_HOST: db_pikabu # change optional
WORDPRESS_DB_NAME: wordpress # change optional
WORDPRESS_DB_USER: root # change optional
WORDPRESS_DB_PASSWORD: Pikabu1234 # change this password for you
depends_on:
- db_pikabu # change name for every new site wordpress

ВАЖНО СОБЛЮДАТЬ ТАБУЛЯЦИЮ (ОТСТУПЫ)!!! При создании docker-compose.yml, но Пикабу не поддерживает «форматирование текста с отступами». Для удобного копирования форматированного текста, когда приступите непосредственно к установке WopdPress можете перейти на эту страницу, где код отформатирован с отступами.


Где стоит хэштег «# change ….» — укажите свои данные !


Итак, создаём файл docker-compose.yml в удобном для вас месте и удобным для вас способом. Я покажу пример для Ubuntu 20.04 на VPS Oracle (конечно же это полная аналогия и для других вариантов).


Создам его по пути /home/ubuntu


# echo "version: '3.3'

services:" >/home/ubuntu/docker-compose.yml


Вы можете командой echo сразу отправить весь текст (содержание файла выше), либо открыть файл командой nano и вставить содержимое:


# sudo nano /home/ubuntu/docker-compose.yml

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

После этого сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.


Либо, всё то же самое можно сделать через WinSCP

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Для создания и редактирования таких файлов рекомендую использовать Notepad++ вместо «блокнота»:

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

После создания и сохранения файла, переходим в терминале в папку, где у нас лежит docker-compose.yml командой # cd (в Ubuntu 20.04 на VPS Oracle мы по умолчанию находимся в ней) и запускаем контейнеры:


# docker-compose up -d


Если вы ставили Ubuntu 20.04 на бесплатный VPS сервер от Oracle, то необходимо открыть порт 80 и 443 в Oracle. Как это сделать написано в конце этого поста.


Для «домашней» Ubuntu или Debian на сервере или десктопе тоже нужно открыть порты 80 и 443 для Let’s Encrypt, пробросив их на вашу машину в роутере (см. инструкцию к нему)


После этого проверяем в Portainer, что контейнеры swag, wordpress_pikabu и db_pikabu успешно запустились:

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Открываем (для редактирования, удобным вам способом) файл с настройками Nginx — default.

(В папке, где у вас был файл docker-compose.yml — появилась папка config)

В моём примере файл default расположен по пути /home/ubuntu/config/nginx/site-confs

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

# sudo nano /home/ubuntu/config/nginx/site-confs/default


ALT+T — очищаем всё содержимое файла default, и вставляем следующее:


# redirect all traffic to https
server {
listen 80 default_server;
listen [::]:80 default_server;
return 301 https://$host$request_uri;
}
# main server block for site 1
server {
listen 443 ssl;
#listen [::]:443 ssl;
root /config/www/pikabu/wordpress; # change directory for every new site
index index.html index.htm index.php;
server_name ВашДомен.duckdns.org; # change for your domain
# enable subfolder method reverse proxy confs
include /config/nginx/proxy-confs/*.subfolder.conf;
# all ssl related config moved to ssl.conf
include /config/nginx/ssl.conf;
client_max_body_size 128m; # change opcional, default 0
location / {
try_files $uri $uri/ /index.html /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}

После этого сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.


Где стоит хэштег «# change ….» — укажите свои данные !


ВашДомен.duckdns.org и директорию /config/www/pikabu/wordpress, где вместо pikabu указываете папку в которой создали wordpress на предыдущем этапе.

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Перезапускаем в Portainer контейнер swag

После этого заходим в браузере на свой почти созданный сайт по адресу HTTPS://ВашДомен, где у вас должно появится окно «пятиминутной установки WordPress». Выбираем язык:

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Заполняем поля для своего сайта:

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Если появится такая ошибка, то просто перезапустите в Portainer контейнеры wordpress и db

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

У С Ё готово! )))

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Входим со своими учётными данными и настаиваем свой сайт на wordpress как вам угодно… А пока на главной странице сайта вас встретит вот такая страничка, с вашим названием сайта конечно же)))

Простая установка WordPress с HTTPS (SSL) на Ubuntu с помощью Docker Compose и LinuxServer SWAG. (Пример на Always Free VPS от Oracle) Wordpress, Ubuntu, Https, Linux, VPS, Oracle, Блог, Сайт, Бесплатно, Docker, Длиннопост

Я же по прежнему буду вести тему «умного дома» в своём профиле на Пикабу, а вот если нужно будет показать какой-либо форматированный код (команды Linux, YML-файлы…), буду публиковать его уже на своём блоге — https://huny.blog )))


Всем пока и Бобра ;-)

Показать полностью 13
35

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx

Привет Пикабу!

В этом посте расскажу как добавить HTTPS (SSL) в Home Assistant.

А для этого установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx.

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Здесь была "подготовительная часть" - "Установка Docker, Docker Compose и Portainer"

Вы это легко можете сделать с помощью аддонов, если у вас версия Home Assistant Supervised или Home Assistant OS:

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Мы же рассмотрим универсальную инструкцию (не зависящую от версии Home Assistant) с установкой Let's Encrypt Duck DNS и Nginx в в Docker, которая одинаково подходит для обоих вариантов, рассмотренных мной ранее: -  Home Assistant Supervised и Home Assistant Core.

Рассматриваемый вариант вполне подходит для  Ubuntu 20.04 / Debian 10 / Kali Linux ... (Сервер, Десктоп, VPS Oracle ...)

Первым делом создадим домен на duckdns.org  - привяжем IP адрес реальной или виртуальной машины, где расположен наш  Home Assistant к имени DNS вида вашдомен.duckdns.org


DNS (Domain Name System) - система доменных имен, смысл которой в том, что каждому цифровому IP-адресу присваивается понятное буквенное имя (домен). Когда вы вводите в браузере доменное имя, сервера DNS преобразуют его в IP-адрес. Например, вашдомен.duckdns.org будет соответствовать IP-адресу  вашего сервера.
Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Далее будем использовать docker-compose для создания и запуска своих образов и контейнеров, а именно Let's Encrypt и Duck DNS. Вот содержание docker-compose.yml для этого:

version: '3.3'

services:


duckdns:

image: ghcr.io/linuxserver/duckdns
container_name: duckdns
environment:
- PUID=1000 #optional
- PGID=1000 #optional
- TZ=Europe/Samara
- SUBDOMAINS=вашдомен.duckdns.org
- TOKEN=89eJKhnby678nknt6NGHfghffe823

- LOG_FILE=false #optional
volumes:
- ./config:/config #optional
restart: unless-stopped
letsencrypt:
image: linuxserver/swag
container_name: letsencrypt
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Samara
- URL=вашдомен.duckdns.org

- VALIDATION=http
- EMAIL=mail@mail.ru #optional
- EXTRA_DOMAINS=вашдомен.duckdns.org

volumes:
- ./config:/config
ports:
- 443:443
- 80:80 #optional
restart: unless-stopped
ВАЖНО СОБЛЮДАТЬ ТАБУЛЯЦИЮ (ОТСТУПЫ)!!! При копировании текста в ваш docker-compose.yml с Пикабу отступов не будет - поставьте по 2 и 4 пробела в файле вручную (как на фото ниже).

TOKEN, DOMAIN (duckdns) .... - выделенные жирным, укажите естественно свои!


Итак, создаём файл docker-compose.yml в удобном для вас месте и удобным для вас способом. Я покажу пример для  Ubuntu 20.04 на VPS Oracle, где у  меня стоит тестовая Home Аssistant Supervised (конечно же это полная аналогия и для других вариантов).


Создам его по пути /home/ubuntu


# echo "version: '3.3'

services:" >/home/ubuntu/docker-compose.yml


Вы можете командой echo сразу отправить весь текст (содержание файла выше), либо открыть файл после создания командой nano, вставить содержимое:


# sudo nano /home/ubuntu/docker-compose.yml

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.


Либо, всё то же самое можно сделать через WinSCP

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Для создания и редактирования таких файлов рекомендую использовать Notepad++ вместо "блокнота":

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

После создания и сохранения файла, переходим в терминале в папку, где у нас лежит docker-compose.yml командой # cd (в Ubuntu 20.04 на VPS Oracle мы по умолчанию находимся в ней) и запускаем контейнеры:


#  docker-compose up -d


Если будет ошибка: "docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))", то возможно вы просто забыли добавить "своего пользователя" в группу докеров на этом этапе.
# sudo usermod -aG docker $USER
# newgrp docker
Если вы ставили Ubuntu 20.04 на бесплатный VPS сервер от Oracle, то необходимо открыть порт 80 и 443 в Oracle. Как это сделать написано в конце этого поста.
Для "домашней" Ubuntu  или Debian на сервере или десктопе тоже нужно открыть порты 80 и 443 для Let's Encrypt, пробросив их на вашу машину в роутере (см. инструкцию к нему)

Проверяем в Portainer, что контейнеры Let's Encrypt и Duck DNS успешно запустились:

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Осталось настроить Nginx.

Сейчас ваш Home Assistant всё ещё открывается по адресу HTTP://вашдомен.duckdns.org:8123 нам же нужен HTTPS (HTTPS://вашдомен.duckdns.org) :-)))


Открываем (для редактирования, удобным вам способом)  файл с настройками Nginx - default.

(В папке, где у вас был файл docker-compose.yml - появилась папка config)

В моём примере файл default расположен по пути /home/ubuntu/config/nginx/site-confs

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

# sudo nano /home/ubuntu/config/nginx/site-confs/default


ALT+T - очищаем всё его содержимое файла default, и вставляем следующее:


server {
listen 443 ssl;
listen [::]:443 ssl;
server_name вашдомен.duckdns.org;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
proxy_pass http://10.0.0.42:8123;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /api/websocket {
proxy_pass http://10.0.0.42:8123/api/websocket;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.


СОБЛЮДАЕМ ТАБУЛЯЦИЮ (ОТСТУПЫ)! При копировании в ваш файл default с Пикабу их не будет - поставьте пробелы в файле вручную (как на фото ниже).

вашдомен.duckdns.org и http://10.0.0.2:8123 .... - выделенные жирным, укажите естественно свои!

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

В строке proxy_pass - указываете локальный адрес вашей машины или в случае с VPS Oracle - "Private IP Address":

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Заходим в Portainer и перезапускаем контейнер letsencrypt:

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

Теперь заходим по адресу HTTPS://yourdomain.duckdns.org и входим в Home Assistant со своими учётными данными:

Добавим HTTPS (SSL) в Home Assistant - установим Let's Encrypt и Duck DNS в Docker, настроим веб-сервер Nginx Умный дом, Home Assistant, Докер, Https, Nginx, DNS, Длиннопост

В С Ё!!! Цель достигнута ;-)


Теперь вы имеете не только удалённый доступ к своему Home Assistant через "шифрованные транспортные механизмы SSL", но и можете настроить, например  управление колонками с Алисой из Home Assistant... и/или  добавить ваши умные устройства из Home Assistant в умный дом Яндекса и управлять ими с любого устройства с Алисой, в том числе с колонок....


Всем пока и "Бобра"! ;-)

Показать полностью 10
157

Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ...  (Сервер, Десктоп, VPS Oracle ...)

Привет Пикабу!

Это подготовительная часть к следующему посту, в котором мы сделаем HTTPS доступ к Home Assistant Supervised или Home Assistant Core, который так же пригодится нам в дальнейшем для управления колонками с Алисой из Home Assistant... и/или позволит добавить ваши умные устройства из Home Assistant в умный дом Яндекса и управлять ими с любого устройства с Алисой, в том числе с колонок.

Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ...  (Сервер, Десктоп, VPS Oracle ...) Умный дом, Home Assistant, Докер, Linux, Ubuntu, Debian, Длиннопост
Вместо предисловия или disclaimer )))
Продолжаю наполнять свой аккаунт на Пикабу полезной информацией по тематике Умный дом. Обращаю Ваше внимание, что это будут не всегда полноценные и пошаговые инструкции и туториалы, а скорее выдержки типа "шпаргалок", на случай посмотреть, если что-то забыл. Ну как бы я буду писать здесь "шпаргалки" и "запоминалки" для себя и на будущее, а Вы можете ими пользоваться или нет, как в старые добрые институтские времена.... ))) Поэтому любой мой пост не претендует на правильность высказанного в нём моего мнения и истину моих умозаключений в конечной инстанции, я просто делюсь своим скромным опытом. Всё что Вы будете делать и повторять по моим постам, Вы делаете на свой страх и риск ;-)

Всё будем делать в командной строке.

Для этого, например, подключаемся через PuTTy по SSH к своей реальной или виртуальной машине.


Подготовим систему.


1) Для получения списка новых пактов, выполните:

# sudo apt-get update


2) Для выполнения обновления пакетов, выполните:

# sudo apt-get upgrade -y


3) Удаляем возможно оставшиеся зависимости пакетов:

# sudo apt autoremove -y


4) Устанавливаем необходимые нам пакеты и зависимости:

# sudo apt-get install -y python3-pip python-dev libffi-dev libssl-dev gcc libc-dev make curl openssl-dev  rust cargo make

Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации (Контейнеры - это стандартизированная единица программного обеспечения, которая позволяет разработчикам изолировать свое приложение от его среды)

В Ubuntu 20.04 Docker (docker-ce) можно установить простым скриптом, введя в терминал всего одну команду, как мы это уже делали в этом посте:


# curl -fsSL get.docker.com | sudo sh


В Ubuntu/ Debian / Kali Linux в официальных репозиториях есть версия Docker - docker.io

Для её установки нужно будет ввести следующие команды:


# sudo apt install -y docker.io


# sudo systemctl enable docker --now


Если вы хотите добавить себя в группу Docker, чтобы использовать Docker без sudo:

# sudo usermod -aG docker $USER


Не имеет особого значения, какую версию Docker (docker-ce или docker.io) вы установите. Подробнее об этом у меня есть в середине этого поста.


Определить, какой установленный у вас пакет Docker:

# dpkg -l | grep -i docker

Команды для полного удаления Docker.


# sudo apt-get purge -y docker-engine docker docker.io docker-ce


# sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce


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


# sudo rm -rf /var/lib/docker /etc/docker


# sudo rm /etc/apparmor.d/docker


# sudo groupdel docker


# sudo rm -rf /var/run/docker.sock


Вы полностью удалили Docker из системы.

Docker Compose - инструмент для создания и запуска многоконтейнерных Docker приложений. В Compose, вы используете специальный файл для конфигурирования ваших сервисов приложения. Затем, используется простая команда, для создания и запуска всех сервисов из конфигурационного файла.

Установим (скачаем) docker-compose и сделаем его исполняемым:

Чтобы установить другую версию Compose, замените 1.28.2 версией Compose, которую вы хотите использовать.

#  sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/d... -s)-$(uname -m)" -o /usr/local/bin/docker-compose


# sudo chmod +x /usr/local/bin/docker-compose


И проверим версию:


# docker-compose --version

Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ...  (Сервер, Десктоп, VPS Oracle ...) Умный дом, Home Assistant, Докер, Linux, Ubuntu, Debian, Длиннопост

Чтобы удалить Docker Compose (если вы установили с помощью curl):

# sudo rm /usr/local/bin/docker-compose

Portainer - это универсальный инструмент управления контейнерами Docker и позволяет  разворачивать контейнеры и управлять ими без написания кода.

Развертывание сервера Portainer(Portainer CE):


# sudo docker volume create portainer_data


#  sudo docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce


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


# sudo docker ps

Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ...  (Сервер, Десктоп, VPS Oracle ...) Умный дом, Home Assistant, Докер, Linux, Ubuntu, Debian, Длиннопост

Подробнее про Portainer - здесь.


Если вы ставили Ubuntu 20.04 на бесплатный VPS сервер от Oracle, то необходимо открыть порт 9000. Для этого открываем ссылку в письме, которая пришла после регистрации в Oracle, вводим логин и пароль и попадаем в свою учетку, где следуем по пути: Сети - Виртуальные облачные сети - vcn- (ВАШ) - Сведения о списках безопасности. Альтернативный способ попасть туда из главного окна: "Настроить сеть с помощью мастера", "Запуск мастера VNC" нужно нажать "отмена", кликаем на свой "VNC-номер", далее в "ресурсах" нажимаем на "Списки безопасности" и кликаем на "Default Security List for vcn-номер" где добавляем правила для входящего трафика:

Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ...  (Сервер, Десктоп, VPS Oracle ...) Умный дом, Home Assistant, Докер, Linux, Ubuntu, Debian, Длиннопост
На всякий случай можно ещё настроить (открыть порт) для файрволла IPTABLES (мне не потребовалось):
# sudo iptables --policy INPUT ACCEPT
# sudo iptables -F
# sudo iptables -A INPUT -p tcp --dport 9000 -m state --state NEW -j ACCEPT
# sudo netfilter-persistent save
# sudo ufw disable

Portainer будет доступен по адресу ipaddress:9000 (ip-address вашей виртуальной машины) в браузере, где должна открыться такая страничка. Вводим свои данные (регистрируемся).

Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ...  (Сервер, Десктоп, VPS Oracle ...) Умный дом, Home Assistant, Докер, Linux, Ubuntu, Debian, Длиннопост

Вот пример контейнеров Home Аssistant Supervised установленной ранее  на Ubuntu 20.04 на бесплатном VPS сервере от Oracle по инструкции с этого поста.

Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ...  (Сервер, Десктоп, VPS Oracle ...) Умный дом, Home Assistant, Докер, Linux, Ubuntu, Debian, Длиннопост

Здесь их легко можно перезапустить, остановить или даже "Remove" / "Kill".... )))


На этом, по теме поста, у меня В С Ё ;-)


Всем "Бобра" ;-)

Показать полностью 5
72

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D

Привет Пикабу!

В предыдущем посте я уже рассказал, как установить MQTT брокер Mosquitto на роутер Xiaomi Mi WiFi Router 3G, но судя по практически отсутствующей нагрузке брокера на процессор и ОЗУ роутера, эта задачка оказалась для него не серьёзной. Что ж, нагрузим его как следует и установим на него Debian в chroot среду, ну а в Debian уже установим "полноценную" систему "Умного дома" -  Home Assistant Core :-))) Как она будет там работать (тормозить), это уже второй вопрос (см. ниже характеристики роутера) - мне же был интересен только сам процесс и факт запуска ;-)))

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост
Напомню, что есть у меня в коллекции Wi-Fi роутер "Xiaomi Mi Wi-Fi Router 3G" с прошивкой от Padavan, который после покупки роутера MikroTik остался не у дел. Точнее не работает больше, как полноценный роутер, стоя на страже интернета, а выполняет свою функцию как дополнительная точка доступа Wi-Fi, маршрутизатор на 2-а порта и сетевое файловое хранилище с диском на 500 Гб. Есть у этого роутера такая замечательная штука, как Entware — это репозиторий (хранилище), которая позволяет "проводить много экспериментов с ним" )))
Сначала я решил "покурить тему" в сети интернет на предмет наличия у кого-либо опыта и мануалов, описанного у меня в посте "баловства", но каких-либо толковых гайдов на эту тему не нашёл. Встретил только на 4pda такое сообщение:
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Но способ описанный по ссылке из этого сообщения, мне показался уж очень "замысловатым" и есть подозрение, что он уже устарел на текущий момент. Хотя если в Entware сейчас есть пакеты python 3.8 и выше, которые требуются для  установки Home Assistant Core с декабря 2020 года, то способ тоже может быть рабочим. Я не проверял.


Итак, много слов - ближе к делу)))


Алгоритм (последовательность) установки на роутер  Xiaomi Mi WiFi Router 3G  операционной системы Debian в chroot среду, а затем системы "Умного дома" - Home Assistant Core, у нас такая:


Компилируем (собираем) скриптом PROMETHEUS самую свежую прошивку от Padavan. Я выбрал репозитарий Alxdm.

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

После прошивки и настройки роутера, развёртываем Entware на своём внешнем носителе. (Рекомендую использовать жесткий диск, ибо ресурс флеш-карт не большой. У меня флешка на 128 Гб прожила только три года).


Подключаемся через PuTTY по SSH к роутеру.


Для получения списка и обновления новых пактов, выполните:

# opkg update

# opkg upgrade


Запускаем скрипт установки службы Debian 8 на маршрутизаторы MIPS замечательного человека (нашего соотечественника) Александра Рыжова. Судя по всему он специализируется на Keenetic, но его скрипт замечательно отрабатывает и на Xiaomi Mi WiFi Router 3G. Среду Debian 8 - debian_clean.tgz устанавливающуюся в скрипте, собирал он сам и расположена она на его сетевом ресурсе. Если не доверяете, то можете собрать свою, например уже среду Debian 10 по его же инструкции. ;-)


Я не заморачивался и пошёл следующим простым путём:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

# cd /opt


# wget --no-check-certificate https://raw.githubusercontent.com/DontBeAPadavan/chroot-debi...


# sh install.sh

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Теперь у вас на роутере есть Debian 8 - радуйтесь и хвалитесь друзьям )))


Если что-то пошло в установленной системе Debian у вас  нет так, то не переживайте - это легко поправимо - ваш роутер не пострадает от лёгких экспериментов )))

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

# cd /opt

# /opt/etc/init.d/S99debian stop

# rm -fr debian

# rm /opt/etc/init.d/S99debian

# sh install.sh


Теперь подключаемся через PuTTY по SSH к Debian:

IP - локальный адрес вашего роутера

Порт: 65022 (потом можете сменить)

Логин: root

Пароль: debian (потом можете сменить)

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Обновим систему Debian::

Для получения списка новых пактов, выполните:

# apt-get update

Для выполнения обновления пакетов, выполните:

# apt-get upgrade

# apt-get install transmission-daemon
# echo 'transmission-daemon' >> /chroot-services.list
Последняя команда (в качестве примера) добавляет передачу в список служб Debian, которая запускается во время загрузки. transmission-daemon это имя сценария из /etc/init.d/<name>.

Переходим к установке Home Assistant Core.

Если вы это делаете сейчас, то надеюсь для эксперимента, как я, а не на полном серьёзе, ибо "Умный дом" на роутере, ну такое себе ; -)) Ресурсов хватит на мониторинг десятка датчиком и управления несколькими выключателями..., что-то серьёзное не получится или будет работать с жёсткими тормозами. Имейте это ввиду!

Устанавливаем необходимые нам пакеты для питона стандартным способом:

# apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5


Проверяем версию python:

# python3 --version

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Не порядок! Так дело не пойдёт, с декабря 2020 года для установки Home Assistant Core нужен python3.8 или версии порядком выше, устанавливаем его любым удобным вам способом, например:


Устанавливаем недостающие библиотеки:

#  apt install build-essential libncurses5-dev libgdbm-dev libnss3-dev libsqlite3-dev libreadline-dev curl libbz2-dev


Ставим пакет wget:

#  apt install wget


Скачиваем последую версию Python с официального сайта:

# wget https://www.python.org/ftp/python/3.9.1/Python-3.9.21.tgz


Распаковываем архив:

# tar xzf Python-3.9.1.tgz


Устанавливаем (собираем):

# cd Python-3.9.1

# ./configure --enable-optimizations

# make altinstall


Долго ждём завершения.... (~ 01:30 часа)


Здесь на пару часиков можно идти пить чай.... :-D

И ещё раз подумать - действительно ли вам это нужно...? Может просто купить "Raspberry Pi 4 b" или поставить "простенький сервер" для своего "Умного дома"? Кстати в качестве него может выступать например Nettop, как у меня:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Почитайте пока на эту тему мой пост "Установка Home Assistant Supervised в систему Kali Linux (Debian) на неттоп (домашний сервер), ноутбук, десктоп... или даже VirtualBox"

Если хотите просто протестировать систему, то можно поставить  Home Assistant Core или Home Аssistant Supervised на бесплатный VPS - сервер от Oracle, вариантов, отличных от описанного в этом посте, в лучшую сторону - множество...


А тем временем роутер у меня стойко держал нагрузку:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

И за один час + 25 минут у меня наконец собрался Python-3.9.1:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Устанавливаем  Home Assistant Core:


# cd


Создаём пользователя homeassistant:

# useradd -rm homeassistant


Создадим папку homeassistant в папке srv:

# cd /srv

# mkdir homeassistant


и назначим её владельцем пользователя homeassistant:

# chown homeassistant:homeassistant homeassistant


Создание и изменение виртуальной среды (вводите лучше построчно):

# cd /srv/homeassistant

# python3.9 -m venv . (пробел и точка нужна)

# source bin/activate


Устанавливаем необходимый пакет Python:

# python3 -m pip install wheel


Устанавливаем Home Assistant Core:

# pip3 install homeassistant


Опять идём пить чай или кофе :-D


Где-то через час возвращаемся к терминалу и вводим последнюю команду, которая создаёт каталог конфигурации и установит все основные зависимости:

# hass


Ещё где-то через час... :-D :-D :-D пробуем зайти по адресу ipaddress:8123 (ipaddress вашего роутера) в браузере, где должна открыться такая страничка. Вводим свои данные (регистрируемся) и настраиваем/тестируем систему....

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Проверяем, что у нас установилась свежая версия системы Home Assistant Core (http://ipaddress:8123/config/info):

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Папка с конфигами лежит по пути - /opt/debian/root/.homeassistant

Можно открывать и редактировать, например через WinSCP

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Закинем в конфиг несколько сенсоров для проверки работоспособности с рабочей системы Home Assistant:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Перезапустим Home Assistant и понаблюдаем за поведением ЦП и ОЗУ нашего роутера.

"Пациент скорее жив, чем мёртв" :-D

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Ну что ж, оставим систему для экспериментов на недельку другую и посмотрим, как она там будет жить ))


В заключении несколько примечаний, которые могут пригодится в дальнейшем:


Для обновления Home Assistant (а они выходят регулярно) нужно ввести в терминале Debian эти команды:

# cd /srv/homeassistant

# source bin/activate

# python3 -m pip install --upgrade homeassistant

И набраться терпения на пару часиков :-D


После установки обновления и/или правки конфигов нужно перезапустить сервер, например из веб-интерфейса: Настройки → Сервер → Перезапустить

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Если после перезапуска роутера у вас "не стартует Debian", то добавляем задержку в веб-интерфейсе роутера, следуя по пути: "Персонализация" - "Скрипты" - "Выполнить после полного запуска маршрутизатора", например 20 секунд:

sleep 20
/opt/etc/init.d/S99debian start

Спасибо Дмитрию за эту подсказку ;-)

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Ну, и само собой, необходимо добавить  Home Assistant в автозапуск.

Можно добавить по аналогии старта Debian:

sleep 20
chroot /opt/debian /srv/homeassistant/bin/hass -c "/root/.homeassistant"
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

На этом у меня В С Ё ;-)


Всем пока и "Бобра"! ;-)

Показать полностью 19
12

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware)

Привет Пикабу!

Сегодня установим MQTT брокер Mosquitto на маршрутизатор Xiaomi Mi WiFi Router 3G )))

Ранее на тему MQTT у меня было два поста:
1) "Установка  MQTT брокера Mosquitto на Ubuntu 20.04 (VPS сервер от Oracle)"
2) "Мостовое (bridge) соединения MQTT брокеров Mosquitto или второй MQTT брокер к Home Assistant."
Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Есть у меня в коллекции Wi-Fi роутер "Xiaomi Mi Wi-Fi Router 3G" с прошивкой от Padavan, который после покупки роутера MikroTik остался не у дел. Точнее не работает больше как полноценный роутер, стоя на страже  интернета, а выполняет свою функцию как дополнительная точка доступа Wi-Fi, маршрутизатор на 2-а порта и сетевое файловое хранилище с диском на 500 Гб.

Есть у этого роутера такая замечательная штука, как Entware — это репозиторий (хранилище), который позволяет легко устанавливать и удалять Linux-приложения в консоли роутера. Ну а в этом репозиторий есть пакеты Mosquitto:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Алгоритм (последовательность) запуска MQTT брокер на роутере Xiaomi Mi 3G такая:


1) Компилируем (собираем) скриптом PROMETHEUS самую свежую прошивку от Padavan. Я выбрал репозитарий Alxdm.

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост
Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

2) После прошивки и настройки роутера, развёртываем Entware на своём внешнем носителе. (Рекомендую использовать жесткий диск, ибо ресурс флеш-карт не большой. У меня флешка на 128 Гб прожила только три года).


3) Подключаемся через PuTTY по SSH к роутеру.


4) Для получения списка и обновления новых пактов, выполните:

# opkg update

# opkg upgrade


5) Устанавливаем MQTT брокер и клиент Mosquitto:

# opkg install mosquitto-nossl

# opkg install mosquitto-client-nossl


Пробуем запустить:

# mosquitto


Получаем такую ошибку:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Пользователя можно добавить так:

# adduser mosquitto

Но после перезагрузки роутера его снова нужно будет добавлять этой командой. Поэтому заходим в веб-интерфейс роутера по пути: "Приложение USB" -  "Общий ресурс в FTP" и добавляем учётную запись "mosquitto":

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Запускаем ещё раз брокер:

# mosquitto

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Всё хорошо, теперь можно проверить например на клиенте MQTT Explorer:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Всё работает:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Осталось добавить MQTT брокер в автозагрузку. Для этого создаём скрипт в папке: /opt/etc/init.d с названием S33mosquitto (пример):


# cd /opt/etc/init.d


# echo "#!/bin/sh

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bi

mosquitto -c /opt/etc/mosquitto/mosquitto.conf " >S33mosquitto


Скрипт можно добавить и проверить удобным вам способом.

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Делаем его исполняемым:

# chmod +x /opt/etc/init.d/S33mosquitto


Перезагружаем роутер и смотрим на клиенте MQTT Explorer, что  MQTT брокер успешно запустился. 

У С Ё готово ;-)


UPD: Обратите внимание, что в текущем варианте настройки, к брокеру может подключится любой клиент (с любым логином/паролем и анонимно) в локальной сети. Опционально можете "раскомментировать" строки в файле /opt/etc/mosquitto/mosquitto.conf на своё усмотрение, если вы хотите настроить брокер более детально. Но у меня почему-то "не завелась" команда "mosquitto_passwd", что бы иметь возможность создавать новые (отдельные) учётки для клиентов и удалять их, но в локальной сети с этим заморачиваться не стал. Вот конфигурация Entware/entware-packages на github, но немного мудрёная и я в ней тоже не стал разбираться, может быть у вас будет желание ))

UPD2: ОЗУ роутера MQTT брокер у меня практически не "кушает":

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

На этом у меня В С Ё )))


Всем пока и "Бобра" ;-)

Показать полностью 8
16

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников")

Привет Пикабу!

Пост "Установка Kali Linux (VirtualBox / Desktop / Server)" у меня уже был, но не всем нужна ОС для Home Asssistant c заморочками для пентестеров, как мне )) Поэтому поставим чистый Debian 10 (buster).


В посте параллельно будет сразу два варианта установки (различия не существенны):

- на реальную машину (Desktop); 

- в VirtualBox;


Итак, поехали... ))

Заходим на официальный сайт Debian и "жмякаем" загрузить.

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Если будете ставить на реальную машину, то скачиваем Rufus

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Если будете ставить на VirtualBox, то скачиваем его и устанавливаем.

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Далее, если будете ставить на реальную машину, подготовьте флешку объемом 1Гб (или более), откройте скачанный rufus-3.13 и запишите скачанный образ debian-10.8.0-amd64-netinst на неё.

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост
Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

"Втыкаем!" флешку в ПК, куда будете ставить Debian. И перегружаем его в BIOS, "жмякая" при включении клавишу "F2" или "F4" или "F12" или "Del" (гуглите по модели вашего ПК).

В BIOS нужно выбрать "UEFI + Legacy" (обычно во вкладке Boot) и загрузка с флешки.

"Жмякаем" F10/"save and exit" и загружаемся с установочной флешки.

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Для VirtualBox последовательность такая:

- Запускаем VirtualBox и  "жмякаем" создать;

- Выбираем "Экспертный режим";

- Пишем имя "Debian" (Тип и Версия появятся после этого автоматически);

- Добавляем оперативки в рамках "зелёной полоски" (Не менее 1Гб, но лучше более 2-х)

- Выбираем "Создать виртуальный жесткий диск"

- На следующем этапе выделяем памяти под систему (не менее 20 Гб);

- Выбираем "VDI" и "Динамический жёсткий диск"

- "Жмякаем" создать;

- В настройках включим "двунаправленный буфер обмена" и "сетевой мост" (это позволит нам в дальнейшем без проблем подключаться к машине в локальной сети по её ip)

-  "Жмякаем" запустить;

- Выбираем загрузочный диск (Наш образ debian-10.8.0-amd64-netinst) и "жмякаем" выбрать.

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост
Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост
Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост
Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Далее  процесс установки Debian буден идентичен для реальной машины (Desktop) и VirtualBox:


Выбираем "Graphic install", далее язык и раскладку клавиатуры:

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост
Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

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

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

На этапе "Разметка дисков" я выбираю метод распределения пространства жёсткого диска по логическим томам - LVM ( размер которых можно легко менять, в отличие от разделов, а это нам пригодится на реальной машине) и выбираю отдельные разделы для /home и /var /tmp. Это позволит, если кратко - "Мухи отдельно, котлеты отдельно". Ключевое - это не нужно будет думать о переносе данных пользователей на другие носители в случае переустановки системы.

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

При выборе LVM метода распределения пространства жёсткого диска по логическим томам при установке Linux, не нужно сразу "занимать всё свободное пространство" (использовать всю группу томов)!!!

Это позволит в дальнейшем без проблем (без танцев с бубном и live cd) увеличить нужные нам тома до необходимого объема одной командой lvextend. Ну и в случае с установкой в VirtualBox можно не сильно жадничать, а выделить чуть больший объём виртуального жёсткого диска)))

Подробнее об этом я писал здесь.
Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

"Жмякаем" дальше, как на скринах:

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Здесь рекомендую оставить всё как есть (добавьте только SSH-сервер), мы ведь ставим чистый Debian ))

Всё нужное можно поставить потом.

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Устанавливаем загрузчик. Система у нас будет единственной, поэтому так:

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Усё готово))  Делаем как написано на экране (в VirtualBox просто "жмякаем" продолжить):

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

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

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

Поздравляю! Теперь вы счастливый обладатель Open Source (Открытое программное обеспечение) операционные системы Debian 10 (buster) без всякого проприетарного ПО )))

Установка Debian 10 (buster) на реальную машину (Desktop) и/или VirtualBox (В картинках - для "Чайников") Linux, Установка, Debian, Компьютер, Virtualbox, Для чайников, Длиннопост

На этом у меня В С Ё !!! )))


Всем пока и "Бобра" ;-)

Показать полностью 19
20

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto

Привет Пикабу!

В этом посте рассмотрим реализацию подключения второго MQTT брокера к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto.

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

Сразу опишу своё исходное ТЗ (задачу), решение которой будет описано в этом посте, чтобы вы могли понять на сколько эта "инструкция" подходит под решение именно вашей задачи (задач).


Имеется:

1) IoT устройства на ESP8266 (ESP32) дома (в локальной сети);

2) IoT устройства на ESP8266 (ESP32) НЕ дома (internet / за nat);

Задача: - собирать данные с датчиков установленных на этих устройствах (и/или управлять подключенными модулями) в единый центр. В качестве единого центра уже  выбрана система "Умного дома" Home Assistant.

Дополнительное условие (требование): - порты для взаимодействия с сервером, где установлен "Умный дом" доступны только в локальной сети. Исключение только для портов 80, 433-й  для HTTPS для "Яндекс.Станции" и 500, 4500 для VPN, но решения связанные с VPN по ряду причин не рассматриваются.


В качестве решения моей задачи был выбран протокол обмена сообщениями между устройствами - MQTT. А в качестве брокера сообщений был выбран  Eclipse Mosquitto.


Установка на локальный сервер (вместе/рядом с "Умным домом") и базовая настройка MQTT брокера Eclipse Mosquitto была проведена по этой инструкции. Все локальные  IoT устройства общаются с Home Assistant через него.


В качестве сервера для второго MQTT брокера вне дома был выбран бесплатный VPS - сервер от Oracle. Брокер также был установлен по этой инструкции.


Осталось "научить" Home Assistant "общаться" с двумя MQTT брокерами)))

Для этого был найден "обходной путь" из документации Eclipse Mosquitto, который имеет название bridge (мост). Т.е. фактически мы сделаем мостовое (bridge) соединения внешнего MQTT брокера с локальным (домашним), через которое они будут "общаться". А наш локальный MQTT брокер как и раньше будет "общаться" с Home Assistant, позволяя через себя (мост | bridge) "общаться" Home Assistant со вторым (внешним) брокером.


На этапе написания последних двух предложений мне вспомнился этот комментарий ))))

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

Итак, поехали выполнять задачу)))


Открываем через WinSCP или PuTTY конфигурационный файл локального Eclipse Mosquitto для редактирования (я предпочитаю для этих целей использовать  WinSCP).


Путь к файлу, если вы устанавливали брокер про моей инструкции:


/etc/mosquitto/mosquitto.conf

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

И вставляем туда, предварительно отредактировав под свои учётные данные, такой текст:


# HUNY External Bridge Configuration
connection external-bridge
address 193.125.125.125:1883
cleansession true
topic +/# in PICABU/ ""
try_private true
remote_username pickabu
remote_password Pikabu1234

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

address 193.125.125.125:1883 - adress(ip) вашего второго брокера.

remote_username pickabu - логин вашего второго брокера.

remote_password Pikabu1234 - пароль вашего второго брокера.

topic +/# in PICABU/ "" - здесь "+" означает забирать все топики со второго брокера, PICABU - так будет называться топик в первом брокере (в моём случае - локальном), где будут публиковаться все топики со второго.

topic [read|write|readwrite|deny] <topic>
The access type is controlled using "read", "write", "readwrite" or "deny". This parameter is optional (unless <topic> includes a space character) - if not given then the access is read/write. <topic> can contain the + or # wildcards as in subscriptions. The "deny" option can used to explicity deny access to a topic that would otherwise be granted by a broader read/write/readwrite statement. Any "deny" topics are handled before topics that grant read/write access.
Расширенные или просто другие настройки смотрим в документации и делимся в комментариях своими вариантами ;-)


ПОСЛЕ ВНЕСЕНИЯ ПРАВОК В КОНФИГ - ПЕРЕЗАПУСТИТЕ ЛОКАЛЬНЫЙ БРОКЕР.


Проверить, что всё работает (Первый брокер публикует все топики второго брокера) переде тем как вносить правки в  Home Assistant можно, например, с помощью программы MQTT Explorer:

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

Напомню, если забыли или не знали ))), базовые настройки Mqtt в Home Assistant:


1) В файле configiration.yaml указываем путь к настройкам mqtt:

mqtt: !include mqtt.yaml

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

2) В файле mqtt.yaml указываем параметры подключения к своему локальному брокеру:

ВАЖНО СОБЛЮДАТЬ ТАБУЛЯЦИЮ!!!

broker: 192.168.1.150
port: 1883
client_id: home-assistant
keepalive: 60
username: Local
password: Local7777
protocol: 3.1
birth_message:
topic: "HomeAssistant"
payload: "Online"
qos: 1
retain: true
will_message:
topic: "HomeAssistant"
payload: "Offline"
qos: 1
retain: true
ВАЖНО СОБЛЮДАТЬ ТАБУЛЯЦИЮ!!!

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

3) в sensor.yaml указываем свои параметры "топиков" локального и второго брокера:

ВАЖНО СОБЛЮДАТЬ ТАБУЛЯЦИЮ!!!

# Платформа MQTT брокер.

# ESP8266 на улице:

- platform: mqtt

state_topic: "esp-ulica/ESP-ULICA/bmet"

name: Тепература на улице (Самара Дом)

unit_of_measurement: "°C"

device_class: temperature

- platform: mqtt

state_topic: "esp-ulica/ESP-ULICA/bmeh"

name: Влажность на улице (Самара Дом)

unit_of_measurement: "%"

device_class: humidity

- platform: mqtt

state_topic: "esp-ulica/ESP-ULICA/bmep"

name: Давление на улице (Самара Дом)

unit_of_measurement: "mmHg"

device_class: pressure

- platform: mqtt

state_topic: "esp-ulica/ESP-ULICA/bhl"

name: Освещённость на улице (Самара Дом)

unit_of_measurement: "lm"

device_class: illuminance


# ESP8266 в офисе:

- platform: mqtt

state_topic: "esp-office/ESP-OFFICE/dsw1"

name: Тепература на улице (ОФИС)

unit_of_measurement: "°C"

device_class: temperature

- platform: mqtt

state_topic: "esp-office/ESP-OFFICE/bmet"

name: Тепература в ОФИСЕ

unit_of_measurement: "°C"

device_class: temperature

- platform: mqtt

state_topic: "esp-office/ESP-OFFICE/bmeh"

name: Влажность в ОФИСЕ

unit_of_measurement: "%"

device_class: humidity

- platform: mqtt

state_topic: "esp-office/ESP-OFFICE/bmep"

name: Давление на улице (ОФИС)

unit_of_measurement: "mmHg"

device_class: pressure

- platform: mqtt

state_topic: "esp-office/ESP-OFFICE/co2mh"

name: Углекислый газ в ОФИСЕ

unit_of_measurement: "ppm"

ВАЖНО СОБЛЮДАТЬ ТАБУЛЯЦИЮ!!!

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

Ну и в завершении настройте панель Lovelace в Home Assistant на своё усмотрение.

Например так (тестовый вариант):

Как подключить второй MQTT брокер к Home Assistant или мостовое (bridge) соединения MQTT брокеров Mosquitto Умный дом, Home Assistant, Брокер, Интернет вещей, Esp8266, Esp, Длиннопост

На этом у меня  В С Ё.


Всем пока и "Бобра"! ;-)

Показать полностью 8
Отличная работа, все прочитано!