суббота, 22 сентября 2018 г.

Domoticz. Установка в Ubuntu 18.04

Вообще, domoticz ставится в ubuntu очень просто...

Ставим зависимости
sudo apt install build-essential cmake libboost-dev libboost-thread-dev libboost-system-dev libsqlite3-dev
sudo apt install libcurl4-openssl-dev libssl-dev libusb-dev zlib1g-dev python3-dev git curl

И запускаем скрипт установки
sudo curl -L install.domoticz.com | bash

..но не в Ubuntu 18.04. Тут установка обрывается на проверке зависимостей libcurl3


На форумах об этом упоминается. Что при установке на чистую 18.04, что при обновлении с других версий.

Поэтому придется собирать вручную

Ставим необходимые пакеты для сборки
sudo apt-get install cmake make gcc g++ libssl-dev git libcurl4-gnutls-dev libusb-dev python3-dev zlib1g-dev libcurl4-openssl-dev
Устанавливаем библиотеки boost (занимает значительное время)
mkdir boost
cd boost
wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
tar xfz boost_1_68_0.tar.gz
cd boost_1_68_0/
./bootstrap.sh
./b2 stage threading=multi link=static --with-thread --with-system
sudo ./b2 install threading=multi link=static --with-thread --with-system
cd ../../
rm -Rf boost/

Качаем исходники в папку dev-domoticz
git clone https://github.com/domoticz/domoticz.git dev-domoticz
И запускаем сборку
cd dev-domoticz
git pull
cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt
make -j 3
(для успешной сборки, требуется минимум 2Гб ОЗУ, и 20 минут ожидания для Core 2 Duo 2.4Ghz)

Осталось настроить демон для автозапуска
nano /etc/systemd/system/domoticz.service
[Unit]
Description=domoticz_service
[Service]
User=john
Group=john
ExecStart=/home/john/dev-domoticz/domoticz -www 8080 -sslwww 443
WorkingDirectory=/home/john/dev-domoticz
       #
       # The below works on ubuntu 16 LTS.
       CapabilityBoundingSet=CAP_NET_BIND_SERVICE
       Restart=on-failure
       RestartSec=1m
       #StandardOutput=null
[Install]
       WantedBy=multi-user.target
Перезагружаем systemd для поиска новых или измененных демонов и активируем демон domoticz.service
sudo systemctl daemon-reload
sudo systemctl enable domoticz.service
Запускаем
systemctl start domoticz.service

Через веб-морду зашел в настройки, поменял системный язык и локацию, но настройки не применялись. Оказалось были проблемы с записью в SQL базу Domoticz

Поставил владельцем файла /home/john/dev-domoticz/domoticz.db учетную запись пользователя john. После перезагрузки все заработало.

Теперь можно настроить доступ к серверу Domoticz из внешнего мира.

Всё взлетело?! Может пора управлять Domoticz голосом? Легко!

2 комментария :

  1. Доброе время суток! При запуске сборки ("cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt") выдаёт что смаке старый и требует версию не ниже 3.14. Не подскажите, как обновить и/или обойти данный трабл

    ОтветитьУдалить
  2. на данный момент все прекрасно устанавливается штатным инсталлятором (28.05.19)

    ОтветитьУдалить