Home » Linux » CentOS » Установка asterisk и freepbx на CentOS 7

Установка asterisk и freepbx на CentOS 7

Все большую популярность набирает современная телефонная связь по протоколу ip в офисах сферы малого и среднего бизнеса. Установка asterisk и панели управления freepbx на сервер под управлением CentOS 7 тема моего очередного повествования. Мы последовательно выполним все шаги по конфигурированию и сборке исходных текстов устанавливаемых продуктов.

Если вы еще не определились, как вам лучше настраивать и использовать астериск, рекомендую мою статью по базовой настройке asterisk для нужд малого и среднего офиса. Рассмотрен основной функционал, который необходим для эффективной работы. Инструкция подробная, по шагам, от и до: от установки до записи разговоров и статистики звонков.

Введение

Asterisk — бесплатное решение для организации voip телефонии. Он обладает всеми возможностями обычных АТС, но предоставляет более богатый функционал по управлению звонками. За относительную простоту настройки, по сравнению с цифровыми АТС, бесплатность и широкие возможности он и снискал такую популярность.

Freepbx — бесплатный веб интерфейс для управления астериском. Он существенно упрощает работу с конфигурациями, позволяет выполнять некоторые функции людям, вообще далеким от астериска. Например, с его помощью практически любого можно научить управлять учетными записями пользователей.

Лично я больше люблю настраивать asterisk с помощью freepbx, нежели ручной правкой конфигов. Их очень много, они объемные, работать с ними не удобно. Это практически единственный софт в линуксе, который я настраиваю через GIU, во всех остальных случаях я предпочитаю консоль.

Подготовка системы

Я рекомендую ознакомиться с моим материалом на тему первоначальной настройки centos 7. Многие вопросы там рассмотрены подробнее, здесь же я не буду на них задерживаться, просто выполню необходимые команды.

Прежде чем мы начнем устанавливать asterisk, нам надо выполнить целый ряд подготовительных действий. Первым делом отключаем selinux. Для этого открываем файл:

# mcedit /etc/sysconfig/selinux

и устанавливаем значение SELINUX=disabled. После этого перезагружаем сервер:

# reboot

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

Дальше обновляем систему:

# yum -y update
# yum -y groupinstall core base "Development Tools"

Устанавливаем необходимые пакеты для работы сервера voip:

# yum -y install lynx mariadb-server mariadb php php-mysql php-mbstring tftp-server httpd ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel sqlite-devel net-tools gnutls-devel php-pear

Устанавливаем компонент pear:

# pear install Console_Getopt

Теперь надо настроить iptabes. Подробно вопрос настройки 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

Для работы freepbx необходима mariadb. Это популярный форк mysql, который по-умолчанию предлагается в качестве mysql сервера в CentOS 7. Оба эти сервера имеют полную совместимость и могут в любой момент заменять друг друга. Запустим базу и добавим в автозагрузку:

# systemctl enable mariadb.service
# systemctl start mariadb

При первоначальной конфигурации mariadb рекомендуется запустить скрипт mysql_secure_installation. Сделаем это:

# /usr/bin/mysql_secure_installation

Подробнее о работе этого скрипта и вообще настройке mariadb можно прочитать в материале на тему web-сервера на centos 7.

Важное замечание. На этапе настройки mariadb не указывайте пароль root. Он должен быть пустым. Если его задать, то стандартная установка freepbx закончится ошибкой и сообщением: Error! Invalid Database Permissions. The error was: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)

Мы же двигаемся дальше. Для работы freepbx необходим веб сервер. В этом качестве у нас будет выступать httpd. Запускаем его:

# systemctl start httpd

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

# systemctl enable httpd

Теперь добавим пользователя, под которым будет работать астериск:

# adduser asterisk -M -c "User for voip"

Установка Asterisk

Приступаем непосредственно к установке asterisk. Она состоит из нескольких этапов. Сначала мы собираем и устанавливаем все, что нужно для полноценной работы астериск, и в конце собираем его. Первым делом скачиваем необходимые компоненты:

# cd /usr/src
# 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-13-current.tar.gz
# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz
# wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2

Устанавливаем DAHDI — драйверы для плат производства Digium:

# tar xvfz dahdi-linux-complete-current.tar.gz
# tar xvfz libpri-1.4-current.tar.gz
# cd dahdi-linux-complete-*
# make all

