Установка на Windows с использованием пакета XAMPP

Материал из MajorDoMo инфо


В процессе редактирования ... Установка MajorDoMo на Windows 10 с использованием пакета XAMPP (кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер). Полноценное описание доступно на форуме в первом посте темы "Установка Мажордомо на XAMPP".


Шаг первый: скачиваем и устанавливаем пакет XAMPP на ПК с Windows, ссылка на скачивание пакета с пхп 7.3.1 XAMPP с PHP 7.3.1 Устанавливаем на любой диск (у меня D).

UAC у меня не включен, поэтому игнорирую предупреждение.


![](https://connect.smartliving.ru/cms/data_images/1823_image.png)


Отмечаем галочкой сервисы, которые планируете установить, у меня все отмечены, можно обойтись обязательными Apache, MySQL, PHP, phpMyAdmin.


![](https://connect.smartliving.ru/cms/data_images/1824_image.png)

Указываем путь для установки и выбираем из двух языков (больше нет) английский. Нажимаем установить. После установки запускается панель управления XAMPP. Закрываем её, нажатие на крестик не помогает, закрываем через диспетчер задач.

После этого переходим к файлу xampp-control.exe в папке с установленным xampp и запускаем его от администратора.


![](https://connect.smartliving.ru/cms/data_images/1825_image.png)

Переходим к config в панели правый верхний угол, и устанавливаем галочки на автостарте модулуй, как показано на скрине (Apache и MySQL). Без запуска от админа сохранения не применяются, отказ в доступе. Что это значит – при запуске xampp, автоматически запускаются эти модули и не нужно в дальнейшем выполнять запуск в ручную. Закрываем панель xampp, в том числе из систем трея. Скачиваем файлы majordomo одним архивом, на примере из альфа ветки:

Файлы MajorDoMo Alpha ветка ![](https://connect.smartliving.ru/cms/data_images/1826_image.png) Удаляем все файлы из папки / htdocs. Распаковываем и копируем файлы Majordomo, в папку / htdocs, естественно не папкой majordomo-alpha а всем её содержимым. И еще надо положить папку аппс из мажордомо в папку ХАМППа (корень) (папку miniRelay не смог загрузить, ругалась на вирусы) [Ссылка на папку apps](https://disk.yandex.by/d/4Ui7Up_vZ1VYbA)

Кроме того не хватает архиваторов, распаковываем в директорию httpdoc [архиваторы](https://disk.yandex.by/d/E7QqMO-C7hYCOA)

Запускаем екзешник с панелью XAMPP (xampp-control.exe), при этом сервисы апача и mySQL стартуют автоматически и из браузера перейдём в панель управления phpmyadmin набрав адрес: [](http://127.0.0.1/phpmyadmin/). ![](https://connect.smartliving.ru/cms/data_images/1827_image.png) Импортируем базу данных MajorDoMo: Нажимаем - создать БД и в поле - имя базы - вписываем **db_terminal** и в соседенем поле изменяем кодировку на **utf8_general_ci** и нажимаем кнопку **Создать**. Теперь жмем на созданный db_terminal и сверху жмем слово Импорт Жмем Выберите файл и выбираем файл db_terminal.sql (он находится в папке диск:\путь к хамп\htdocs) ![](https://connect.smartliving.ru/cms/data_images/1828_image.png) и жмем слово Вперед. После импорта появится надпись об успешном окончании импортирования. Заходим по адресу 127.0.0.1 - появляется стартовая страница, радоваться пока не спешим, нужно произвести некоторые настройки. Закрываем панель управления xamppa (в т.ч. и из систем трея). Теперь мажордомо надо настроить. Переименуем config.php.sample в config.php И отредактируем пути в этом файле (config.php) а именно - в этих строках ```

Define('SERVER_ROOT', '/var/www');
Define('PATH_TO_PHP', 'php');
Define('PATH_TO_MYSQLDUMP', "mysqldump");

``` на следующее: ``` Define('SERVER_ROOT', 'диск:/путь к хамп');

Define('PATH_TO_PHP', 'диск:/путь к хамп/php/php.exe');
Define('PATH_TO_MYSQLDUMP', "диск:/путь к хамп/mysql/bin/mysqldump.exe");

``` в моем случае (корень диска D) вышло так: ```

Define('SERVER_ROOT', 'd:/xampp');
Define('PATH_TO_PHP', 'd:\xampp\php\php.exe');
Define('PATH_TO_MYSQLDUMP', SERVER_ROOT.'/mysql/bin/mysqldump.exe');
```

Соответственно сохраняем этот файл после внесенных изменений. Включаем в PHP сокеты в файле /php/php.ini

```

extension=sockets

```

Исправление простое - надо в пхп.ини вместо

extension=sockets сделать extension=sockets (удалить символ ;)

Напишем простой bat файл для запуска цикла и MajorDoMo вместе с xampp. К примеру у меня mjdm start.bat , ресположен в папке /xampp

Содержимое:
```
start диск:\путь к хамп\xampp-control.exe >nul

диск:\путь к хамп\php\php.exe диск:\путь к хамп\htdocs\cycle.php

```

У меня:

```

start d:/xampp/xampp-control.exe >nul rem Main system cycle start

1

d:\xampp\php\php.exe d:\xampp\htdocs\cycle.php goto 1

```

ТЕПЕРЬ ВСЕ Запускаем Мажордомо этим батником


ПОСЛЕ ЭТОГО ОБЯЗАТЕЛЬНЫЙ РЕБУТ КОМПА

После перезагрузки Запускаем локальный сервер созданным bat-файлом (запуск рекомендую от администратора) заходим по адресу: http://127.0.0.1/ Попадаем на начальную страницу настройки языка/времени: ![](https://connect.smartliving.ru/cms/data_images/1829_image.png) Если страница не открылась, можем открыть набрав: http://127.0.0.1//popup/first_start.html. После установки настроек переход на главную страницу majorDoMo. ![](https://connect.smartliving.ru/cms/data_images/1830_image.png)

Из папки scripts удаляем (переименоваем ненужные для запуска скрипты, в моем случае: cycle_connect.php, cycle_mqtt.php cycle_yadevices.php cycle_zigbee2mqtt.php cycle_zigbeedev.php cycle_db_save.php ![](https://connect.smartliving.ru/cms/data_images/1837_image.png)