Сегодня я составлю заметку, что и как нужно сделать дабы развернуть систему, посредством которой можно сделать так называемый "Умный Дом", в роли этой системы выступит 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: adminPassword: domoticzRemember 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: 25624ca14Compile Date: 2023-07-22 11:39:06dzVents Version: 3.1.8Python Version: NoneActive User: admin
На этом моя заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.