Если получаете ошибку:

You do not appear to have the sources for the 3.10.0-123.el7.x86_64 kernel installed

То тут 2 варианта:

  1. Вы сделали обновление системы и не перезагрузили сервер. У вас отличаются значения ядра в выводе команды uname -r и реальным ядром системы в /usr/src/kernels. В таком случае вам нужно просто перезагрузить сервер.
  2. Если дело не в обновлении и разных версиях ядра, то сделайте символьную ссылку на kernel в папке с dahdi:
# ln -s /usr/src/kernels/3.10.0-123.el7.x86_64 /usr/src/dahdi-linux-complete-2.10.2+2.10.2/build

Не забудьте исправить пути на свои, версия dahdi и ядра скорее всего будет другая. Снова запускаете сборку:

# make all
Если по какой-то причине у вас все равно не собирается dahdi, а текст ошибок не очень информативный и в интернете ничего не получается найти по этой ошибке, попробуйте установить более старую версию, для начала предыдущую. Взять ее можно тут. Я сталкивался с подобной ситуацией и этот путь помог выполнить установку успешно. А с последней версией dahdi не получалось.

Если все проходит без ошибок, то продолжаем сборку:

# make install
# make config

Устанавливаем libpri — библиотеку, предназначенную для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface).:

# cd /usr/src/libpri-1.4.*
# make
# make install

Выполняем установку pjproject — open source библиотеку для разработки VoIP приложений на различных платформах:

# cd /usr/src
# tar -xjvf pjproject-2.4.tar.bz2
# cd pjproject-2.4
# CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr --libdir=/usr/lib64
# make dep
# make
# make install

Устанавливаем jansson — библиотеку на С для кодирования и декодирования JSON данных:

# cd /usr/src
# tar vxfz jansson.tar.gz
# cd jansson-*
# autoreconf -i
# ./configure --libdir=/usr/lib64
# make
# make install

И наконец компилируем и устанавливаем asterisk:

# cd /usr/src
# tar xvfz asterisk-13-current.tar.gz
# cd asterisk-*
# contrib/scripts/install_prereq install
# ./configure --libdir=/usr/lib64
# contrib/scripts/get_mp3_source.sh
# make menuselect

Появляется псевдографическая менюшка с выбором модулей. Все необходимые модули уже включен по-умолчанию. Добавим только поддержку mp3, либо, если вам необходимо app_mysql и cdr_mysql:

установка asterisk

Нажимаем Save & Exit и продолжаем установку:

# make
# make install
# make config
# ldconfig
# chkconfig asterisk off

Устанавливаем звуки в хорошем качестве. По-умолчанию астериск ставит звуки низкого качества, чтобы система успешно работала на различном оборудовании. К примеру, на Rasberry Pi. Но на полноценный сервер мы можем установить звуки 8khz wav и G722 High Definition Wideband:

# cd /var/lib/asterisk/sounds
# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
# tar xvf asterisk-core-sounds-en-wav-current.tar.gz
# tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz
# tar xfz asterisk-extra-sounds-en-g722-current.tar.gz
# tar xfz asterisk-core-sounds-en-g722-current.tar.gz

Выставляем необходимые права на файлы и каталоги:

# chown asterisk. /var/run/asterisk
# chown -R asterisk. /etc/asterisk
# chown -R asterisk. /var/{lib,log,spool}/asterisk
# chown -R asterisk. /usr/lib64/asterisk
# chown -R asterisk. /var/www/

На этом установка непосредственно астериска закончена. Уже сейчас им можно полноценно пользоваться, настраивая через консоль и файлы конфигурации. Все компоненты для этого собраны, установлены и готовы к работе.

Установка Freepbx

Приступим к установке web панели управления для астериск — Freepbx. Вначале делаем несколько полезных настроек. Увеличиваем максимальный размер файла для загрузки через web сервер до 120М:

# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini

Настраиваем запуск httpd от пользователя asterisk:

# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf

Изменяем параметр AllowOverride на All:

# sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf

Перезапускаем веб сервер:

# systemctl restart httpd

Скачиваем и устанавливаем freepbx:

# cd /usr/src
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
# tar xfz freepbx-13.0-latest.tgz
# cd freepbx
# ./start_asterisk start
# ./install -n

