Категории

Установка и настройка хаба для умного дома на основе MajorDoMo на Linux Ubuntu

2025-10-30 07:25:54 | Статья из категории: IOT умный дом

Установка и настройка умного дома MajorDoMo на Linux Ubuntu

Если вы ищете альтернативу Home Assistant — обратите внимание на MajorDoMo. Это open-source платформа для автоматизации умного дома, написанная на PHP и ориентированная на гибкость, локальное размещение и поддержку множества протоколов (ZigBee, MQTT, Modbus, ESP и др.). Ниже — подробная инструкция по установке MajorDoMo на чистую Ubuntu (22.04 или 24.04).

Подготовка сервера

Обновим систему:

sudo apt update
sudo apt upgrade -y

Настройка веб-сервера

MajorDoMo работает через веб-интерфейс, поэтому нам понадобится Apache + PHP + MySQL.

Установка Apache

sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

Проверьте в браузере: откройте http://IP_вашего_сервера — должна появиться стартовая страница Apache.

Установка PHP и необходимых модулей

Для Ubuntu 22.04/24.04 используем PHP 8.1 или 8.2:

sudo apt install php libapache2-mod-php php-cli php-curl php-gd php-mbstring php-mysql php-xml php-zip php-bz2 php-opcache -y

Включим модуль rewrite для корректной работы URL:

sudo a2enmod rewrite
sudo systemctl restart apache2

Проверим работу PHP. Удалим дефолтный HTML и создадим тестовый файл:

sudo rm /var/www/html/index.html
echo "<?php phpinfo(); ?>  " | sudo tee /var/www/html/index.php

Обновите страницу в браузере — вы должны увидеть информацию о PHP.

Установка MySQL

sudo apt install mysql-server php-mysql -y
sudo systemctl enable mysql
sudo systemctl start mysql

Зададим пароль root (если не задан автоматически):

sudo mysql_secure_installation

Установка MajorDoMo

Клонирование репозитория

sudo apt install git -y
cd /tmp
git clone https://github.com/sergejey/majordomo.git
sudo mv majordomo /var/www/

Настройка прав доступа

sudo chown -R www-data:www-data /var/www/majordomo

Конфигурация базы данных

Создадим конфиг из шаблона:

sudo cp /var/www/majordomo/config.php.sample /var/www/majordomo/config.php

Отредактируем его:

sudo nano /var/www/majordomo/config.php

Укажите параметры подключения (пример):

define('DB_HOST', 'localhost');
define('DB_NAME', 'majordomo');
define('DB_USER', 'majordomo');
define('DB_PASSWORD', 'majordomo123');

Настройка PHP

Отредактируйте php.ini для Apache:

sudo nano /etc/php/8.1/apache2/php.ini

Найдите и измените следующие параметры:

short_open_tag = On
max_execution_time = 90
max_input_time = 180
post_max_size = 200M
upload_max_filesize = 50M
max_file_uploads = 150

Аналогично для CLI (если будете запускать скрипты из консоли):

sudo nano /etc/php/8.1/cli/php.ini

Настройка виртуального хоста Apache

Создадим конфиг:

sudo nano /etc/apache2/sites-available/majordomo.conf

Содержимое:

<VirtualHost *:80>  
    ServerName majordomo.local
    DocumentRoot /var/www/majordomo

    <Directory /var/www/majordomo>  
        AllowOverride All
        Require all granted
    </Directory>  
</VirtualHost>  

Активируем сайт и перезапускаем Apache:

sudo a2ensite majordomo.conf
sudo systemctl reload apache2

Добавьте в файл /etc/hosts на вашем компьютере строку:

IP_сервера majordomo.local

Создание базы данных

Подключимся к MySQL:

sudo mysql -u root -p

Выполним команды:

CREATE DATABASE majordomo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'majordomo'@'localhost' IDENTIFIED BY 'majordomo123';
GRANT ALL PRIVILEGES ON majordomo.* TO 'majordomo'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Импортируем структуру БД:

sudo mysql -u root -p majordomo < /var/www/majordomo/db_terminal.sql

Веб-установка

Откройте в браузере: http://majordomo.local

Выберите язык (например, русский) и следуйте инструкциям мастера установки. На этом этапе система проверит зависимости и завершит настройку.

Автозапуск фонового процесса

MajorDoMo требует запуска фонового скрипта cycle.php. Создадим systemd-юнит:

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

Содержимое:

[Unit]
Description=MajorDoMo Smart Home Platform
After=network.target mysql.service apache2.service

[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/majordomo
ExecStart=/usr/bin/php /var/www/majordomo/cycle.php
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Загрузим и запустим службу:

sudo systemctl daemon-reload
sudo systemctl enable majordomo
sudo systemctl start majordomo

Что дальше?

Теперь у вас есть полностью рабочая локальная платформа умного дома! MajorDoMo поддерживает:

Если вы цените контроль над своими данными, не хотите зависеть от облаков и любите кастомизацию — MajorDoMo достоин внимания.

Обсудить установку, поделиться опытом или задать вопрос можно в официальном форуме (на русском) или на англоязычном сайте.


Статья для технического блога. Все команды проверены на Ubuntu 24.04. Версии пакетов могут отличаться — следите за актуальными требованиями в официальном репозитории.

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


кто я | книга | контакты без контактов

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA