Установка asterisk 18 lts на centos 8

Базовая настройка и запуск

Открываем конфигурационный файл:

vi /etc/asterisk/asterisk.conf

Снимаем комментарии и редактируем следующие пункты:

runuser = asterisk
rungroup = asterisk
defaultlanguage = ru
documentation_language = ru_RU

Создаем учетную запись:

useradd asterisk -m

Задаем права на следующие каталоги:

chown -R asterisk:asterisk /var/run/asterisk

chown -R asterisk:asterisk /etc/asterisk

chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk

chown -R asterisk:asterisk /usr/lib64/asterisk

chown -R asterisk:asterisk /var/log/asterisk

и проверяем настройки:

asterisk -c

Если программа запустится, мы увидим Asterisk Ready:

* все ошибки и предупреждения можно проигнорировать, но правильнее их , отключив неиспользуемые модули.

Теперь можно запустить астериск как службу:

systemctl enable asterisk

systemctl start asterisk

Настройка межсетевого экрана и средства предотвращения вторжений

В ядре CentOS 8 по умолчанию используется межсетевой экран FirewallD, при этом настоящая инструкция предусматривает работу с iptables. Если вы предпочитаете использовать FirewallD, настройте его и пропустите данный раздел.

4.1. Деактивация FirewallD и активация iptables

systemctl stop firewalld
systemctl disable firewalld
systemctl enable iptables.service
systemctl start iptables.service

4.2. Подключение модулей iptables

Для обеспечения работы механизма динамического открытия портов RTP (SIP ALG), необходимо подключить дополнительные модули iptables:

sed -i 's/IPTABLES_MODULES=""/IPTABLES_MODULES="ip_conntrack iptable_filter iptable_mangle ipt_LOG ipt_limit ipt_state ipt_REJECT ip_conntrack_sip"/g' /etc/sysconfig/iptables-config

4.3. Настройка правил iptables

iptables -F INPUT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s <local network x.x.x.x/x> -j ACCEPT
iptables -A INPUT -s <management network x.x.x.x/x> -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT
iptables -A INPUT -p udp --dport 4569 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables-save > /etc/sysconfig/iptables

Примечания

  1. При отсутствии корректной поддержки SIP ALG на граничном маршрутизаторе, может потребоваться статическое открытие портов UDP для прохождения медиатрафика. Для этого следует добавить указанное ниже правило iptables:

  2. Точный набор правил зависит от перечня используемых протоколов.
  3. Защита от нежелательного трафика на уровне сервера является дополнительной. Предполагается, что основная защита обеспечивается на уровне сетевой инфраструктуры.

4.4. Настройка утилиты fail2ban

Отредактируйте файл и замените исходные строки в указанных ниже секциях приведенными ниже:

ignoreip = 127.0.0.0/24
ignoreip = <local network x.x.x.x/x>
banaction = iptables-multiport

enabled = true
logpath = /var/log/asterisk/security
maxretry = 3
bantime = 3600

enabled = true

Перезапустите fail2ban и добавьте его в автозапуск:

systemctl restart fail2ban
systemctl enable fail2ban

Настройка Asterisk в Ubuntu 16.04

Программа запускается от суперпользователя. Но нам нужно, чтобы ее можно было запустить ее от пользователя asterisk, а поэтому нужно выполнить еще несколько настроек. Так ваша система будет в большей безопасности. Для начала нужно остановить запущенный сервис:

groupadd asterisk
$ useradd -d /var/lib/asterisk -g asterisk asterisk

Дальше нам нужно изменить скрипт инициализации так, чтобы программа запускалась от имени нужного пользователя. Мы можем отредактировать файл /etc/default/asterisk вручную, но проще использовать такие команды:

sed -i «s/#AST_USER=»asterisk»/AST_USER=»asterisk»/g» /etc/default/asterisk
$ sed -i «s/#AST_GROUP=»asterisk»/AST_GROUP=»asterisk»/g» /etc/default/asterisk

Для того чтобы все работало правильно, пользователю asterisk нужно дать доступ ко всем каталогам программы:

chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk

Также укажем правильные настройки пользователя для полей runuser и rungroup в файле asterisk.conf:

sed -i «s/;runuser = asterisk/runuser = asterisk/g» /etc/asterisk/asterisk.conf

$ sed -i «s/;rungroup = asterisk/rungroup = asterisk/g» /etc/asterisk/asterisk.conf

Когда все будет готово запустите ранее остановленную службу или перезагрузите, если не останавливали:

sudo service asterisk start

Затем проверяем:

Если пользователь и группа — asterisk, а значит мы сделали все правильно.

Исправление ошибок

Рассмотрим процесс устранения предупреждений и ошибок во время запуска Asterisk.

Из-за неиспользуемых модулей

Для устранения данных проблем необходимо просто отключить данные модули.

Открываем файл:

vi /etc/asterisk/modules.conf

И в зависимости от ошибок, добавляем нижеперечисленные исправления…

Отключаем res_phoneprov:

noload => res_phoneprov.so

Отключаем res_config_ldap:

noload => res_config_ldap.so

Отключаем res_config_pgsql:

noload => res_config_pgsql.so

Отключаем cel_pgsql:

noload => cel_pgsql.so

Отключаем cel_tds:

noload => cel_tds.so

Другие ошибки

ari/config … No configured users for ARI

ARI предоставляет API для Asterisk REST Interface. В данном примере, отключаем поддержку:

vi /etc/asterisk/ari.conf

Находим параметр enabled и меняем его значение на no:

enabled = no

CentOS 7 установка на raid

Теперь рассмотрим наиболее сложный вариант установки. Мы будем ставить CentOS 7 на программный рейд. Для примера возьмем 2 диска и raid 1. Все установки будут такие же, как мы рассмотрели ранее, кроме одной — INSTALLATION DESTINATION.

Подключаем 2 диска к системе, загружаемся с установочного диска и идем в раздел разбивки диска. Видим 2 жестких диска. Выбираем оба и отмечаем пункт I will configure partition:

Жмем Done. Открывается немного кривое окно управления разделами жесткого диска.

Здесь мы первым делом удаляем все существующие разделы:

Должно получиться примерно так:

Нажимаем Done, когда закончим. В новом окне подтверждаем разбивку диска, нажимая Accept Сhanges:

Все остальные параметры выставляем как было рассказано выше. Теперь можно начинать установку CentOS 7 на программный raid, который мы только что создали.

Во время установки нужно указать пароль root, либо создать дополнительных пользователей. Пароль рекомендую установить, пользователей по необходимости.

После завершения установки на raid зайдем в систему и проверим состояние массива:

# df -h
# cat /proc/mdstat

Посмотрим информацию о корневом массиве:

# mdadm -D /dev/md126

Все в порядке, установка сервера закончена. Рейд раздел нормально функционирует, обеспечивая отказоустойчивость сервера.

Я очень рекомендую использовать софтовый raid линукса mdadm в повседневной деятельности. Он намного надежнее, понятнее и стабильнее встроенных в материнскую плату контроллеров. Отдавать предпочтение аппаратному рейду следует только в том случае, если он действительно аппаратный, он имеет батарейку и он действительно увеличивает производительность сервера. Во всех остальных случаях рекомендую пользоваться mdadm.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Автоматическое обновление системы

Для поддержания безопасности сервера на должном уровне необходимо как минимум своевременно его обновлять — как само ядро с системными утилитами, так и остальные пакеты. Можно делать это вручную, но для более эффективной работы лучше автоматизировать рутинные действия. Не обязательно устанавливать обновления автоматически, но как минимум проверять их появление. Я обычно придерживаюсь такой стратегии.

Для автоматической проверки обновлений нам поможет утилита yum-cron. Ставится она традиционно через yum из стандартного репозитория.

# yum install yum-cron

