Установка и настройка IOT VEGA Server + Admin Tool + Pulse на Linux Ubuntu

Обновлено Обновлено: Опубликовано Опубликовано:

VEGA Server — программное обеспечение для приема данных из различных устройств. Например, вместе с Pulse его можно использовать для получения и отображения показаний водосчетчиков, электросчетчиков, счетчиков газа с импульсными выходами.

Дистрибутив сервера распространяется как deb-пакет, поэтому установка будет выполняться на Linux Ubuntu. Инструкция также будет работать для Debian.

Установка и запуск VEGA Server

Переходим на страницу iotvega.com/product/server и копируем ссылку на IOT Vega Server для Linux:

Копируем ссылку на IOT Vega Server для Linux

Скачиваем архив на сервере:

wget "https://iotvega.com/content/ru/soft/server/IOT%20Vega%20Server%20(linux)%20v1.2.1.tar.gz"

* так как в пути есть спецсимволы, необходимо адрес вставить в кавычки. В данном примере скачивается версия 1.2.1.

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

tar -xvf IOT\ Vega\ Server\ \(linux\)\ v*.tar.gz

* также обратите внимание, что из-за пробелов в названии необходимо ставить экраны (\).

Переходим в каталог с установочным пакетом:

cd IOT\ Vega\ Server\ \(linux\)\ v1.2.1/x64/

* в моем примере используется 64-х битная система. Посмотреть версию используемой системы можно командой uname -i

Выполняем установку:

dpkg -i iot-vega-server-1.2.1.deb

Открываем на редактирование файл конфигурации:

vi /opt/iot-vega-server/settings.conf

Редактируем IP-адрес, на котором сервис должен работать:

ip=192.168.1.10

* в данном примере сервер будет слушать на адресе 192.168.1.10.

Запускаем сервер:

/opt/iot-vega-server/iot-vega-server.sh

Мы должны увидеть сообщение об успешном запуске:

INFO: Table queuetransmit is cleaned
INFO: Table "bufMacDevParams" is cleared
WebSocketServer has opened. Port[8002]
UDP socket has opened. IP[192.168.1.10:8001]
DEBUG: UdpServer handler is started
INFO: DB-secure scaner started...
DEBUG [CDevicesCountInfo]: vega[0], totalNonVega[1000], usedNonVega[0]
INFO: DB-secure scaner successfully finished

Оставим консоль и подключимся новой (еще одной). В списке прослушиваемых портов должны появиться 8001 и 8002:

ss -tunlp | grep 800[1,2]

udp  UNCONN  0  0  192.168.1.62:8001  *:*  users:(("iot-vega-server",pid=4381,fd=13))
tcp  LISTEN  0  50  :::8002  :::*  users:(("iot-vega-server",pid=4381,fd=6))

Для автозапуска сервиса меняем права скрипту в init.d:

chmod +x /etc/init.d/iot-vega-server

chown root:root /etc/init.d/iot-vega-server 

Разрешаем автозапуск сервиса и стартуем его:

systemctl enable iot-vega-server --now

Для проверки работы, можно перезагрузить сервер и после загрузки проверить состояние службы:

systemctl status iot-vega-server

Хранение данных в MariaDB / MySQL

По умолчанию, данные хранятся в своей внутренней базе. Для работы с другой СУБД выполняем ряд действий, описанных ниже.

Установка MariaDB

Сначала установим ее:

apt install mariadb-server

Разрешаем автозапуск и запускаем:

systemctl enable mysql --now

Задаем пароль суперпользователю mysql:

mysqladmin -u root password

Создание базы и пользователя в СУБД

Заходим в оболочку SQL:

mysql -uroot -p

Создаем базу данных:

> CREATE DATABASE lorawan_server DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

* в данном примере создана база lorawan_server.

Создаем пользователя и даем ему полные права на созданную базу:

> GRANT ALL PRIVILEGES ON lorawan_server.* TO vega@localhost IDENTIFIED BY 'vega123' WITH GRANT OPTION;

* в данном примере создана учетная запись vega с паролем vega123.

Выходим из оболочки sql:

> \q

Настройка библиотек IOT VEGA