Если все прошло без ошибок, то в завершении установки увидите:

установка freepbx

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

freepbx-login

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

asterisk-web-interface

Вот и все, дальше можно заниматься конфигурированием.

Заключение

В данной инструкции мы аккуратно собрали все необходимые компоненты для настройки связки asterisk+freepbx на сервере CentOS 7. Скачали последние версии софта, собрали его из исходников и установили. Таким образом мы полностью подготовили сервер к конфигурированию телефонии. Если сервер будет смотреть в интернет, нужно обязательно не забыть аккуратно настроить firewall и хотя бы fail2ban для обеспечения минимальной, хотя в большинстве случаев и вполне достаточной, защиты.

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

Видео

В завершение видео со всем процессом установки:


Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по CentOS

Рекомендую полезные материалы по CentOS:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка времени
  • Настройка сети
  • Настройка репозиториев
  • Настройка iptables
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел.
Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования.
Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое.
Подробное описание настройки сети в CentOS 7 - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Установка репозиториев epel, rpmforge и др. Добавление, удаление, обновление rpm репозиториев в CentOS.
Рассмотрены основные моменты настройки iptables в Centos 7 - установка, добавление правил, проброс портов, nat, логирование и д.р.
Настройка программных комплексов
 
  • Прокси сервер
  • Шлюз
  • Asterisk
  • Asterisk+Freepbx
  • Сервер VPN
  • Web сервер Apache
  • Web сервер Nginx
  • Почтовый сервер
Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid+AD+sams2, реализован запрет доступа по url и группам пользователей.
Простая и быстрая настройка шлюза на базе CentOS 7 для организации доступа в интернет из локальной сети.
Описание установки и настройки asterisk - популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии.
Подробное описание установки voip сервера asterisk и панели управления freepbx на CentOS 7.
Установка и настройка OpenVPN сервера на CentOS для объединения офисов и подключения удаленных пользователей
Настройка web сервера CentOS 7 на базе связки http сервера apache, php и сервера db mysql, или коротко - установка lamp.
Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.
Описание установки и настройки почтового сервера postfix на основе сборки iRedMail на CentOS 7. Обзор основных возможностей и рекомендации по настройке.
Настройка отдельных программ
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
Видео и подробное описание установки и настройки Zabbix 3.2, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание установки и настройки панели управления phpmyadmin на веб сервер apache и nginx под управлением Centos 7.
Подробное описание установки и настройки Webmin на CentOS 7 для удаленного подключения и управления сервером.
Подробное описание установки языка Ruby последней версии на веб сервер под управлением CentOS 7.
Подробное описание установки или обновления php 7 на CentOS 7. Рассмотрен вариант отката обновления и возврата на php 5.6 или 5.4.
Подробное описание с видео установки и настройки ftp сервера vsftpd, примеры с локальными и виртуальные пользователями в mysql.
Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование.
Установка Unison в CentOS 7 для двухсторонней синхронизации файлов.
Инструкция по установке и настройке сервера мониторинга Observium на CentOS 7. В качестве примера в конце добавлено одно устройство для мониторинга.
Разное
  • Настройка ssl в Apache
  • Бэкап с помощью rsync
Настройка работы веб сервера apache с виртуальными хостами по протоколу https с использованием бесплатного ssl сертификата.
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.

31 комментарий

  1. могу задать пару вопросов ?

    • Можно, конечно. Комментарии для этого и открыты.

      • спасибо за такой расширенное объяснение !

        у меня вопрос есть: у меня на машине имеется 3 (три) сетевые карты (разные сети)
        1. смотрит на поставщика услуг телефонии ip 108.125.0.1
        2. смотрит на трубки 192.168.1.250
        3.под меня для администрирования 192.168.0.106 — он же выход в инет

        после установки астер,PBX и после перезагрузки пропадает соединение с поставщиком телефонии и Web-Server тоже падает.

        что не так?

        • Так даже не знаю, что ответить. Установка астериска и pbx никаким образом не влияет на текущие соединения системы. Это просто софт, он не управляет этими параметрами.

          Тут надо разбираться. Смотреть логи, почему веб сервер падает. Что со связью с телефонией. Мне еще не совсем понятно, что значит первый линк для телефонии, а третий выход в интернет. А первый разве в интернет не выходит для связи с телефонией?

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

  2. Написал свой контакт на почту, которая указана в регистрации на сайте.

  3. Подскажите пожалуйста, при установки freepbx на последнем шаге ./install -n выходит ошибка » Error ! Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section» . Система Linux CentOS-DOM.ru 3.10.0-327.4.4.el7.x86_64 #1 SMP Tue Jan 5 16:07:00 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    Зарание благодарен.Спасибо.

    • По адресу /etc/asterisk/asterisk.conf сам файл то на месте? Возможно астериск по какой-то причине не установился.

      • Сам файл asterisk.conf лежит в указанном месте с дефолтными настройками . Установка Asterisk прошла штатно. Устанавливал на VirtualBox под CentOS 7.

    • Доброе время суток. Centos 7 с последними обновлениями. VMware Workstation.

      У меня тоже вышла ошибка на последнем шаге установки Freepbx ./install -n
      «Reading /etc/asterisk/asterisk.conf…Error!
      Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section»
      Файл лежит на указанном месте с правами 644, для чтения доступен. Владелец asterik, как пользователь, так и группа.
      Выставила на него права 777, ошибка осталась.
      Астериск запускала командой /start_asterisk start

      STARTING ASTERISK
      Asterisk is already running.
      Ошибок нет. где можно лог посмотреть? В рунете решения, да и самой ошибки нет, кроме как в комментарии к вашей статье, в англонете есть, но ответ не понятен…

      «Full error:
      Reading /etc/asterisk/asterisk.conf…Error!
      Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section
      This occurs after entering the ./install -n command

      Using both most current versions via git and tarball.

      Looking in the directory I see asterisk.conf is there and owned by Asterisk (running as root)

      И, собственно, решение:
      Solved. It was a (!) in the file».

      Ищу решение, принимаю любые догадки. Очень хочу русский веб-интерфейс, GUI от Астериска пользовалась, больше не буду )))

      • Заинтриговали ответом из буржунета. Я не смог догадаться о решении по написанному. К сожалению, у меня нет возможности проверять после написания все мои статьи. Со временем они устаревают. Если найду возможность, проверю эту в ближайшее время.

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

        • Zerox, не бейте тапками, установила вот по этой инструкции http://a-rm.ru/materials/unix-servera/ustanovka-freepbx13-asterisk13-na-centos7, все работает.

          Это вам на заметку, когда надумаете осуществить свою задумку по обновлению цикла статей.

          Поюзала Freepbx, и поняла, что родной GUI не так уж и плох, сделаю по нему инструкцию в ближайшую неделю, для меня тема актуальна, будет нужно вам — поделюсь. Я с Сентосом знакомиться начала по вашим мануалам. Вы — молодец! Спасибо!

      • Решено.
        переместил /etc/asterisk/asterisk.conf
        запустил install без ключей

  4. Хорошая статья, спасибо. Возможно стоит добавить про необходимость установки пакетов gcc и gcc-c++, без них make не алё.

  5. Александр

    Добрый день! При попытке внести изменения Apache? вводе команд:
    sed -i ‘s/^\(User\|Group\).*/\1 asterisk/’ /etc/httpd/conf/httpd.conf
    и др. выдаётся ошибка:
    -bash: s/^(User|Group).*/1: Нет такового файла или каталога
    sed: -e выражение #1, символ 7: лишние символы после команды

    Сиснтаксис ввода команд проверял, пользователь Asterisk создан, данный файл в системе присутствует. В чем дело?

  6. Станислав

    В фаервол два раза одно правило прописали.
    iptables -A INPUT -p tcp -m tcp —dport 5038 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp —dport 5038 -j ACCEPT
    Видимо, во второй строке UDP должно было быть. А AMI вообще использует UDP? Или это для чего-то еще порт?

    • Да, по логике вещей должно быть UDP. Я уже не помню, что это за порт. Сам всегда использую голый астериск, без панелей управления.

      • Станислав

        -m udp еще в том правиле.
        Вообще, я тут погуглил, что это за ключ, нашел, что это дополнительные критерии. Что за критерии я таки не понял, но нигде не видел, чтобы в качестве них использовали tcp или udp. Но iptables не ругнулся. Ради интереса попробовал без этого добавить правило, тоже добавилось. При этом, в таблицу все равно добавилось правило с -m udp. Ну да ладно…

  7. Станислав

    У кого конфигов в /etc/asterisk нет, сделайте
    # make samples
    из директории с исходниками (/usr/src/asterisk-что-то-там)

  8. Хотел собрать по твоей инсрукции CentOS+Asterisk+PBX
    Ставил на VBox. Всё по пунктам строго. На стадии псевдографического меню начались танцы, собственно меню не появилось. (3 попытки с самого начала) но в сообщениях было всё ОК.
    Решил продолжить так как ошибок не выдавалось.
    Закончилось как у тебя на картинке //serveradmin.ru/wp-content/uploads/2015/10/install-freepbx.png (типа всё ок)
    но через веб интерфейс не подключается!
    Два дня танцев с бубном не помогли!
    Вот думаю это глюк VBox или как?
    Взял другой ISO. Уже собранный!
    Дистрибутив FreePBX-32bit-10.13.66 встал отлично как дети в школу с первого раза!
    Видимо не судьба на виртсервер установить по этой инструкции!

    • Возможна она устарела. К сожалению, сейчас постоянно все обновляется и материалы очень быстро становятся неактуальными. Что с этим делать лично я не знаю, делаешь пустую работу. Проходит какое-то время и все надо проверять, переделывать. Такая особенность ИТ сферы.

  9. Привет! Я, собственно, начинающий и разбираюсь урывками. При установке указал пароль root, который указывать не надо было. Так вот вопрос — что теперь делать? Гугл не помог, возможно гуглю не то… Уж простите за тупые вопросы…

    • Вот эта ошибка «Важное замечание. На этапе настройки mariadb не указывайте пароль root. Он должен быть пустым. Если его задать, то стандартная установка freepbx закончится ошибкой и сообщением: Error! Invalid Database Permissions. The error was: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)»

    • Если не разбираешься, то проще всего и быстрее начать все заново.

  10. Здравствуйте.
    Я ставил FreePBX по вашей инструкции на уже поднятый сервер с астериском. Всё установилось, нигде ошибок не выявлено. Но на веб-морду не заходит, при попытке зайти на ip-адрес сервера после адреса добавляется «/admin/config.php» и выдаёт «HTTP Error 500».
    Насколько я понял, что-то не так с правами, но я на всю папку www давал права 0755 и 0777, не помогает.
    Подскажите, в чём может быть проблема?

    P.S. Шикарный сайт, очень много полезной информации, огромное спасибо.

    • Вот логи httpd:
      [Mon Jan 16 01:37:54.596291 2017] [:error] [pid 19293] [client 192.188.0.108:64033] PHP Warning: include_once(/etc/freepbx.conf): failed to open stream: Permission denied in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:37:54.596370 2017] [:error] [pid 19293] [client 192.188.0.108:64033] PHP Warning: include_once(): Failed opening ‘/etc/freepbx.conf’ for inclusion (include_path=’.:/usr/share/pear:/usr/share/php’) in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:37:54.596427 2017] [:error] [pid 19293] [client 192.188.0.108:64033] PHP Fatal error: Class ‘FreePBX’ not found in /var/www/html/admin/config.php on line 130
      [Mon Jan 16 01:37:54.596494 2017] [:error] [pid 19293] [client 192.188.0.108:64033] PHP Warning: Unknown: open(/var/lib/php/session/sess_c0j56aosfotpa0go3s3la0dik5, O_RDWR) failed: Permission denied (13) in Unknown on line 0
      [Mon Jan 16 01:37:54.596513 2017] [:error] [pid 19293] [client 192.188.0.108:64033] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
      [Mon Jan 16 01:38:04.446076 2017] [:error] [pid 19289] [client 192.188.0.108:64035] PHP Warning: include_once(/etc/freepbx.conf): failed to open stream: Permission denied in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:38:04.446138 2017] [:error] [pid 19289] [client 192.188.0.108:64035] PHP Warning: include_once(): Failed opening ‘/etc/freepbx.conf’ for inclusion (include_path=’.:/usr/share/pear:/usr/share/php’) in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:38:04.446189 2017] [:error] [pid 19289] [client 192.188.0.108:64035] PHP Fatal error: Class ‘FreePBX’ not found in /var/www/html/admin/config.php on line 130
      [Mon Jan 16 01:38:04.446287 2017] [:error] [pid 19289] [client 192.188.0.108:64035] PHP Warning: Unknown: open(/var/lib/php/session/sess_c0j56aosfotpa0go3s3la0dik5, O_RDWR) failed: Permission denied (13) in Unknown on line 0
      [Mon Jan 16 01:38:04.446308 2017] [:error] [pid 19289] [client 192.188.0.108:64035] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
      [Mon Jan 16 01:38:05.342712 2017] [:error] [pid 19290] [client 192.188.0.108:64036] PHP Warning: include_once(/etc/freepbx.conf): failed to open stream: Permission denied in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:38:05.342787 2017] [:error] [pid 19290] [client 192.188.0.108:64036] PHP Warning: include_once(): Failed opening ‘/etc/freepbx.conf’ for inclusion (include_path=’.:/usr/share/pear:/usr/share/php’) in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:38:05.342850 2017] [:error] [pid 19290] [client 192.188.0.108:64036] PHP Fatal error: Class ‘FreePBX’ not found in /var/www/html/admin/config.php on line 130
      [Mon Jan 16 01:38:05.342967 2017] [:error] [pid 19290] [client 192.188.0.108:64036] PHP Warning: Unknown: open(/var/lib/php/session/sess_c0j56aosfotpa0go3s3la0dik5, O_RDWR) failed: Permission denied (13) in Unknown on line 0
      [Mon Jan 16 01:38:05.342994 2017] [:error] [pid 19290] [client 192.188.0.108:64036] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
      [Mon Jan 16 01:38:06.103914 2017] [:error] [pid 19291] [client 192.188.0.108:64037] PHP Warning: include_once(/etc/freepbx.conf): failed to open stream: Permission denied in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:38:06.103990 2017] [:error] [pid 19291] [client 192.188.0.108:64037] PHP Warning: include_once(): Failed opening ‘/etc/freepbx.conf’ for inclusion (include_path=’.:/usr/share/pear:/usr/share/php’) in /var/www/html/admin/config.php on line 104
      [Mon Jan 16 01:38:06.104053 2017] [:error] [pid 19291] [client 192.188.0.108:64037] PHP Fatal error: Class ‘FreePBX’ not found in /var/www/html/admin/config.php on line 130
      [Mon Jan 16 01:38:06.104172 2017] [:error] [pid 19291] [client 192.188.0.108:64037] PHP Warning: Unknown: open(/var/lib/php/session/sess_c0j56aosfotpa0go3s3la0dik5, O_RDWR) failed: Permission denied (13) in Unknown on line 0
      [Mon Jan 16 01:38:06.104198 2017] [:error] [pid 19291] [client 192.188.0.108:64037] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0

      • По логам видно, что у веб сервера нет прав для записи сессии в папку /var/lib/php/session/ Надо проверить и добавить необходимые права. Популярная ошибка для многих php панелей.

  11. Спасибо огромной за статью. Все четко.
    Добавлю, что после всех настроек, нужно сделать запуск freePBX в службах:

    http://wiki.freepbx.org/display/FOP/Example+systemd+startup+script+for+FreePBX

    Иначе, придется после каждого ребута ручками запускать. Данный пункт перед комментами в этой статье http://wiki.freepbx.org/display/FOP/Installing+FreePBX+13+on+CentOS+7

  12. Евгений

    Спасибо за статью.
    Согласен С Никитой, что без описания настройки автозапуска FreePBX , статья выглядит немного не законченной.
    Также на сегодня обновилась libpri-1.5 , по этому правильно использовать
    tar xvfz libpri-current.tar.gz и cd /usr/src/libpri-* , иначе получите ошибку.
    И есть вопрос, нужно ли вообще устанавливать поддержку DAHDI и Libpri , т.к. это драйвера для контроллеров ( в основном Digium), которые устанавливаются не посредственно в сервер. При установке Asterisk в ВМ , это вообще не актуально.

    С уважением

    • Спасибо за замечания. В следующей редакции статьи учту все комментарии. Жду Centos 8, чтобы все обновить. Надеюсь дождусь в этом году.

Добавить комментарий

Ваш e-mail не будет опубликован.