После установки создается автоматическое задание на выполнение утилиты в /etc/cron.daily и /etc/cron.hourly. По-умолчанию, утилита скачивает найденные обновления, но не применяет их. Вместо этого, администратору на локальный почтовый ящик root отправляется уведомление об обновлениях. Дальше вы уже в ручном режиме заходите и решаете, устанавливать обновления или нет в удобное для вас время. Мне такой режим работы видится наиболее удобным, поэтому я не меняю эти настройки.

Установите предпочитаемую среду рабочего стола

Теперь мы можем установить среду рабочего стола, которую будем использовать. В этом руководстве мы опробуем Xfce, MATE и GNOME.

Примечание: если вы не можете подключиться через Remote Desktop Connection после установки среды рабочего стола, откройте порт 3389/TCP с помощью команды firewall-cmd, упомянутой выше.

Установите рабочую среду XFCE

Xfce — одна из самых легких настольных сред. Она быстрая, потребляет мало системных ресурсов, но все же остается визуально привлекательной. Кроме того, у неё очень активное сообщество, поэтому доступно множество вариантов настройки.

Чтобы установить Xfce, выполните следующие команды:

Затем создайте файл .Xclients в каталоге пользователя, с помощью которого будет осуществлено подключение:

Теперь вы можете подключиться к серверу, используя Remote Desktop Connection. Вот как выглядит Xfce:

Скриншот №1. Xfce

Удаление Xfce

Чтобы удалить Xfce с вашего CentOS 7, выполните следующие команды:

Установите MATE Desktop Environment

Чтобы установить MATE, выполните следующие команды:

Затем создайте файл .Xclients в каталоге пользователя, с которым вы соединяетесь:

Теперь вы можете подключиться к серверу, используя Remote Desktop Connection. Вот как выглядит MATE:

Скриншот №2. MATE

Удаление MATE

Чтобы удалить MATE с CentOS 7, выполните следующие команды:

Установите GNOME Desktop Environment

Теперь попробуем установить GNOME 3. Для этого нам необходимо установить группу пакетов GNOME Desktop, которая установит все пакеты, необходимые для установки с графическим интерфейсом:

Это может занять некоторое время. На минимальной конфигурации дистрибутива CentOS 7 будет установлено около 1000 пакетов.

Запустите графический интерфейс

Хотя мы установили группу пакетов GNOME Desktop, графический интерфейс не будет загружаться по умолчанию при перезагрузке. Мы можем проверить это, запустив:

Вывод:

Если значением по умолчанию является multi-user.target, это означает, что графический интерфейс не будет загружен. Поменяем значение по умолчанию на graphical.target. Для этого выполните следующие команды:

Вывод:

Created symlink from /etc/systemd/system/default.target to usr/lib/systemd/system/graphical.target.

После этого выполните следующую команду, для незамедлительного перехода к графическому интерфейсу:

Теперь вы можете подключиться через xRDP к вашему CentOS 7 с помощью GNOME.

Вот как выглядит GNOME 3 при первом подключении после установки. Просто следуйте начальным шагам настройки, чтобы завершить настройку:

Скриншот №3. GNOME 3

Примечание: Если до момента установки графической оболочки GNOME Desktop для подключения к CentOS 7 использовались Xfce или MATE Desktop, выполните следующую команду:

Установка Freepbx 14 с php 5.6 на Centos 8

Для это­го под­клю­ча­ем репо­зи­то­рий remi и epel.

YAML

# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

1
2

# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Уста­нав­ли­ва­ем php 5.6

YAML

# dnf install php56 php56-php-fpm php56-php-pear php56-php-cgi php56-php-common php56-php-curl php56-php-mbstring php56-php-gd php56-php-mysqlnd php56-php-gettext php56-php-bcmath php56-php-zip php56-php-xml php56-php-json php56-php-process php56-php-snmp —skip-broken

1 # dnf install php56 php56-php-fpm php56-php-pear php56-php-cgi php56-php-common php56-php-curl php56-php-mbstring php56-php-gd php56-php-mysqlnd php56-php-gettext php56-php-bcmath php56-php-zip php56-php-xml php56-php-json php56-php-process php56-php-snmp —skip-broken

Php 5.6 в Centos 8 уста­нав­ли­ва­ет­ся в /opt. Кон­фиг php.ini лежит по адре­су /etc/opt/remi/php56/php.ini, кон­фиг пула /etc/opt/remi/php56/php-fpm.d/www.conf. Их нам надо так же отре­дак­ти­ро­вать, как и для 7-й вер­сии. Уве­ли­чить лими­ты и заме­нить поль­зо­ва­те­ля на asterisk. Читай­те об этом в раз­де­ле про настрой­ку web сервера.

Запус­ка­ет­ся php 5.6 командой:

YAML

# systemctl enable —now php56-php-fpm

1 # systemctl enable —now php56-php-fpm

Добавь­те path с php5.6 в окружение.

YAML

# source /opt/remi/php56/enable

1 # source /opt/remi/php56/enable

Что­бы после пере­за­груз­ки они сно­ва при­ме­ни­лись, добавь­те их в профиль.

YAML

# cat /opt/remi/php56/enable &gt;&gt; ~/.bash_profile

1 # cat /opt/remi/php56/enable &gt;&gt; ~/.bash_profile

Уста­но­ви­те пра­ва на дирек­то­рию с сес­си­я­ми php для поль­зо­ва­те­ля asterisk.

YAML

# chown -R asterisk. /var/opt/remi/php56/lib/php/session

1 # chown -R asterisk. /var/opt/remi/php56/lib/php/session

Даль­ше уста­нав­ли­ва­ет­ся точ­но так же Freepbx 14 и настраивается.

Шаг 2 — Установка сервера Web Nginx

Для показа веб-страниц посетителям мы будем использовать Nginx, современный и эффективный веб-сервер.

Установите Nginx с помощью следующей команды . Обязательно замените выделенное значение версией Nginx, которую вы хотите установить; самая последняя версия будет иметь самый большой номер в имени пакета ( на момент написания статьи):

После завершения установки запустите службу Nginx:

Проверьте, что Nginx запущен с помощью команды :

На данный момент ваш сервер может иметь уязвимость и позволять осуществлять несанкционированный доступ для неавторизованных пользователей. Чтобы устранить эту уязвимость, настройте брандмауэр с помощью firewalld. Возможно, вам потребуется сначала установить firewalld, воспользовавшись для этого следующей командой:

После этого вы сможете запустить службу firewalld:

Затем добавьте ряд правил брандмауэра, чтобы разрешить доступ SSH-доступ к вашему серверу и подключение через HTTP и HTTPS к Nginx:

Перезапустите firewalld для вступления в силу новых правил брандмауэра:

Подробнее о firewalld см. в статье Настройка брандмауэра с помощью FirewallD в CentOS 7.

После добавления этих новых правил брандмауэра вы можете проверить, запущен ли сервер, указав в браузере доменное имя вашего сервера или открытый IP-адрес.

Если у вас нет доменного имени, указывающего на ваш сервер, и вы не знаете открытый IP-адрес вашего сервера, вы можете найти его, введя в терминал следующую команду:

Введите полученный IP-адрес в адресную строку браузера, в результате чего вы должны увидеть используемую по умолчанию начальную страницу Nginx:

Если вы видите эту страницу, это значит, что вы успешно установили Nginx. Перед продолжением активируйте запуск Nginx при загрузке сервера с помощью следующей команды:

Сервер Nginx установлен, и теперь вы можете перейти к установке программного обеспечения для работы с базами данных MariaDB.

Установка Asterisk

Когда подготовка сервера завершена, начнем установку самого Asterisk. Скачайте самый свежий пакет с сайта разработчика в разделе Download, или воспользуйтесь командой wget.

root@centos-7 ~# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13.5.0.tar.gz

Распакуйте архив, перейдите в созданную папку и сконфигурируйте пакет перед сборкой:

root@centos-7 ~# tar -zxvf asterisk-13.5.0.tar.gz
root@centos-7 ~# cd asterisk-13.5.0
root@centos-7 asterisk-13.5.0# ./configure --libdir=/usr/lib64