Для работы с MySQL необходимо, чтобы все библиотеки или симлинки на них находились в каталоге /opt/iot-vega-server. Для проверки библиотек, переходим в каталог:

cd /opt/iot-vega-server/sqldrivers

Запускаем команду:

LD_LIBRARY_PATH=/opt/iot-vega-server/ ldd libqsqlmysql.so | grep "not found"

В моем случае был ответ такой:

        libssl.so.10 => not found
        libcrypto.so.10 => not found

... это означает, что симлинки libssl.so.10 и libcrypto.so.10 ведут на несуществующие файлы. Сначала удалим неправильные ссылки:

\rm /opt/iot-vega-server/libssl.so.10

\rm /opt/iot-vega-server/libcrypto.so.10

Теперь найдем правильное местоположение библиотек:

find {/usr/lib,/lib} -name "libssl*"

find {/usr/lib,/lib} -name "libcrypto*"

* в данном примере мы пытаемся найти нужные нам библиотеки в каталогах /lib и /usr/lib. В одном из них должны находиться нужные нам библиотеки.

После создадим правильные симлинки на существующие файлы. У меня получилось так:

ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/iot-vega-server/libssl.so.10

ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/iot-vega-server/libcrypto.so.10

Снова запускаем проверку:

LD_LIBRARY_PATH=/opt/iot-vega-server/ ldd libqsqlmysql.so | grep "not found"

... команда ничего не должна вернут.

Настройка Вега сервера

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

vi /opt/iot-vega-server/settings.conf

Редактируем следующее:

...
[external_db]
...
useExternalDb=1
...
userExternalDb=vega
passwordExternalDb=vega123
...

useExternalDb указывает, использовать ли внешнюю базу данных; userExternalDb задает имя пользователя; passwordExternalDb — пароль для пользователя базы.

Перезапускаем демона vega:

systemctl restart iot-vega-server

Проверяем работу сервиса:

systemctl status iot-vega-server

* если сервис запускается с ошибкой, снова открываем конфигурационный файл /opt/iot-vega-server/settings.conf и задаем настройки подключения к базе под пользователем root.

Установка Admin Tool

Для управления сервером с помощью веб-интерфейса, ставим веб-сервер и Admin Tool.

Веб-сервер

В качестве веб-сервера достаточно установить NGINX. Для его установки вводим:

apt install nginx

Разрешаем автозапуск и стартуем сервис:

systemctl enable nginx --now

Для проверки работы сервера открываем браузер и переходим на страницу http://<IP-адрес сервера>/ — должна откыться страница приветствия NGINX:

Страница приветствия NGINX

Admin Tool

Заходим на тот же сайт iotvega.com/product/server и копируем ссылку на портал управления:

Копируем ссылку на IOT Vega Admin Tool

С помощью данной ссылки скачиваем архив на сервер:

wget "https://iotvega.com/content/ru/soft/server/IOT%20Vega%20Admin%20Tool%20V1.1.4_ru.zip"

* так как в пути есть спецсимволы, необходимо адрес вставить в кавычки. В данном примере скачивается версия 1.1.4.

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

apt install unzip

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

unzip IOT\ Vega\ Admin\ Tool\ V*.zip

Переносим каталог с порталом к домашнюю директорию веб-сервера:

mv IOT\ Vega\ Admin\ Tool\ V1.1.4_ru/Admin\ Tool /var/www/html/admin

Открываем настройки административной консоли:

vi /var/www/html/admin/config.js

Задаем адрес, на котором слушает сервер:

const address_ws = 'ws://192.168.1.10:8002';

* в данном примере мы поменяли IP на 192.168.1.10 и порт на 8002. Адрес должен быть внутренним, если мы будем заходить на сервер по внутренней сети или внешним, если заходить будем из сети Интернет.

Открываем браузер и переходим по адресу http://<IP-адрес сервера>/admin/ — должна открыться страница входа в Admin Tool.

Вводим логин root и пароль 123 (по умолчанию; задаются в настройках Vega Server — файле /opt/iot-vega-server/settings.conf, опция password).

Установка Pulse

IOT Vega Pulse является клиентским веб-приложением. Оно нужно для отображения информации, которая была собрана сервером.

