Скрипт автоматической установки и настройки MajorDoMo и FreeSWITCH под операционную систему Debian 10
Данный скрипт предназначен для
упрощения процесса установки и настройки,
системы домашней автоматизации MajorDoMo,
так же установки и настройки,
платформы VoIP телефонии FreeSWITCH.
Обязательно запуск скрипта выполняем из под пользователя root (запускаем терминал и входим в систему на которую будем устанавливать и настраивать, MajorDoMo и/или FreeSWITCH с логином и паролем root пользователя)
- Шаг.1 Скачиваем файлы скрипта в директорию
/root/*
командойwget https://github.com/x-guest/mjdmfs/raw/master/mjdmfs.zip
- Шаг.2 Распаковываем архив скаченного скрипта в директорию
/root/*
командойunzip mjdmfs.zip
- Шаг.3 Запускаем сам скрипт из директории
/root/*
командойsudo bash ./mjdmfs.sh
илиsudo bash /root/mjdmfs.sh
Ниже приведен в пример графическое отображение ваших пошаговых действий.
Все скаченные и распакованные файлы необходимы для корректной работы данного скрипта. После установки и настройки всех необходимых компонентов, файлы можно будет удалить из директории root/*
, список файлов приведен ниже.
/root/mjdmfs.sh
- Сам файл bash скрипта./root/freeswitch/vars.xml
- Файл конфигурации переменных FreeSWITCH./root/freeswitch/autoload_configs/modules.conf.xml
- Файл конфигурации модулей FreeSWITCH./root/freeswitch/autoload_configs/xml_rpc.conf.xml
- Файл конфигурации модуля XML RPC./root/freeswitch/sip_profiles/internal.xml
- Файл конфигурации внутреннего профиля FreeSWITCH.
Обратите внимание, весь процесс установки системы домашней автоматизации MajorDoMo, является полностью автоматическим и начнётся сразу без подтверждения действия после ввода значения предложенного в главном меню скрипта, пример графического отображения меню приведен ниже.
На данном этапе выбираем нужное нам значение, предложенное в меню (рис. выше с лево) путем ввода значения 2
(нажимаем клавишу 2
) что бы запустить установку MajorDoMo.
Если ранее устанавливали MajorDoMo на данную систему, скрипт обнаружит установленный сервис MajorDoMo и Вам будет предложено переустановить систему домашней автоматизации (рис. выше с право), соответственно для переустановки вводим значение 2
Обратите внимание, ввод значений ограничен, в случае ввода не правильного значения (отсутствующее в данном меню), будет отображено соответствующее сообщение об ошибке, в таком случае следуем подсказкам в появившемся сообщении, вводим любое значение затем вводим значения 2
для установки или переустановки системы домашней автоматизации MajorDoMo.
Весь процесс установки и настройки системы домашней автоматизации MajorDoMo займет ~30 минут, для оценки времени выполнения установки можно обратить внимание на лог хода установки, все выполняемые действия подписаны и пронумерованы от 1 до 93
, для визуального представления работы скрипта, ниже приведён в пример графического отображение процесса установки и настройки.
В процессе выполнения скрипта, установка приостановится и будет ожидать ввода с клавиатуры (рис. выше), ниже описаны причины и действия.
- ~20-й минута установка приостановится будет ожидать ввода libmcrypt prefix, следуйте подсказки в сообщении – просто нажмите
ENTER
установка продолжится. - ~25-я минута, на данном этапе установка приостановится будет ожидать ввода придуманного вами пароля, для конфигурации подключения к базе данных, следуйте подсказки в сообщении – введите
пароль
для подтверждения нажмитеENTER
установка продолжится.
Обратите внимание, весь процесс установки и настройки полностью автоматизирован и не требует Ваших действий, вплоть до ~20-й и ~25-й минуты установки с момента запуска, по завершению система автоматически перезагрузится.
После успешной установки воспользуйтесь любым браузером для входа в web интерфейс системы домашней автоматизации MajorDoMo, который будет доступен по IP адресу Вашего сервера (в адресной строке браузера введите http://ваш.ip.адрес.системы
).
- Web интерфейс vlc плейера, будет доступен по адресу:
http://ваш.ip.адрес.сервера:7070
Логин:пустой
Пароль:password
- Для конфигурации MQTT брокера используйте: Hostname:
localhost
Port:1883
- Для доступа к базе данных используйте: Логин:
root
Пароль:введенный вами на ~25-й минуте установки
.
Аналогично как с установкой MajorDoMo (см. выше), процесс установки является полностью автоматическим и начнётся сразу без подтверждения действия после ввода значения предложенного в главном меню скрипта, пример графического отображения меню приведен ниже.
На данном этапе выбираем нужное нам значение, предложенное в меню (рис. выше с лево) путем ввода значения 3
(нажимаем клавишу 3
) что бы запустить установку FreeSWITCH.
Если ранее устанавливали FreeSWITCH на данную систему, скрипт обнаружит установленный пакет FreeSWITCH и Вам будет предложено переустановить платформу VoIP телефонии FreeSWITCH (рис. выше с право), соответственно для переустановки вводим значение 3
.
Ввод значений ограничен, в случае ввода не правильного значения (отсутствующее в данном меню), будет отображено соответствующее сообщение об ошибке, в таком случае следуем подсказкам в появившемся сообщении, вводим любое значение затем вводим значения 3
для установки или переустановки платформы VoIP телефонии FreeSWITCH.
Обратите внимание, весь процесс установки полностью автоматизирован и займет ~20 минут.
В отличие от процесса установки системы домашней автоматизации MajorDoMo (см. выше) установка платформы VoIP телефонии FreeSWITCH не требует Ваших действий вообще (запустили скрипт установки и через ~20 минут, платформа VoIP телефонии FreeSWITCH готова к настройке), по завершению установки система автоматически перезагрузится.
Так же, как с процессом установки (см. выше), настройка является полностью автоматическим процессом и начнётся сразу без подтверждения действия после ввода значения предложенного в главном меню скрипта, пример графического отображения меню приведен ниже.
Обратите внимание, данный пункт меню будет доступен только если в системе будет установлена, платформа VoIP телефонии FreeSWITCH.
В ходе выполнения настройки конфигурации FreeSWITCH будут добавлены новые файлы на сервер, предыдущие версии файлов не будут удалены, они остаются в системе помеченными как файл.noload (переименованы).
На данном этапе выбираем нужное нам значение, предложенное в меню (рис. выше с лево) путем ввода значения 4
(нажимаем клавишу 4
) что бы запустить настройку FreeSWITCH.
Если ранее настраивали FreeSWITCH на данной системе, скрипт обнаружит настроенный web интерфейс FreeSWITCH и Вам будет предложено перенастроить платформу VoIP телефонии FreeSWITCH (рис. выше с право), соответственно для перенастройки вводим значение 4
.
Для представления самого процесса настройки ниже приведен в пример ход действий для возможности настройки платформы VoIP телефонии FreeSWITCH вручную.
Обратите внимание все действия приведенные ниже необходимо произвести только в том случае если НЕ БУДЕТЕ настраивать платформу VoIP телефонии FreeSWITCH с помощью данного скрипта т.е. будете настраивать в ручную. При запуске настройки скриптом, Важно! правильно произвести "① Запуск скрипта" (см. выше), все настроенные файлы будут закачены на Ваш сервер, при этом предыдущие версии файлов остаются в системе помеченными как файл.noload (переименованы).
- На чистом FreeSWITCH по умолчанию web интерфейс управления отсутствует, на данном этапе установим и настроим web интерфейс.
- Создаем и директорию и загружаем в нее файлы web интерфейса.
- Командой
mkdir /usr/share/freeswitch/htdocs/portal
создаем директорию usr»share»freeswitch/htdocs/portal - Скачиваем файлы PORTAL (web интерфейса) в директорию usr»share»freeswitch/htdocs/portal командой
git clone https://github.com/seven1240/FreeSWITCH-Portal.git /usr/share/freeswitch/htdocs/portal
.
- Командой
- Активируем необходимые системные модули, открываем файл etc»freeswitch»autoload_configs» 🞄modules.conf.xml для редактирования командой
sudo nano /etc/freeswitch/autoload_configs/modules.conf.xml
.- По умолчанию системные модули деактивированы (закомментированы), находим 4 строки:
- ①
<!-- <load module="mod_xml_rpc"/> -->
- ②
<!-- <load module="mod_xml_curl"/> -->
- ③
<!-- <load module="mod_httapi"/> -->
- ④
<!-- <load module="mod_say_ru"/> -->
- приводим их к следующему виду (если не нашли нужную строку - добавьте ее в конце файла до строки
</modules>
) - ①
<load module="mod_xml_rpc"/>
- ②
<load module="mod_xml_curl"/>
- ③
<load module="mod_httapi"/>
- ④
<load module="mod_say_ru"/>
- Настраиваем модуль XML RPC, открываем файл etc»freeswitch»autoload_configs» 🞄xml_rpc.conf.xml для редактирования командой
sudo nano /etc/freeswitch/autoload_configs/xml_rpc.conf.xml
.- Активируем web сокеты, находим строку
</settings>
перед ней вставляем следующею строку<param name = "enable-websocket" value = "true" />
. - Для деактивации ввода логина и пароля при входе в web интерфейс и выполнения GET/POST запросов, находим строки:
- ①
<param name="auth-realm" value="freeswitch"/>
- ②
<param name="auth-user" value="freeswitch"/>
- ③
<param name="auth-pass" value="works"/>
- приводим их к следующему виду
- ①
<!-- <param name="auth-realm" value="freeswitch"/> -->
- ②
<!-- <param name="auth-user" value="freeswitch"/> -->
- ③
<!-- <param name="auth-pass" value="works"/> -->
- Активируем web сокеты, находим строку
- Устраняем задержку в 10 секунд при наборе номера и устанавливаем Русский язык по умолчанию.
- Открываем файл etc»freeswitch» 🞄vars.xml для редактирования командой
sudo nano /etc/freeswitch/vars.xml
.- Меняем пароль для VoIP абонентов, находим строку
<X-PRE-PROCESS cmd="set" data="default_password=1234"/>
приводим ее к следующему виду<X-PRE-PROCESS cmd="set" data="default_password=1111"/>
. - Устанавливаем Русский язык по умолчанию, находим строку
<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
приводим ее к следующему виду<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/ru/RU/vika"/>
затем под ней добавляем строку<X-PRE-PROCESS cmd="set" data="default_language=ru"/>
. - Продолжаем устранять задержку в 10 секунд при наборе, находим строку
<X-PRE-PROCESS cmd="set" data="use_profile=external"/>
приводим ее к следующему виду<X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
- Изменяем регион по умолчанию, находим строку
<X-PRE-PROCESS cmd="set" data="default_country=US"/>
приводим ее к следующему виду<X-PRE-PROCESS cmd="set" data="default_country=RU"/>
- Если будете звонить наружу из FreeSWITCH измените код набора по умолчанию, находим строку
<X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
приводим ее к следующему виду<X-PRE-PROCESS cmd="set" data="default_areacode=375"/>
обратите внимание код "375" это Беларусь, вам надо вставить Ваш код региона.
- Меняем пароль для VoIP абонентов, находим строку
- Открываем файл etc»freeswitch»sip_profiles» 🞄internal.xml для редактирования командой
sudo nano /etc/freeswitch/sip_profiles/internal.xml
.- Продолжаем устранять задержку в 10 секунд при наборе, находим 2 строки
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
и<param name="ext-sip-ip" value="$${external_sip_ip}"/>
приводим их к следующему виду<param name="ext-rtp-ip" value="auto-nat"/>
и<param name="ext-sip-ip" value="auto-nat"/>
.
- Продолжаем устранять задержку в 10 секунд при наборе, находим 2 строки
- Web интерфейс FreeSWITCH, будет доступен по адресу:
http://ваш.ip.адрес.сервера:8080/portal/index.html
Вход в Web интерфейс FreeSWITCH без ввода логина и пароля - отключен при настройке по умолчанию Логин:
freeswitch
Пароль:works
- Системный пароль для VoIP абонентов так же изменен на новый
1111
- по умолчанию был1234
.