Svetлая

 
<<< Назад

Установка МД на ubuntu 20

Новички часто спрашивают "как? вот делаю и ничего не получается"

    Установка с ноля, на чистую ubuntu server minimal. Актуальна на дату выхода статьи.

Устанавливаемые программные модули по мере своего развития могут перерастать в нечто новое и как следствие - меняться их установка. За более чем 5 лет, на моих глазах чуть ли не каждый релиз слегка изменялся в плане установки Unifi controler. Два раза изменялся zigbee2mqtt, последний раз недавно. Так что, если что то не получается, сверяйте версии, пользуйтесь "гугл окей" и первоисточником - инструкцией по установке на сайте самой программы.

    Каждый определяет для себя самостояетельно необходимость того или иного ПО на сервере. Я, ставлю следующее:
  1. MajorDoMo - сам умный дом
  2. RHVoice - синтезатор речи
  3. VLC - проигрыватель. Использую для прослушивания онлайн радио
  4. Mosquitto - mqtt сервер
  5. Unifi controler (9.5.21 (Build: atag_9.5.21_31260)) - сервер для бесшовной wifi точки доступа на оборудовании UniFi
  6. Zigbee2MQTT (2.6.3 commit: 5797b568) - для сопряжения zigbee устройств с Мажором через mqtt. В магазине дополнений я ничего не ставлю.
  7. Подключение сетевого диска для бэкапа
  8. TeamSpeak 3 (3.13.7) - голосовой и текстовый сервер. Времена чебурнета вынуждают.
  9. Блютуз. У меня он интегрирован в nano PC

Первые 4 пункта делаю по мотивам уважаемого Prmres. Всё описано на форуме,
Далее пойдут строки под копи-паста.

apt-get update -y && apt update -y && apt-get upgrade -y && apt upgrade -y && shutdown -r now
wget https://clck.ru/NGNzt
tar -xvf NGNzt
sh majordomo.sh
sh rhvoice.sh
nano vlc.sh

перед установкой VLC плеера, меняю порт на 8000. По умолчанию 8080, этот порт резервирует под себя Unifi controller.
Ищим строку в [Service]

ExecStart=/usr/bin/vlc ....

и приводим к виду:

ExecStart=/usr/bin/vlc -I http --http-password=password --http-port=8000

Продолжаем установку

sh vlc.sh
sh mosquitto.sh
shutdown -r now

установка unifi

sudo apt-get update && sudo apt-get install ca-certificates apt-transport-https
echo 'deb [ arch=amd64,arm64 ] https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg
echo "deb [trusted=yes] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt-get update
sudo apt-get update && sudo apt-get install unifi -y

После добавления в репозиторий mongodb будет выскакивать ошибка паблик ключа - игнорируем.
На сервер можно зайти по https 8443

установка Zigbee2MQTT

sudo apt-get install -y curl
sudo curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs git make g++ gcc libsystemd-dev
corepack enable
node --version
sudo mkdir /opt/zigbee2mqtt
sudo chown -R ${USER}: /opt/zigbee2mqtt
git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
pnpm install --frozen-lockfile

Перед запуском, надо остановить unifi, используют один и тот же порт 8080

Service unifi stop
pnpm start

открываем браузер на порту 8080 и настраиваем Zigbee2MQTT, не забыв в обязательном порядке сменить порт. Я ставлю 8100

далее настраиваем демон и делаем его автостартуемым с системой
создаем файл

sudo nano /etc/systemd/system/zigbee2mqtt.service

и копируем в него следующее:

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
Environment=NODE_ENV=production
Type=notify
ExecStart=/usr/bin/node index.js
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
StandardError=inherit
WatchdogSec=10s
Restart=always
RestartSec=10s
User=root

[Install]
WantedBy=multi-user.target

Запускамем

sudo systemctl enable zigbee2mqtt.service
service zigbee2mqtt start

установка часового пояса

timedatectl
sudo timedatectl set-timezone Europe/Moscow
timedatectl

подключение сетевого диска
Бакапы системы я делаю сама, мне так удобнее. Хранить их на сервере МД не очень умная идея )) Случаи бываю разные.

sudo apt-get install cifs-utils -y
mkdir /home/uuser/nas120
  • uuser - имя вашей папки в каталоге /home
  • nas120 - произвольное название
  • 192.168.10.100/mjdcopy - путь к сетевой папке
nano /usr/local/bin/nas120.sh

копируем в него следующее:

#!/bin/bash
sudo mount -t cifs -o username=admin,password=,uid=1000,iocharset=utf8 //192.168.10.100/mjdcopy /home/uuser/nas120

далее

cd /etc/systemd/system/
sudo systemctl edit --force --full myscripts.service

копируем в него:

[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/local/bin/nas120.sh
[Install]
WantedBy=multi-user.target

далее

sudo systemctl enable myscripts
sudo chmod ugo+x /usr/local/bin/nas120.sh
service myscripts start

установка teamspeak

sudo useradd -mrd /opt/teamspeak teamspeak -s "$(which bash)"
sudo apt install bzip2
su - teamspeak
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 -O teamspeak-server.tar.bz2
tar xvfj teamspeak-server.tar.bz2 --strip-components 1
touch ~/.ts3server_license_accepted
su - ваш_аккаунт
sudo nano /etc/systemd/system/teamspeak.service

в него копируем:

[Unit]
Description=Teamspeak Service
Wants=network.target

[Service]
WorkingDirectory=/opt/teamspeak
User=teamspeak
ExecStart=/opt/teamspeak/ts3server_minimal_runscript.sh
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

далее

sudo systemctl enable teamspeak.service
service teamspeak start

КЛЮЧ АДМИНА НАХОДИТСЯ В ЛОГЕ /opt/teamspeak/logs

установка блютуз

apt  install bluez -y
apt  install bluez-tools -y
bluetoothctl

Присоединить устройство bluetooth по MAC-адресу:
pair <mac_address>
Включить/отключить сканирование устройств:
scan on/scan off
Отключить bluetooth устройство по указанному MAC-адресу:
remove <mac_address>
Подключиться к присоединённому устройству:
connect <mac_address>
Отключиться от присоединённого устройства:
disconnect <mac_address>
Автоматически подключаться к устройству:
trust <mac_address>
Выйти из командной оболочки:
exit

Обсуждение (3) (3)

МСК, Россия

Веб-сайт:
http://www.v-elite.ru