Установка Asterisk 15 и FreePBX 14 из исходников на CentOS7
В рамках статьи будет рассмотрена сборка новейших на момент написания статьи релизов Asterisk и FreePBX. Так как с выходом FreePBX 14 его производители официально стали поддерживать Centos версии 7, то и в статье рассматривается установка на данную ОС.
На данный момент не рекомендуется использовать Asterisk 15 в «продакшн» в связи с тем, что вышел он совсем недавно и еще «сыроват».
1. Отключение Selinux и обновление системы
Перед началом необходимо выключить Selinux, сделать это можно любым из указанных ниже способов:
а) в файле /etc/selinux/config изменить значение параметра SELINUX= с enforsing на disabled
б) в файле /etc/sysconfig/selinux изменить значение параметра SELINUX= с enforsing на disabled (по сути файл selinux в директории /etc/sysconfig — это симлинк на /etc/selinux/config)
На данном этапе можно установить дополнительные репозитории пакетов: epel и wbtatic
Epel можно установить через yum командой yum -y install epel-release, а webtatic только скачиванием rpm пакета:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Далее следует обновить систему командой yum update
После завершения обновления необходимо перезагрузить сервер командой reboot
Чтобы убедиться что selinux отключен необходимо выполнить команду sestatus — она выводит состояние selinux
2. Установка зависимостей и необходимых утилит
Сначала необходимо создать пользователя asterisk:
adduser asterisk -m
Перед установкой непосредсвенно Asterisk+FreePBX, необходимо установить такие утилиты как:
— mysql в данном случае ставится amriadb
— веб-сервер — apache
— php версии 5.6, так как FreePBX c 14 версии официально объявили поддержку данной версии php
— nodejs
— lame — утилита кодирования аудио
— pjproject — при необходимости использовать pj-sip
— srtp — при необходимости шифрования RTP трафика
Групповая установка базовых необходимых инструментов выполняется командами:
yum groupinstall core
yum groupinstall base
yum groupinstall «Development Tools»
(возможно единой командой yum groupinstall core base «Development Tools»)
Установка mariadb и ODBC-коннектора, запуск и первичная настройка mysql
yum install mariadb mariadb-server unixODBC unixODBC-devel mysql-connector-odbc mariadb-devel
Для запуска базы данных необходимо выполнить команду systemctl start mariadb
Далее необходимо добавить в автозагрузку командой sytemctl enable mariadb.service
После этого необходимо произвести первичную настройку безопасности mysql, запустив команду mysql_secure_installation
Рекомендуемые действия после запуска:
— установить root-пароль на mysql
— удалить анонимных пользователей
— оключить удаленную авторизацию под root
— удалить тестовую базу и доступ к ней
Установка php необходимых зависимостей:
yum install php56w php56w-mbstring php56w-ldap php56w-intl php56w-mysql php56-pdo php56w-pear php56w-process php56w-xml php56-opcache php56w-ldap
Установка веб-сервера и его минимальная настройка для FreePBX:
yum install httpd
После этого установить в файле /etc/php.ini параметры:
— upload_max_filesize=120M
— date.timezone=“Europe/Moscow“
Запуск веб-сервера и помещение его в автозапуск
systemctl start httpd.service
systemctl enable httpd
Установка остальных зависимостей:
yum install libtool-ltdl-devel ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel kernel-devel kernel-headers git cronie cronie-anacron tftp-server цпуе uuid-devel sqlite sqlite-devel gnutls-devel python-devel texinfo libuuid-devel libxml2-devel libtool-ltdl libtool-ltdl-devel e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp audiofile-devel linx libogg-devel openssl-devel zlib-devel perl-DateManip sox git wget psmisc speex-devel gsm-devel libtool libtool-ltdl xmlstarlet libsrtp-devel crontabs subversion jansson-devel lame curl curl-devel corosync corosync-devel
Установка nodejs, так как в репозитории по умолчанию находится nodejs версии 1.6, а для FreePBX необходима версия nodejs 8, необходимо выполнить следующие команды:
curl -sL https://rpm.nodesource.com/setup_8.x | bash —
yum install nodejs
Скачивание необходимых пакетов исходников
Перейти в раздел /usr/src
cd /usr/src/
wget https://netix.dl.sourceforge.net/project/srtp/srtp/1.4.4/srtp-1.4.4.tgz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
Установка SRTP (если необходимо использовать)
tar zxvf srtp-1.4.4.tgz
Далее необходимо заменить в файле /usr/src/srtp/test/rtpw_test.sh строчку RTPW=rtpw на строчку RTPW=./rtpw
cd srtp
autoconf
./configure CFLAGC=-fPIC —prefix=/usr
make
make runtest
make install
Установка DAHDI
cd /usr/src/
tar zxvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
Установка Libpri
Информер2: данный модуль можно не устанавливать если не планируется использовать цифровые платы потока Е1)
cd /usr/src/
tar zxvf libpri-current.tar.gz
cd libpri-*
make
make install
Установка Asterisk 15
cd /usr/src/
tar zxvf tar zxvf asterisk-15-current.tar.gz
cd asterisk-15*
./contrib/scripts/get_mp3_source.sh
./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-pjproject-bundled
(также можно добавить следующие параметры, если требуется шифрование: —with-crypto —with-ssl=ssl —with-srtp)
make menuconfig — выбрать для установки необходимые модули (в основном можно оставить все по-умолчанию).
make
make install
make config
ldconfig
Необходимо убрать Asterisk из автозагрузки командой: chkconfig asterisk off, так как в дальнейшем автозапуск будет осуществляться через оснастку frepbx (fwconsole)
Перед установкой FreePBX в конфигурационный файл веб-сервера (/etc/httpd/conf/httpd.conf) необходимо добавить параметры:
User asterisk
Group asterisk
Для применения параметров необходимо перезапустить веб-сервер командой systemctl restart httpd.service
Установка FreePBX 14
cd /usr/src/
tar xvf freepbx-14.0-latest.tgz
cd freepbx
./start_asterisk start
Информер3: Если в консоли выведено сообщение Asterisk Started, значит все корректно и можно продолжать установку.
Для продолжения установки необходимо запустить скрипт командой
./install
Далее появятся различные запросы на внесение параметров установки — в квадратных скобках даны параметры по-умолчанию, почти на всех параметрах можно нажимать Enter, кроме запроса на root пароль к базе данных, в данном параметре нужно указать пароль, который был установлен на пользователя root базы данных при конфигурировании.
На этом установка завершена, далее следует создать юнит для автозагрузки FreePBX.
Для этого в директории /etc/systemd/system/ необходимо создать файл freepbx.service со следующим содержимым:
[Unit]
Description=FreePBX VoIP Server
After=mariadb.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start -q
ExecStop=/usr/sbin/fwconsole stop -q
[Install]
WantedBy=multi-user.target
Теперь можно управлять запуском freepbx как любым сервисом systemd
Запуск командой: systemctl start freepbx
Добавление в автозагрузку: enable freepbx.service
Для проверки статуса сервиса необходимо выполнить команду: systemctl enable freepbx.service
Теперь можно залогиниься на FreePBX 14 через веб-интерфейс, достаточно в браузере ввести ip-адрес сервера
После логина система выдаст страницу на которой необходимо будет внести данные об админимтраторе веб-интерфейса.
После внесения данных под указанным пользователем можно логиниться во FreePBX 14
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.
==>Для проверки статуса сервиса необходимо выполнить команду: systemctl enable freepbx.service
Возможно я не прав, но наверное «systemctl status freepbx.service»?