Тематические термины: умный дом, Linux, Ubuntu
Обновляем список пакетов:
apt update
Устанавливаем обновления:
apt upgrade
Управление умным домом от Majordomo осуществляется с помощью веб-интерфейса и для его работы необходим веб-сервер.
Устанавливаем веб-сервер Apache и дополнительные компоненты:
apt install apache2 apache2-bin apache2-data apache2-utils
Разрешаем автозапуск apache и стартуем сервис:
systemctl enable apache2
systemctl start apache2
Открываем браузер и вводим IP-адрес сервера — мы должны увидеть страницу Apache по умолчанию:
Устанавливаем 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:
Устанавливаем сервер баз данных 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
Включаем автозапуск mysql и запускаем демона:
systemctl enable mysql
systemctl start mysql
Задаем пароль для root пользователя MySQL:
mysqladmin -u root password
Устанавливаем 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.ini для apache:
vi /etc/php/7.2/apache2/php.ini
short_open_tag = Onmax_execution_time = 90max_input_time = 180post_max_size = 200Mupload_max_filesize = 50Mmax_file_uploads = 150
Настраиваем php.ini для unix shell:
vi /etc/php/7.2/cli/php.ini
short_open_tag = On
Настраиваем виртуальный домен:
vi /etc/apache2/sites-enabled/majordomo.conf
<VirtualHost *:80> Define root_domain majordomo.admins24.local Define root_path /var/www/majordomo
ServerName ${root_domain} DocumentRoot ${root_path} <Directory ${root_path}> AllowOverride All </Directory></VirtualHost>
Проверяем конфигурацию apache и перезапускаем сервис:
apachectl configtest
Подключаемся к MySQL:
mysql -uroot -p
Создаем базу данных и пользователя:
> CREATE DATABASE majordomo DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON majordomo.* TO [email protected] IDENTIFIED BY ‘majordomo123’ WITH GRANT OPTION;
Импортируем базу данных:
mysql -v -u root -p majordomo < /var/www/majordomo/db_terminal.sql
Запускаем скрипт в консоли:
php /var/www/majordomo/cycle.php
В браузере открываем сервер по настроенному виртуальному домену (в нашем случае, majordomo.admins24.local) — в открывшемся окне выбираем русский язык и нажимаем Continue:
Готово.
Чтобы система стартовала автоматически после перезагрузки компьютера, создаем новый юнит в systemd:
vi /etc/systemd/system/majordomo.service
[Unit]Description=MajorDoMo
[Service]Requires=mysql.serviceRequires=apache2.serviceType=simpleWorkingDirectory=/var/www/majordomoExecStart=/usr/bin/php /var/www/majordomo/cycle.phpRestart=always
[Install]WantedBy=multi-user.target
Перезапускаем systemd:
systemctl daemon-reload
Разрешаем автозапуск majordomo и стартуем его:
systemctl enable majordomo
systemctl start majordomo
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies