Тематические термины: умный дом , Linux , Ubuntu
Подготовка
Настройка веб-сервера
Установка Apache
Apache + PHP
База данных
Установка и настройка MajorDoMo
MajorDoMo
Настройка PHP
Настройка Apache
Настройка MySQL
Веб установка
Автозапуск
Обновляем список пакетов:
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
Перезапускаем apache:
systemctl restart apache2
Включаем автозапуск 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 = 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
Настраиваем виртуальный домен:
vi /etc/apache2/sites-enabled/majordomo.conf
<VirtualHost *:80>
Define root_domain majordomo.remontka.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 -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.remontka.local ) — в открывшемся окне выбираем русский язык и нажимаем Continue :
Готово.
Чтобы система стартовала автоматически после перезагрузки компьютера, создаем новый юнит в 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
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…