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

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

Тематические термины: умный дом, Linux, Ubuntu

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

Обновляем список пакетов:

apt update

Устанавливаем обновления:

apt upgrade

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

Управление умным домом от Majordomo осуществляется с помощью веб-интерфейса и для его работы необходим веб-сервер.

Установка Apache

Устанавливаем веб-сервер Apache и дополнительные компоненты:

apt install apache2 apache2-bin apache2-data apache2-utils

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

systemctl enable apache2

systemctl start apache2

Открываем браузер и вводим IP-адрес сервера — мы должны увидеть страницу Apache по умолчанию:

Стартовая страница Apache

Apache + PHP

Устанавливаем php и дополнительные компоненты:

libapache2-mod-php libapache2-mod-php php-bz2 php-cli php-common php-curl php-gd php-json php-mbstring php-mysql php7.2-opcache php-readline php-xml php-dev libmcrypt-dev gcc make autoconf libc-dev pkg-config

Устанавливаем компонент mcrypt:

pecl install mcrypt-1.0.1

Включаем компонент mcrypt в Apache:

vi /etc/php/7.2/apache2/conf.d/mcrypt.ini

extension=mcrypt.so

Разрешаем модуль rewrite для apache:

a2enmod rewrite

Перезапускаем apache:

systemctl restart apache2

Для проверки, удаляем index.html, создаем index.php:

rm /var/www/html/index.html

vi /var/www/html/index.php

<?php phpinfo(); ?>

Снова в браузере открываем страницу сервера — мы должны увидеть страницу информации о PHP:

phpinfo

СУБД

Устанавливаем сервер баз данных MySQL с необходимыми компонентами:

apt install dbconfig-mysql mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7 php-mysql php-mysql

Перезапускаем apache:

systemctl restart apache2

Включаем автозапуск mysql и запускаем демона:

systemctl enable mysql

systemctl start mysql

Задаем пароль для root пользователя MySQL:

mysqladmin -u root password

Установка и настройка MajorDoMo

MajorDoMo

Устанавливаем git:

apt install git

Скачиваем установочный пакет:

git clone https://github.com/sergejey/majordomo.git

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

mv majordomo /var/www/

Воспользуемся шаблоном конфигурационного файла:

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

Настроим подключение к базе данных:

vi /var/www/majordomo/config.php

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

* где DB_NAME majordomo — имя базы данных; DB_USER majordomo — учетная запись; DB_PASSWORD majordomo123 — пароль для учетной записи mysql.

Задаем права:

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

Настройка PHP

Настраиваем php.ini для apache:

vi /etc/php/7.2/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

Настраиваем php.ini для unix shell:

vi /etc/php/7.2/cli/php.ini

short_open_tag = On

Настройка Apache

Настраиваем виртуальный домен:

vi /etc/apache2/sites-enabled/majordomo.conf

<VirtualHost *:80>
    Define root_domain majordomo.dmosk.local
    Define root_path /var/www/majordomo

    ServerName ${root_domain}
    DocumentRoot ${root_path}
    
    <Directory ${root_path}>
        AllowOverride All
    </Directory>
</VirtualHost>

Проверяем конфигурацию apache и перезапускаем сервис:

apachectl configtest

systemctl restart apache2

Настройка MySQL

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

mysql -uroot -p

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

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

> GRANT ALL PRIVILEGES ON majordomo.* TO majordomo@localhost IDENTIFIED BY 'majordomo123' WITH GRANT OPTION;

> \q

Импортируем базу данных:

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

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

Запускаем скрипт в консоли:

php /var/www/majordomo/cycle.php

В браузере открываем сервер по настроенному виртуальному домену (в нашем случае, majordomo.dmosk.local) — в открывшемся окне выбираем русский язык и нажимаем Continue:

Начало установки majordomo

Готово.

Автозапуск

Чтобы система стартовала автоматически после перезагрузки компьютера, создаем новый юнит в systemd:

vi /etc/systemd/system/majordomo.service

[Unit]
Description=MajorDoMo

[Service]
Requires=mysql.service
Requires=apache2.service
Type=simple
WorkingDirectory=/var/www/majordomo
ExecStart=/usr/bin/php /var/www/majordomo/cycle.php
Restart=always

[Install]
WantedBy=multi-user.target

Перезапускаем systemd:

systemctl daemon-reload

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

systemctl enable majordomo

systemctl start majordomo

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

Да            Нет