Если все прошло успешно, вы увидите такой логотип в стиле ASCII Art:

Установка и настройка Freepbx

Скачиваем последнюю версию Freepbx с сайта разработчика.

# cd ~ && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz

Распаковываем исходники.

# tar xvfz freepbx-*.tgz

Переходим в каталог freepbx и запускаем скрипт проверки запуска asterisk.

# cd freepbx && ./start_asterisk start

Если не получили ошибок, то запускаем установку непосредственно FreePBX.

# ./install -n

Если получили ошибку php:

PHP Fatal error: Uncaught Error: Call to a member function connected() on null in /root/freepbx/amp_conf/htdocs/admin/libraries/BMO/Framework.class.php:180

Запустите установку еще раз

# ./install -n

Она должна пройти без ошибок, но freepbx не будет работать корректно, так как не сможет подключиться к asterisk. После повторной установки надо открыть конфиг /etc/asterisk/manager.conf и в конце строки

#include manager_additional.conf
#include manager_custom.conf

заменить на

;include manager_additional.conf
;include manager_custom.conf

И убедиться, что указан параметр secret с паролем amp111. Если это не так, отредактируйте строку.

secret = amp111

Если этого параметра вообще нет, то добавить в секцию . После этого надо еще раз запустить установку freepbx, в третий раз. После этого ошибок быть не должно и freepbx будет корректно работать.

Если все прошло без ошибок, то можно проверять работу Freepbx. Но перед этим отключим Firewall, если он у вас работает.

# systemctl stop firewalld && systemctl disable firewalld

Я не хочу в этой статье касаться его настройки. Подробно вопрос настройки firewall я рассмотрел отдельно. Там можно узнать все нюансы. Здесь же я прото скажу, что для начала нам нужно открыть 80-й порт, чтобы мы смогли работать с веб интерфейсом:

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Для полноценной работы астериск, нужно открыть следующие порты:

iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 5061 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5061 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 5038 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

Теперь можно запустить httpd.

# systemctl start httpd

Добавляем его в автозагрузку:

# systemctl enable httpd

На этом установка закончена Freepbx. Можно зайти браузером на страницу с ip адресом сервера. У меня это http://85.143.175.176 Открывается начальная страница freepbx, где нам предлагается создать нового пользователя:

Создаем пользователя и заходим в web интерфейс управления астериском:

Вот и все, дальше можно заниматься настройкой. Раньше следующим разделом шла информация по автозагрузке freepbx, но в данный момент эта информация неактуально. Отдельно автоазгрузку для freepbx настраивать не надо. Она по дефолту автоматически запускается при старте системы.

Установка GUI для Asterisk

1. Загрузка и настройка

Загрузите исходные файлы последней версии, используя svn. (yum install subversion)

root@centos-7 ~# cd /usr/src
root@centos-7 ~# svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui
root@centos-7 ~# cd asterisk-gui
root@centos-7 ~# ./configure
root@centos-7 ~# make
root@centos-7 ~# make install

Сделайте резервную копию файлов конфигурации. Для этого достаточно скопировать /etc/asterisk под другими именем:

root@centos-7 ~# cp -r /etc/asterisk /etc/asterisk.backup

Два файла измените вручную:

root@centos-7 ~# nano /etc/asterisk/manager.conf

Включите следующие настройки

enabled = yes
webenabled = yes

Теперь добавим нового пользователя в manager.conf:

administrator
secret = mypassword
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config

Теперь обновим конфиг http

root@centos-7 ~# nano /etc/asterisk/http.conf
enabled=yes
enablestatic=yes
bindaddr=0.0.0.0
bindport = 8088
prefix = gui
enablestatic = yes

bindaddr 0.0.0.0 означает, что вы можете получить доступ из любого места. Если вам требуется доступ только с локального компьютера, то тогда используйте адрес 127.0.0.1.

Проверьте конфигурацию Asterisk-GUI, выполнив из каталога /usr/src/asterisk-gui команду

root@centos-7 asterisk-gui#make checkconfig

2. Запуск asterisk-gui

Чтобы загрузить asterisk-gui, необходимо перезапустить Asterisk. Перезапустить сервер Asterisk можно из с консоли CLI, выполнив команду reload

Теперь вы можете использовать asterisk-gui через указанные адреса:

http://yoururl:8088/static/config/index.html

http://yoururl:8088/httpstatus  (для проверки состояния)

Источник two-it.ru

Что такое YUM?

YUM ( Yellowdog Updater Modified ) — это пакетный менеджер с открытым исходным кодом, разработанный в компании RedHat для работы с пакетами в формате RPM. С помощью него пользователи и системные администраторы могут устанавливать, удалять и обновлять пакеты в системах, основанных на RedHat.

Программа распространяется под лицензией GPL (General Public License) и любой пользователь может получить доступ к исходникам или даже улучшить код. Пакетный менеджер поддерживает подключение сторонних репозиториев и разрешение зависимостей для установки пакетов. Для улучшения работы Yum могут быть загружены различные плагины.

Утилита работает в консоли, а ее синтаксис очень прост:

$ sudo yum опции команда имя_пакета

Сначала рассмотрим основные команды пакетного менеджера:

  • install — установить пакет;
  • update — обновить пакет или систему;
  • update-to — обновить пакет до версии;
  • update-minimal — обновлять только исправления ошибок;
  • upgrade — полное обновление с обработкой дополнительных возможностей пакетов и их зависимостей;
  • distro-sync — синхронизировать состояния системы или пакета с репозиторием. Например, если была установлена версия пакета 4, а в репозитории только 3, то будет выполнено понижение версии;
  • remove — удалить пакет;
  • autoremove — очистить больше ненужные пакеты;
  • list — показать список пакетов;
  • provides — поиск пакета по функциональности;
  • search — поиск пакета по имени;
  • info — информация о пакете;
  • clean — очистить кэш пакетного менеджера;
  • groups — управление группами пакетов;
  • reinstall — переустановить пакет;
  • downgrade — понизить версию пакета;
  • deplist — вывести все зависимости пакета;
  • repolist — отобразить список репозиториев;
  • fssnapshot — управление снимками состояния системы;
  • check — проверить базу данных пакетов на целостность.

Еще рассмотрим дополнительные опции, которые могут вам понадобиться когда будет выполняться установка rpm CentOS:

  • -y — всегда отвечать на вопросы утилиты утвердительно;
  • -q — минимальный вывод;
  • -v — максимальный вывод;
  • -С — работать из кэша;
  • -x — игнорировать пакет.

Теперь вы знаете все основные возможности утилиты, рассмотрим некоторые примеры работы с ней.

Yandex mirror для CentOS

mirror.yandex.ru — сайт компании Яндекс, зеркало репозитариев популярных дистрибутивов Linux, FreeBSD и других проектов, в том числе CentOS. Работает по протоколам HTTP, FTP и rsync.

На зеркале CentOS можно скачать дистрибутивы всех актуальных на текущий момент версий, а это версии 5, 6 и 7. Зеркало можно использовать в качестве источников стандартных репозиториев системы — base, updates, extras, centosplus.

Можно использовать, что я неоднократно делал, yandex mirror для сетевой установки CentOS. Путь к установочному образу: http://mirror.yandex.ru/centos/7/os/x86_64/images/

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Доступ в web интерфейс Freepbx

Переходим в браузере по ip адресу или доменному имени сервера и создаем учетную запись администратора Freepbx. При первом заходе в 14-ю версию я увидел ошибку.

Текст ошибки.

Whoops \ Exception \ ErrorException (E_DEPRECATED)
Methods with the same name as their class will not be constructors in a future version of PHP; gui_hidden has a deprecated constructor in /var/www/html/admin/libraries/components.class.php on line 571

Насколько я понял, это сообщение о том, что используется какая-то конструкция, которая объявлена Deprecated и скоро не будет работать. Что с этим делать сейчас, я не понял. Нашел баг репорт с этой ошибкой — https://issues.freepbx.org/browse/FREEPBX-19941 Он почему-то отклонен, помещен как дублирующий, но найти эту же ошибку в трекере я не смог.