Для установки нам нужен веб-сервер. Его мы устанавливали на этапе, когда разворачивали Admin Tool. Теперь нам нужно просто скачать и распаковать портал Pulse.

Заходим на страницу iotvega.com/product/app и копируем ссылку на стабильную версию Pulse:

Копируем ссылку на стабильную версию Pulse

С помощью данной ссылки скачиваем архив на сервер:

wget https://iotvega.com/content/ru/soft/app/IOT%20Vega%20Pulse%20V1.1.9_ru.zip

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

unzip IOT\ Vega\ Pulse\ V1.1.9_ru.zip

* у нас должен быть установлен пакет unzip.

Переносим портал в каталог веб-сервера:

mv IOT\ Vega\ Pulse\ V1.1.9_ru/Pulse /var/www/html/pulse

Открываем на редактирование конфигурационный файл Pulse:

vi /var/www/html/pulse/config.js

Задаем адрес, на котором слушает сервер:

const address_ws = 'ws://192.168.1.10:8002';

* в данном примере IP 192.168.1.10 и порт 8002.

Открываем браузер и переходим по адресу http://<IP-адрес сервера>/pulse/ — должна открыться страница входа в Pulse.

Вводим логин root и пароль 123 (по умолчанию; задаются в настройках Vega Server — файле /opt/iot-vega-server/settings.conf, опция password).

Настройка IotVegaNotifier

IOT Vega Notifier — программа для отправки оповещений по SIP. С ее помощью мы можем получить звонок или уведомление на телефон при возникновении тревожных событий.

Данный софт распространяется в виде контейнера docker и требует его установки в систему:

apt install docker.io

Разворачиваем приложение:

docker run -it -d --name iotveganotifier vegaabsolute/iotveganotifier:disco

Запускаем командную консоль внутри контейнера iotveganotifier:

docker exec -it iotveganotifier bash

Открываем на редактирование конфигурационный файл для IotVegaNotifier:

nano IotVegaNotifier/config.ini

Меняем настройки для подключения к серверу

[ws]
  #The address of the server WebSocket IotVega
address=ws://192.168.1.10:8002
  #The user of the server WebSocket IotVega
user=root
  #The user password
password=123

* мы должны указать адрес сервера VEGA, а также логин и пароль для подключения к нему. В данном примере у нас сервер с адресом 192.168.1.10; логин и пароль root 123 — те, что заданы по умолчанию.

После задаем настройки для SIP:

[sip]
  #Enabled sip to take voice messages
  #boolean
enabled=true
  #The host of the SIP
host=sip.siplink.pro
  #The user of the SIP
user=1234567890
  #The user password
password=passw0rd

* в данных настройках мы включаем поддержку SIP (enabled); указываем сервер, предоставляющий услугу телефонии (host); задаем логин и пароль на подключение аккаунта (user и password).

Закрываем редактор и перезапускаем сервис оповещений:

pm2 restart 0

Выходим из оболочки контейнера docker, нажав Ctrl + D.

Обновление 

Рассмотрим процесс обновления сервера и компонентов. Сначала создадим каталог, в котором будут резервные копии:

mkdir /backup

IOT VEGA Server

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

Перед обновлением необходимо сделать резервную копию базы данных и конфигурационного файла.

Создадим каталог для хранения архивов сервера:

mkdir /backup/server

а) В нашем примере мы используем базу MariaDB — соответственно, делаем дамп mysql:

mysqldump -v -uroot -p lorawan_server > /backup/server/mysqldump.lorawan_server.sql

б) Если же мы используем встроенную базу, просто копируем файл server.db:

cp /opt/iot-vega-server/server.db /backup/server/server.db

После резервирования базы данных, копируем конфигурационный файл:

cp /opt/iot-vega-server/settings.conf /backup/server/

Теперь можно загружать новую версию сервера:

wget "https://iotvega.com/content/ru/soft/server/IOT%20Vega%20Server%20(linux)%20v1.2.1.tar.gz"

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

tar -xvf IOT\ Vega\ Server\ \(linux\)\ v*.tar.gz

Переходим в каталог с установочным пакетом:

cd IOT\ Vega\ Server\ \(linux\)\ v1.2.1/x64/

* в моем примере используется 64-х битная система. Посмотреть версию используемой системы можно командой uname -i

Выполняем обновление:

dpkg -i iot-vega-server-1.2.1.deb

* обратите внимание, что процесс обновления не отличается от установки — система сама определит, что IOT VEGA Server установлен и обновит его.

IOT Vega Pulse

Копируем каталог с текущей версией в папку backup:

cp -r /var/www/html/pulse /backup/pulse.1.1.10

* где 1.1.10 — версия pulse, которая у нас используется в данный момент.

Скачиваем новую версию Vega Pulse:

wget https://iotvega.com/content/ru/soft/app/IOT%20Vega%20Pulse%20V1.1.11_ru.zip

* на момент обновления инструкции последняя версия была 1.1.11.

Если мы получим ошибку сертификата ERROR: cannot verify iotvega.com's certificate, загружаем архив с добавлением опции --no-check-certificate:

wget --no-check-certificate https://iotvega.com/content/ru/soft/app/IOT%20Vega%20Pulse%20V1.1.11_ru.zip

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

unzip IOT\ Vega\ Pulse\ V1.1.11_ru.zip

Удаляем папку pulse с текущей версией программы:

rm -rf /var/www/html/pulse

Переносим портал в каталог веб-сервера:

mv IOT\ Vega\ Pulse\ V1.1.11_ru/Pulse /var/www/html/pulse

Возвращаем из резервной копии конфигурационный файл Pulse:

cp /backup/pulse.1.1.10/config.js /var/www/html/pulse/

Admin Tool

Процесс обновления Admin Tool схож с Pulse. Рассмотрим его по шагам.

Копируем каталог с текущей версией в папку backup:

cp -r /var/www/html/admin /backup/admin.1.1.4

* где 1.1.4 — версия admin tool, которая у нас используется в данный момент.

Скачиваем новую версию:

wget "https://iotvega.com/content/ru/soft/server/IOT%20Vega%20Admin%20Tool%20V1.1.5_ru.zip"

* на момент обновления инструкции последняя версия была 1.1.5.

Если мы получим ошибку сертификата ERROR: cannot verify iotvega.com's certificate, загружаем архив с добавлением опции --no-check-certificate:

wget --no-check-certificate "https://iotvega.com/content/ru/soft/server/IOT%20Vega%20Admin%20Tool%20V1.1.5_ru.zip"

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

unzip IOT\ Vega\ Admin\ Tool\ V1.1.5_ru.zip

Удаляем папку admin с текущей версией программы:

rm -rf /var/www/html/admin

Переносим портал в каталог веб-сервера:

mv IOT\ Vega\ Admin\ Tool\ V1.1.5_ru/Admin\ Tool /var/www/html/admin

Возвращаем из резервной копии конфигурационный файл Pulse:

cp /backup/admin.1.1.4/config.js /var/www/html/admin/

Дополнительно

Разберем некоторые дополнительные настройки.

Смена пароля root

Это одна из первых вещей, которые нужно сделать. По умолчанию, логин с паролем root / 123 — это не безопасно и каждый сможет управлять сервером.

Открываем конфигурационный файл Vega Server:

vi /opt/iot-vega-server/settings.conf

Редактируем пароль пользователя root:

[root]
        # Login for super user
root=root
        # Password for super user (recommendation: change this password to your own)
password=newpassword

* где нужно поменять значение параметра password.

Перезапускать сервер не нужно. Заходим в Admin Tool и Pulse — проверяем, что теперь система пускает под новым паролем.

Вход на веб из вне

Необходимо, чтобы клиент (браузер) мог напрямую подключиться к серверу по порту tcp 8002. Для этого в конфигурационном файле Pulse или Admin Tool нужно задать параметр address_ws с использованием внешнего адреса, например:

const address_ws = 'ws://90.156.242.197:8002';

* в данном примере 90.156.242.197 — это мой внешний адрес. Вам необходимо задать свой.

Если сервер подключен к сети Интернет не напрямую, а через шлюз, необходимо пробросить порты 8001/UDP и 8002/TCP.

# Ubuntu # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет