Сегодня я составлю заметку, что и как нужно сделать дабы развернуть систему, посредством которой можно сделать так называемый "Умный Дом"
, в роли этой системы выступит Domoticz. Domoticz
я использую у себя дома уже довольно таки давно, часть оформленных заметок можно найти на моем блоге https://home.ekzorchik.ru, часть еще предстоит оформить и опубликовать. Если сейчас у меня Domoticz
развернут опираясь на заметку “Разворачиваем Domoticz на Ubuntu 20.04 Server”, то пора посмотреть, какие шаги нужны дабы развернуть свежий Domoticz
на Ubuntu 22.04 Server.
Вот об этом и пойдет речь в данной заметки, будут показаны нюансы, с которыми я столкнулся и как их поборол.
Устанавливать/Прорабатывать установку сперва буду под Debian 10 + Proxmox 6.4-13
, а уже когда все заработает переносить на боевой сервер под Debian 11 + Proxmox 7.
Шаг №1:
Провожу базовую настройку системы для последующего использования:
ekzorchik@srv-home:~$ sudo nano /etc/sudoers.d/ekzorchik ekzorchik ALL=(ALL) NOPASSWD:ALL ekzorchik@srv-home:~$ sudo rm -Rf /var/lib/apt/lists ekzorchik@srv-home:~$ sudo nano /etc/update-manager/release-upgrades [DEFAULT] Prompt=never ekzorchik@srv-home:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y ekzorchik@srv-home:~$ sudo apt-get install -y mc qemu-guest-agent htop net-tools ekzorchik@srv-home:~$ sudo reboot ekzorchik@srv-home:~$ uname -a && lsb_release -a Linux srv-home 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy ekzorchik@srv-home:~$
Шаг №2:
Настраиваю локаль:
ekzorchik@srv-home:~$ sudo rm -f /etc/localtime ekzorchik@srv-home:~$ sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime ekzorchik@srv-home:~$ sudo locale-gen en_US.UTF-8 Generating locales (this might take a while)... en_US.UTF-8... done Generation complete. ekzorchik@srv-home:~$ echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale LC_ALL=en_US.UTF-8 ekzorchik@srv-home:~$ echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale LANG=en_US.UTF-8 ekzorchik@srv-home:~$ echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale LANGUAGE=en.US.UTF-8
Шаг №3:
Скачиваю и устанавливаю Domoticz
через скрипт установки с официального сайта:
ekzorchik@srv-home:~$ sudo bash -c "$(curl -sSfL https://install.domoticz.com)" ::: ::: ::: You are root. ::: Verifying free disk space... ::: ::: apt-get update has not been run today. Running now... done! ::: ::: Checking apt-get for upgraded packages.... done! ::: ::: There are 45 updates available for your system! ::: We recommend you run 'apt-get upgrade' after installing Domoticz! ::: ::: Checking for apt-utils... installed! ::: Checking for whiptail... installed! ::: Checking for git... installed! ::: Checking for curl... installed! ::: Checking for unzip... installed! ::: Checking for wget... installed! ::: Checking for sudo... installed! ::: Checking for cron... installed! Domoticz is a SERVER so it need a STATIC IP ADDRESS to function properly: выделяю OK и нажимаю клавишу ENTER Select Services (press space to select) HTTP Enabled HTTP access: отмечаю клавишей "ПРОБЕЛ" HTTPS Enabled HTTPS access: : отмечаю клавишей "ПРОБЕЛ" выделяю OK и нажимаю клавишу ENTER HTTP Port number: оставляю по дефолту порт 8080 и нажимаю ОК HTTPS Port number: оставляю по дефолту порт 443 и нажимаю OK Installation Folder: оставляю по дефолту /home/ekzorchik/domoticz выделяю OK и нажимаю клавишу ENTER По итогу Installation Complete! Point your browser to either: HTTP: 172.33.33.117:8080 HTTPS: 172.33.33.117:443 Wiki: https://www.domoticz.com/wiki Forum: https://www.domoticz.com/forum The install log is in /etc/domoticz. выделяю OK и нажимаю клавишу ENTER Creating database... ::: Restarting services... ::: ::: Enabling domoticz.sh service to start on reboot... done. ::: ::: Starting domoticz.sh service... done. ::: done. ::: ::: Installation Complete! Configure your browser to use the Domoticz using: ::: 172.33.33.117:8080 ::: 172.33.33.117:443
Шаг №4:
Проверяю, каким файлом запускается сервис (это так для самообразования):
ekzorchik@srv-home:~$ sudo bash -c "cat /run/systemd/generator.late/domoticz.service" # Automatically generated by systemd-sysv-generator [Unit] Documentation=man:systemd-sysv-generator(8) SourcePath=/etc/init.d/domoticz.sh Description=LSB: Home Automation System Before=multi-user.target Before=multi-user.target Before=multi-user.target Before=graphical.target After=network-online.target After=remote-fs.target After=time-sync.target Wants=network-online.target [Service] Type=forking Restart=no TimeoutSec=5min IgnoreSIGPIPE=no KillMode=process GuessMainPID=no RemainAfterExit=yes SuccessExitStatus=5 6 ExecStart=/etc/init.d/domoticz.sh start ExecStop=/etc/init.d/domoticz.sh stop ExecReload=/etc/init.d/domoticz.sh reload ekzorchik@srv-home:~$
Шаг №5:
Проверяю, а слушаются ли порты при обращении на которые Domoticz
работает?
ekzorchik@srv-home:~$ sudo netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 581/systemd-resolve tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 751/sshd: /usr/sbin tcp6 0 0 :::22 :::* LISTEN 751/sshd: /usr/sbin udp 0 0 127.0.0.53:53 0.0.0.0:* 581/systemd-resolve udp 0 0 172.33.33.117:68 0.0.0.0:* 543/systemd-network ekzorchik@srv-home:~$
так где порты на которых работает Domoticz?
ekzorchik@srv-home:~$ sudo /etc/init.d/domoticz.sh Usage: /etc/init.d/domoticz {start|stop|status|restart|reload} ekzorchik@srv-home:~$ sudo /etc/init.d/domoticz.sh status ● domoticz.service - LSB: Home Automation System Loaded: loaded (/etc/init.d/domoticz.sh; generated) Active: active (exited) since Wed 2023-12-20 11:42:51 MSK; 4min 45s ago Docs: man:systemd-sysv-generator(8) Process: 735 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SUCCESS) CPU: 37ms Dec 20 11:42:21 srv-home systemd[1]: Starting LSB: Home Automation System... Dec 20 11:42:21 srv-home domoticz.sh[735]: INFO: No time server(s) defined in /etc/systemd/timesyncd.conf, using default fallback server(s) Dec 20 11:42:51 srv-home domoticz.sh[735]: Waiting for time synchronization before starting Domoticz............................. Dec 20 11:42:51 srv-home domoticz.sh[735]: WARNING: Time synchronization failed, check network and /etc/systemd/timesyncd.conf Dec 20 11:42:51 srv-home domoticz.sh[735]: Starting Domoticz without successful time synchronization... Dec 20 11:42:51 srv-home domoticz.sh[922]: /home/ekzorchik/domoticz/domoticz: error while loading shared libraries: libssl.so.1.1: cannot open shared objec…or directory Dec 20 11:42:51 srv-home systemd[1]: Started LSB: Home Automation System. Hint: Some lines were ellipsized, use -l to show in full. ekzorchik@srv-home:~$
посмотрев на ошибку libssl.so.1.1
я вспомнил, что уже где-то такое видел, скопировал именование libssl.so.1.1
в строку "Поиска"
на блоге https://lin.ekzorchik.ru
и вышел на заметку “Как установить ODBC для MySQL в Ubuntu 22.04 Server”, то что в заметке я скачиваю пакет: wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.3_amd64.deb
увы уже такого нет, в ответ возвращается ERROR 404: Not Found.
, открыв в браузере путь http://security.ubuntu.com/ubuntu/pool/main/o/openssl/
и после нахожу последнее именование пакета на 20.12.2023
(когда составляю данную заметку), сейчас пакет именуется, как libssl1.1_1.1.1f-1ubuntu2_amd64.deb
ekzorchik@srv-home:~$ wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb ekzorchik@srv-home:~$ sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb ekzorchik@srv-home:~$ ls /usr/lib/x86_64-linux-gnu | grep libssl libssl3.so libssl.so.1.1 libssl.so.3 ekzorchik@srv-home:~$ ekzorchik@srv-home:~$ sudo /etc/init.d/domoticz.sh restart Restarting domoticz.sh (via systemctl): domoticz.service. ekzorchik@srv-home:~$ sudo /etc/init.d/domoticz.sh status ● domoticz.service - LSB: Home Automation System Loaded: loaded (/etc/init.d/domoticz.sh; generated) Active: active (running) since Wed 2023-12-20 11:51:04 MSK; 6s ago Docs: man:systemd-sysv-generator(8) Process: 1064 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SUCCESS) Tasks: 15 (limit: 4558) Memory: 18.4M CPU: 90ms CGroup: /system.slice/domoticz.service └─1104 /home/ekzorchik/domoticz/domoticz -daemon -www 8080 -sslwww 443 Dec 20 11:50:35 srv-home domoticz.sh[1064]: INFO: No time server(s) defined in /etc/systemd/timesyncd.conf, using default fallback server(s) Dec 20 11:51:04 srv-home domoticz.sh[1064]: Waiting for time synchronization before starting Domoticz............................. Dec 20 11:51:04 srv-home domoticz.sh[1064]: WARNING: Time synchronization failed, check network and /etc/systemd/timesyncd.conf Dec 20 11:51:04 srv-home domoticz.sh[1064]: Starting Domoticz without successful time synchronization... Dec 20 11:51:04 srv-home domoticz.sh[1103]: 2023-12-20 11:51:04.709 Status: Domoticz V2023.2 (build 15457) (c)2012-2023 GizMoCuz Dec 20 11:51:04 srv-home domoticz.sh[1103]: 2023-12-20 11:51:04.710 Status: Build Hash: 25624ca14, Date: 2023-07-22 11:39:06 Dec 20 11:51:04 srv-home domoticz.sh[1103]: 2023-12-20 11:51:04.710 Status: Startup Path: /home/ekzorchik/domoticz/ Dec 20 11:51:04 srv-home domoticz.sh[1103]: domoticz: Domoticz is starting up.... Dec 20 11:51:04 srv-home domoticz[1103]: Domoticz is starting up.... Dec 20 11:51:04 srv-home systemd[1]: Started LSB: Home Automation System. ekzorchik@srv-home:~$ ekzorchik@srv-home:~$ sudo netstat -tulpn | grep domoticz tcp6 0 0 :::8080 :::* LISTEN 1104/domoticz tcp6 0 0 :::6144 :::* LISTEN 1104/domoticz tcp6 0 0 :::443 :::* LISTEN 1104/domoticz ekzorchik@srv-home:~$
Шаг №6:
Открываю в браузере Domoticz
путем обращения через браузер на URL
адрес: http://IP&DNS:8080
, где в моем случае IP
– это ip address
системы Ubuntu 22.04 Server
где развернут Domoticz:
Авторизуюсь задействуя дефолтные значения:
Username: admin
Password: domoticz
Remember me: отмечаю ползунок
и нажимаю Login
На заметку: Если нужно заранее предопределить свои данные аутентификации, то смотрим заметку "Забыли логин и пароль на доступ к Domoticz"
Шаг №7:
Применяю свою заметку, а именно "Как русифицировать интерфейс Domoticz"
Шаг №8:
Отключаю обновления на последующие релизы:
http://IP&DNS - admin:domoticz - Настройка - Настройки
– вкладка "Система"
Проверить наличие обновлений (не работает на системах Windows): отключаю
и нажимаю "Применить настройки"
на этом пока заметку завершаю, чуть позже будет больше заметок.
Итого: у меня получилось разобрать, каким образом на Ubuntu 22.04 Server
устанавливается самая последняя стабильная версия Domoticz
на момент написания данной заметки, а именно:
http://IP&DNS - admin:domoticz - Настройка - О системе
Version: 2023.2 (build 15457)
Build Hash: 25624ca14
Compile Date: 2023-07-22 11:39:06
dzVents Version: 3.1.8
Python Version: None
Active User: admin
На этом моя заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.