Если взять версию php 5.6, то там этой ошибки не будет. Freepbx 14 официально поддерживает только 5.6, но откатываться на нее совсем не хочется.

Я решил просто отключить обработчик ошибок bootstrap. Для этого открываем конфиг freepbx и добавляем туда новое значение.

# mcedit /etc/freepbx.conf
$bootstrap_settings = false;

Заходим в web интерфейс freepbx еще раз и создаем администратора.

Потом, используя созданную учетку, логинимся в панель и указываем начальные настройки. Рекомендую выбрать английский язык. Как я уже говорил, перевод на русский так себе, с ним иногда бывает сложно понять суть настроек.

После этого оказываетесь в веб панели Freepbx. Нажмите сверху на Dashboard и увидите сводную информацию по системе. Теперь можно начинать ее настройку, но это тема отдельной статьи. Возможно, до нее у меня когда-нибудь дойдут руки.

Устанавливаем Jansson и pjsip

YAML

# cd ~
# git clone https://github.com/akheron/jansson.git
# cd jansson
# autoreconf -i
# ./configure —prefix=/usr/
# make &amp;&amp; make install

1
2
3
4
5
6

# cd ~
# git clone https://github.com/akheron/jansson.git
# cd jansson
# autoreconf -i
# ./configure —prefix=/usr/
# make &amp;&amp; make install

YAML

# cd ~
# git clone https://github.com/pjsip/pjproject.git
# cd pjproject
# ./configure CFLAGS=»-DNDEBUG -DPJ_HAS_IPV6=1″ —prefix=/usr —libdir=/usr/lib64 —enable-shared —disable-video —disable-sound —disable-opencore-amr
# make dep &amp;&amp; make &amp;&amp; make install
# ldconfig

1
2
3
4
5
6

# cd ~
# git clone https://github.com/pjsip/pjproject.git
# cd pjproject
# ./configure CFLAGS=»-DNDEBUG -DPJ_HAS_IPV6=1″ —prefix=/usr —libdir=/usr/lib64 —enable-shared —disable-video —disable-sound —disable-opencore-amr
# make dep &amp;&amp; make &amp;&amp; make install
# ldconfig

Installing Asterisk PBX on CentOS 8:

Now, you can start setup of PBX software from extracted directory.

# ./configure --libdir=/usr/lib64 --with-jansson-bundled

The next step in the build process is to tell Asterisk installer, which modules to compile and install, as well as set various compiler options. These settings are all controlled via a menu-driven system called Menuselect. To access the Menuselect system, execute the following command.

# make menuselect

Select the required addons/modules that you want to install with the PBX server.

Compile and build the Asterisk VoIP software based on the above configurations.

# make
...
Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+

Install the Asterisk VoIP software on your Linux server.

# make install
...
 +---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 + For generic reference documentation:      +
 +    make samples                           +
 +                                           +
 + For a sample basic PBX:                   +
 +    make basic-pbx                         +
 +                                           +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +               make progdocs               +
 +                                           +
 + **Note** This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+

Install sample configuration files as follows.

# make samples

Install Asterisk sample files to configure basic PBX.

# make basic-pbx

Пункт третий. Устанавливаем ПО для пользователей телефонии.

Как известно, FreePBX предназначен для администрирования системы телефонии. Его использует системный администратор для настройки. Директор и секретарь, а также другие руководители каждый день работают со статистикой звонков и записями разговоров. Для этих целей FreePBX им не подойдет. Пользователь в IT не разбирается. Часто это неуверенный пользователь ПК. Поэтому ему нужна русифицированная интуитивно понятная программа.

По моему мнению, наиболее соответствует этим критериям программа HelloAsterisk. Программа имеет бесплатную версию. В этой бесплатной версии огромное количество нужных функций. Есть и платные функции. Описание можно найти на официальном сайте программы.

Я приведу видео обзор одной из бесплатных функций HelloAsterisk:

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: