Сегодня я составлю заметку, что и как нужно сделать дабы развернуть систему, посредством которой можно сделать так называемый "Умный Дом", в роли этой системы выступит 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:

Открываю URL ссылку на доступ к Domoticz и авторизуюсь

Авторизуюсь задействуя дефолтные значения:

  • Username: admin
  • Password: domoticz
  • Remember me: отмечаю ползунок

и нажимаю Login

На заметку: Если нужно заранее предопределить свои данные аутентификации, то смотрим заметку "Забыли логин и пароль на доступ к Domoticz"

Я успешно авторизовался в Domoticz, как admin: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.