< meta name="referrer" content="origin">
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.

Описание установки и настройки почтового сервера iRedMail на основе готовой сборки на CentOS 7. Обзор основных возможностей и рекомендации по настройке.

Самостоятельная настройки почтового сервера postfix + dovecot а так же дополнительных полезных модулей для полноценной и удобной работы почты.

Размышления на тему выбора почтового сервера для малых и средних компаний.

Настройка отдельных программ
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
  • Syslog-NG
Видео и подробное описание установки и настройки 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. В качестве примера в конце добавлено одно устройство для мониторинга.
Настройка сервера для централизованного сбора логов с удаленных устройств и серверов с помощью программы syslog-ng.
Разное
  • Настройка ssl в Apache
  • Бэкап с помощью rsync
Настройка работы веб сервера apache с виртуальными хостами по протоколу https с использованием бесплатного ssl сертификата.
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.

65 комментариев

  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 не так уж и плох, сделаю по нему инструкцию в ближайшую неделю, для меня тема актуальна, будет нужно вам — поделюсь. Я с Сентосом знакомиться начала по вашим мануалам. Вы — молодец! Спасибо!

        • Возможно,ошибка в этом [directories](!) в файле /etc/asterisk/asterisk.conf
          должно быть [directories]

          Может кому поможет.

      • Решено.
        переместил /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)»

      • Если на этапе установки базы данных (при выполнение скрипта /usr/bin/mysql_secure_installation) установили пароль для root. То делай так # ./install -n —root=YourName —dbpass=YourPass1234

        • Опечатался ) ./install -n —dbuser=root —dbpass=YourPass1234

          • Алексей

            Добрый день. Делал по этой инструкции. Как и Серж столкнулся с проблемой: Error! Invalid Database Permissions. The error was: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)». geekvega подсказал решение немного не точно, команда выглядит так: «./install -n —dbuser=root —dbpass=YourPass1234», после этого все заработало. Спасибо за статью!

        • Спасибо за дополнения.

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

  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, чтобы все обновить. Надеюсь дождусь в этом году.

  13. ДД!

    После добавления пользователей asterisk в httpd
    systemctl restart httpd
    Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details.
    В чем проблема не можете подсказать?

  14. ● httpd.service — The Apache HTTP Server
    Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
    Active: failed (Result: exit-code) since Чт 2017-02-02 14:14:24 +05; 3min 38s ago
    Docs: man:httpd(8)
    man:apachectl(8)
    Process: 20166 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
    Process: 20161 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
    Main PID: 20161 (code=exited, status=1/FAILURE)

    фев 02 14:14:24 localhost.localdomain systemd[1]: Starting The Apache HTTP…
    фев 02 14:14:24 localhost.localdomain httpd[20161]: AH00558: httpd: Could …
    фев 02 14:14:24 localhost.localdomain systemd[1]: httpd.service: main proc…
    фев 02 14:14:24 localhost.localdomain kill[20166]: kill: cannot find proce…
    фев 02 14:14:24 localhost.localdomain systemd[1]: httpd.service: control p…
    фев 02 14:14:24 localhost.localdomain systemd[1]: Failed to start The Apac…
    фев 02 14:14:24 localhost.localdomain systemd[1]: Unit httpd.service enter…
    фев 02 14:14:24 localhost.localdomain systemd[1]: httpd.service failed.
    Hint: Some lines were ellipsized, use -l to show in full.

    • Лог обрезан, ничего не понятно. Надо смотреть ошибки в лог файле httpd напрямую.

      • [Thu Feb 02 11:23:34.767373 2017] [suexec:notice] [pid 15403] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 11:23:34.785557 2017] [:warn] [pid 15403] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 11:23:35.046729 2017] [:error] [pid 15403] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 11:23:35.112638 2017] [auth_digest:notice] [pid 15403] AH01757: generating secret for digest authentication …
        [Thu Feb 02 11:23:35.113061 2017] [lbmethod_heartbeat:notice] [pid 15403] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 11:23:35.114301 2017] [:warn] [pid 15403] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 11:23:35.130849 2017] [mpm_prefork:notice] [pid 15403] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 11:23:35.130885 2017] [core:notice] [pid 15403] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 11:23:35.719968 2017] [:error] [pid 15411] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:23:35.743455 2017] [:error] [pid 15410] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:23:35.753406 2017] [:error] [pid 15408] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:23:35.763136 2017] [:error] [pid 15409] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:23:35.783690 2017] [:error] [pid 15407] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:24:13.386115 2017] [mpm_prefork:notice] [pid 15403] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 11:24:14.488087 2017] [suexec:notice] [pid 26832] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 11:24:14.488597 2017] [:warn] [pid 26832] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 11:24:14.706627 2017] [:error] [pid 26832] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 11:24:14.778564 2017] [auth_digest:notice] [pid 26832] AH01757: generating secret for digest authentication …
        [Thu Feb 02 11:24:14.778958 2017] [lbmethod_heartbeat:notice] [pid 26832] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 11:24:14.780181 2017] [:warn] [pid 26832] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 11:24:14.795815 2017] [mpm_prefork:notice] [pid 26832] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 11:24:14.795847 2017] [core:notice] [pid 26832] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 11:24:15.384962 2017] [:error] [pid 26841] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:24:15.387932 2017] [:error] [pid 26845] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:24:15.396681 2017] [:error] [pid 26844] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:24:15.409204 2017] [:error] [pid 26843] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:24:15.424725 2017] [:error] [pid 26842] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:24:31.728850 2017] [mpm_prefork:notice] [pid 26832] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 11:25:52.936386 2017] [suexec:notice] [pid 1257] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 11:25:53.369884 2017] [:warn] [pid 1257] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 11:25:54.359196 2017] [:error] [pid 1257] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 11:25:54.639668 2017] [auth_digest:notice] [pid 1257] AH01757: generating secret for digest authentication …
        [Thu Feb 02 11:25:54.640116 2017] [lbmethod_heartbeat:notice] [pid 1257] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 11:25:54.641435 2017] [:warn] [pid 1257] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 11:25:57.206112 2017] [mpm_prefork:notice] [pid 1257] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 11:25:57.206171 2017] [core:notice] [pid 1257] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 11:25:57.782800 2017] [:error] [pid 2873] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:25:57.805626 2017] [:error] [pid 2875] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:25:57.826089 2017] [:error] [pid 2872] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:25:57.850844 2017] [:error] [pid 2874] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 11:25:57.863447 2017] [:error] [pid 2871] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:12.233464 2017] [mpm_prefork:notice] [pid 1257] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 12:21:13.485315 2017] [suexec:notice] [pid 19097] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 12:21:13.503509 2017] [:warn] [pid 19097] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 12:21:13.743302 2017] [:error] [pid 19097] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 12:21:13.813625 2017] [auth_digest:notice] [pid 19097] AH01757: generating secret for digest authentication …
        [Thu Feb 02 12:21:13.814048 2017] [lbmethod_heartbeat:notice] [pid 19097] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 12:21:13.815463 2017] [:warn] [pid 19097] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 12:21:14.271650 2017] [mpm_prefork:notice] [pid 19097] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 12:21:14.271694 2017] [core:notice] [pid 19097] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 12:21:14.901719 2017] [:error] [pid 19104] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:14.916915 2017] [:error] [pid 19106] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:14.929789 2017] [:error] [pid 19102] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:14.940123 2017] [:error] [pid 19105] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:14.962170 2017] [:error] [pid 19103] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:52.088376 2017] [mpm_prefork:notice] [pid 19097] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 12:21:53.193276 2017] [suexec:notice] [pid 19139] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 12:21:53.193796 2017] [:warn] [pid 19139] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 12:21:53.442452 2017] [:error] [pid 19139] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 12:21:53.504801 2017] [auth_digest:notice] [pid 19139] AH01757: generating secret for digest authentication …
        [Thu Feb 02 12:21:53.505226 2017] [lbmethod_heartbeat:notice] [pid 19139] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 12:21:53.506924 2017] [:warn] [pid 19139] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 12:21:53.524376 2017] [mpm_prefork:notice] [pid 19139] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 12:21:53.524420 2017] [core:notice] [pid 19139] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 12:21:54.119214 2017] [:error] [pid 19148] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:54.129218 2017] [:error] [pid 19146] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:54.149314 2017] [:error] [pid 19145] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:54.163123 2017] [:error] [pid 19147] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 12:21:54.189954 2017] [:error] [pid 19144] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:37:35.068910 2017] [autoindex:error] [pid 19146] [client 192.168.0.113:51281] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive
        [Thu Feb 02 13:37:35.696515 2017] [:error] [pid 19276] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:37:36.822295 2017] [:error] [pid 19277] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:37:36.832744 2017] [:error] [pid 19278] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:38:57.007088 2017] [:error] [pid 19145] [client 192.168.0.113:51290] script ‘/var/www/html/index.php’ not found or unable to stat
        [Thu Feb 02 13:39:28.801752 2017] [:error] [pid 19300] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:39:29.971634 2017] [:error] [pid 19302] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:39:30.000874 2017] [:error] [pid 19301] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:41:59.832146 2017] [mpm_prefork:notice] [pid 19139] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 13:42:00.936226 2017] [suexec:notice] [pid 19359] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 13:42:00.936725 2017] [:warn] [pid 19359] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 13:42:01.167911 2017] [:error] [pid 19359] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 13:42:01.228636 2017] [auth_digest:notice] [pid 19359] AH01757: generating secret for digest authentication …
        [Thu Feb 02 13:42:01.229042 2017] [lbmethod_heartbeat:notice] [pid 19359] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 13:42:01.231047 2017] [:warn] [pid 19359] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 13:42:01.249080 2017] [mpm_prefork:notice] [pid 19359] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 13:42:01.249111 2017] [core:notice] [pid 19359] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 13:42:01.850611 2017] [:error] [pid 19368] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:42:01.859447 2017] [:error] [pid 19364] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:42:01.872513 2017] [:error] [pid 19365] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:42:01.882717 2017] [:error] [pid 19366] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:42:01.890844 2017] [:error] [pid 19367] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:43:30.453363 2017] [:error] [pid 19394] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:44:01.487533 2017] [:error] [pid 19416] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:44:02.609212 2017] [:error] [pid 19418] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:44:02.615459 2017] [:error] [pid 19417] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:38.533767 2017] [mpm_prefork:notice] [pid 19359] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 13:47:39.637030 2017] [suexec:notice] [pid 19477] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 13:47:39.637543 2017] [:warn] [pid 19477] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 13:47:39.861633 2017] [:error] [pid 19477] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 13:47:39.924407 2017] [auth_digest:notice] [pid 19477] AH01757: generating secret for digest authentication …
        [Thu Feb 02 13:47:39.924818 2017] [lbmethod_heartbeat:notice] [pid 19477] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 13:47:39.926296 2017] [:warn] [pid 19477] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 13:47:39.945476 2017] [mpm_prefork:notice] [pid 19477] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 13:47:39.945500 2017] [core:notice] [pid 19477] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 13:47:40.548313 2017] [:error] [pid 19482] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:40.556244 2017] [:error] [pid 19486] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:40.567202 2017] [:error] [pid 19484] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:40.577468 2017] [:error] [pid 19483] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:40.584070 2017] [:error] [pid 19485] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:45.065603 2017] [:error] [pid 19491] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:46.193667 2017] [:error] [pid 19492] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:47:46.197203 2017] [:error] [pid 19493] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:57:24.832542 2017] [mpm_prefork:notice] [pid 19477] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 13:57:25.936921 2017] [suexec:notice] [pid 19818] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 13:57:25.937434 2017] [:warn] [pid 19818] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 13:57:26.165937 2017] [:error] [pid 19818] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
        [Thu Feb 02 13:57:26.226798 2017] [auth_digest:notice] [pid 19818] AH01757: generating secret for digest authentication …
        [Thu Feb 02 13:57:26.227400 2017] [lbmethod_heartbeat:notice] [pid 19818] AH02282: No slotmem from mod_heartmonitor
        [Thu Feb 02 13:57:26.229099 2017] [:warn] [pid 19818] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 13:57:26.247221 2017] [mpm_prefork:notice] [pid 19818] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_auth_gssapi/1.4.0 mod_fcgid/2.3.9 mod_nss/1.0.14 NSS/3.21 Basic ECC PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
        [Thu Feb 02 13:57:26.247251 2017] [core:notice] [pid 19818] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
        [Thu Feb 02 13:57:26.844314 2017] [:error] [pid 19825] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:57:26.853264 2017] [:error] [pid 19824] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:57:26.866500 2017] [:error] [pid 19823] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:57:26.876323 2017] [:error] [pid 19827] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:57:26.886667 2017] [:error] [pid 19826] Misconfiguration of certificate’s CN and virtual name. The certificate CN has localhost4.localdomain4. We expected localhost.localdomain as virtual name.
        [Thu Feb 02 13:58:09.622040 2017] [mpm_prefork:notice] [pid 19818] AH00170: caught SIGWINCH, shutting down gracefully
        [Thu Feb 02 13:58:10.725463 2017] [suexec:notice] [pid 19901] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 13:58:10.725964 2017] [:warn] [pid 19901] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 13:58:10.728272 2017] [:error] [pid 19901] Server user asterisk lacks read access to NSS key database /etc/httpd/alias/key3.db.
        [Thu Feb 02 14:00:11.174658 2017] [suexec:notice] [pid 19952] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 14:00:11.175205 2017] [:warn] [pid 19952] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 14:00:11.176910 2017] [:error] [pid 19952] Server user asterisk lacks read access to NSS key database /etc/httpd/alias/key3.db.
        [Thu Feb 02 14:14:24.385373 2017] [suexec:notice] [pid 20161] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 14:14:24.385883 2017] [:warn] [pid 20161] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 14:14:24.387251 2017] [:error] [pid 20161] Server user asterisk lacks read access to NSS key database /etc/httpd/alias/key3.db.
        [Thu Feb 02 14:21:34.312520 2017] [suexec:notice] [pid 1241] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 14:21:34.452724 2017] [:warn] [pid 1241] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 14:21:34.454840 2017] [:error] [pid 1241] Server user asterisk lacks read access to NSS key database /etc/httpd/alias/key3.db.
        [Thu Feb 02 14:22:39.024456 2017] [suexec:notice] [pid 3252] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 14:22:39.024960 2017] [:warn] [pid 3252] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 14:22:39.026138 2017] [:error] [pid 3252] Server user asterisk lacks read access to NSS key database /etc/httpd/alias/key3.db.
        [Thu Feb 02 14:24:46.593790 2017] [suexec:notice] [pid 3288] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Thu Feb 02 14:24:46.594339 2017] [:warn] [pid 3288] NSSSessionCacheTimeout is deprecated. Ignoring.
        [Thu Feb 02 14:24:46.595741 2017] [:error] [pid 3288] Server user asterisk lacks read access to NSS key database /etc/httpd/alias/key3.db.

        • Прошу прощения, весь лог отправил. нет доступа на редактирование.

          • Вижу ошибки, связанные с именем сервера. Нужно в /etc/hostname указать имя сервера, потом его же указать в /etc/hosts. Должно быт примерно так:

            # cat /etc/hostname
            server.local
            # cat /etc/hosts
            127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
            10.1.3.10 server.local

            10.1.3.10 — адрес сервера. Если адресов несколько, сделать для каждого ip такую запись. Имя сервера может быть любым.

            И еще одна ошибка. У пользователя asterisk нет доступа к файлу /etc/httpd/alias/key3.db Нужно доступ сделать.

            И еще куча ошибок с сертификатом. У меня в статье пример без использования защищенного соединения. У тебя судя по всему включен https, но не настроен, отсюда и ошибки, в том числе с сертификатом и именем сервера. Для https это важно.

  15. Спасибо за статью.
    Как и многие первый раз все делаю. Сделал все по этой статье. Вроде сервер Asterisk работает Freepbx тоже. Цепляюсь по вэб к нем. Пошел дальше. По вашей другой статье (Asterisk — SIP АТС для офиса, пошаговая инструкция по настройке с нуля) сделал все настройки, поставил 3CXPhone. Делаю на консоле sip show users. Выводит список как и в примере. Дальше настраиваю 3CXPhone на двух компах. Они не проходят авторизацию. Проверяю список подключенных пиров, нет подключенных. Тогда пробую создать новые номера через FreePBX. Созданные номера настраиваются на 3CXPhone, проходят авторизацию. Но звонок не удается. Проходит один гудок и скидывает с сообщение:»Номер не найден». На консоле пишет: NOTICE[3279]: res_pjsip_session c 2124 new_invite: Call from ‘100’ (UDP: мой IP:52400) to extension ‘101’ rejected because extansion not found in context ‘from-internal’.

    • Не понял, как связаны эти две статьи? Тут идет настройка через freepbx, а в той статье через голый asterisk. Одновременно и то и другое работать не будут. Надо что-то одно выбирать. Если управляете через freepbx, то пользоваться только ей нужно.

  16. Да, понял, что в голове у меня каша. Снес все. Начинаю сначала. По шагам. В любом случае, при заведении нового номера в freepbx, 3CXPhone подключался и авторизовывался на сервере. Но звонок сделать не мог, писал Номер не найден. Может не так заводил номера. А продолжение статьи есть? Как настраивать freepbx и как что делать?

    • У меня нету статьи про настройку freepbx, поэтому придется искать где-то в другом месте. Это не проблема, статей написано много на эту тему.

  17. Михаил

    Здравствуйте. Безумно благодарен за сайт, такие подробные и толковые инструкции для новичков редко встречаются. Хотел бы внести свои скромные комментарии для тех у кого возникли проблемы при установке(в основном с правами на папки и насчет запуска таки от пользователя apache). У меня получилось установить но с некоторыми дополнениями.
    Вот
    #Установка Asterisk и FreePBX по мануалу
    https://serveradmin.ru/ustanovka-asterisk-i-freepbx-na-centos-7/#_Freepbx

    #с той лишь разницей что нам нужно установить FreePBX на отдельный VirtualHost, не в стандартную папку и у нас уже установлен пароль на sql.

    #Поэтому НЕ ДЕЛАЕМ вот этого, не меняем пользователя apache
    sed -i ‘s/^\(User\|Group\).*/\1 asterisk/’ /etc/httpd/conf/httpd.conf

    #видоизмененная команда установки FreePBX
    ./install —dbpass=»rootsqlpass» —webroot=»/web/asterisk» —ampcgibin=»/web/asterisk/cgi-bin» -n

    #FreePBX меняет все права везде на asterisk:asterisk, могут возникнуть проблемы с другими сайтами, в частности с php.session.path

    #после установки FreePBX меняем некоторые права на apache
    chown -R apache. /var/lib/php/session
    chown -R apache. /web/asterisk

    chmod -R 776 /var/lib/php/session/
    chmod -R 775 /web/asterisk/
    #и добавляем asterisk в группу apache
    usermod -a -G apache asterisk

    Настройки VirtualHost для FreePBX берем здесь
    https://wiki.kubuntu.org/installingFreepbx

    После того как зашли на вебморду FreePBX и видим ошибки прав, поможет man
    http://wiki.freepbx.org/display/F2/Module+Signing
    Выполнить
    amportal chown
    amportal a ma refreshsignatures
    amportal a reload

    Если что то пошло не так, удалить FreePBX можно так
    http://wiki.freepbx.org/display/FOP/Uninstalling+FreePBX

    cd /usr/src/freepbx
    ./install_amp —uninstall

  18. а если уже натупила и все таки появилась ошибка Error! Invalid Database Permissions. The error was: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO) ? можно как нить ее исправить?

  19. Не могу собрать dogle_chan для Астериска 13. Способ установки брал у вас Астерис+ФриПБХ — ЦентОС 7я
    Модуль Huawey E173u-1

  20. Как всегда все доступно и просто рассказано — молодцы !

    Вопрос, Астерикс и факс не могли бы вы про нее описать настройки и т д……

  21. поставил все как тут сказано.
    установилось без ошибок, но подключиться через веб браузер не получается 🙁
    будто веб сервер не запущен или какая то другая служба
    тут в коментах писали freepbx автоматом не стартует, нужно руками запускать
    как проверить запущена служба или нет? как запустить если служба не запущена?
    в линуксе я новичок пока.. 🙁

  22. Константин

    после первого входа и регистрации в веб морде пишет: У вас один поврежденный файл «Модуль: «FreePBX Framework», Файл: «/var/www/html/admin/modules/framework/file ошибочный»»

    а логе freepbx.log
    [2017-Jun-04 13:56:26] [WARNING] (libraries/modulefunctions.legacy.php:7) — Depreciated Function module_getinfo detected in /var/www/html/admin/libraries/featurecodes.functions.php on line 42
    [2017-Jun-04 13:56:26] [WARNING] (libraries/modulefunctions.legacy.php:7) — Depreciated Function module_getinfo detected in /var/www/html/admin/libraries/featurecodes.functions.php on line 42
    [2017-Jun-04 13:56:26] [WARNING] (libraries/modulefunctions.legacy.php:7) — Depreciated Function module_getinfo detected in /var/www/html/admin/modules/core/functions.inc.php on line 1009
    [2017-Jun-04 13:56:26] [WARNING] (core/functions.inc.php:6433) — Depreciated Function core_users_list detected in /var/www/html/admin/modules/core/functions.inc.php on line 1612
    [2017-Jun-04 13:56:26] [WARNING] (core/functions.inc.php:6433) — Depreciated Function core_routing_list detected in /var/www/html/admin/modules/callrecording/functions.inc.php on line 401
    [2017-Jun-04 13:56:28] [SECURITY] (BMO/Notifications.class.php:507) — [NOTIFICATION]-[freepbx]-[FW_TAMPERED] — У Вас 1 повреждённых файла (Модуль: «FreePBX Framework», Файл: «/var/www/html/admin/modules/framework/file ошибочный»)
    [2017-Jun-04 13:56:38] [NOTICE] (BMO/Notifications.class.php:507) — [NOTIFICATION]-[core]-[MEMLIMIT] — Лимит памяти изменён (Ваш лимит использования памяти в 128M был недостаточен, и он был увеличен до 256M, Вы можете изменить этот параметр в файле php.ini)
    [2017-Jun-04 13:56:38] [SECURITY] (BMO/Notifications.class.php:507) — [NOTIFICATION]-[freepbx]-[FW_TAMPERED] — У Вас 1 повреждённых файла (Модуль: «FreePBX Framework», Файл: «/var/www/html/admin/modules/framework/file ошибочный»)

    НЕ подскажете как исправить?

  23. Любовь

    Подскажите, пожалуйста. Если на сервере используется только nginx, апача нет. Какие конфиги нужно править и как?

    • Здесь в двух словах не опишешь. Либо виртуальный хост отдельный настраивать под freepbx, либо алиас для директории.

  24. Дмтрий

    Присоединяюсь к проблеме с «пишет модуль » Основа FreePBX» поврежден». Есть ли решение?

  25. Дмитрий

    !!!!amportal is depreciated. Please use fwconsole!!!!
    forwarding all commands to ‘fwconsole’
    Перезагрузка FreePBX
    Произошла ошибка(-ки), ниже вывод из retrieve_conf
    exit: 1
    Exception: Unable to connect to Asterisk Manager from /var/lib/asterisk/bin/retrieve_conf, aborting in file /var/lib/asterisk/bin/retrieve_conf on line 11
    Stack trace:
    1. Exception->() /var/lib/asterisk/bin/retrieve_conf:11

  26. Дмитрий

    Модуль: «FreePBX Framework», Файл: «/var/www/html/admin/modules/framework/file ошибочный»

  27. Алексей

    В самом конце пишет ..Error! Invalid Database Permissions. The error was: could not find driver
    Подскажите пожалуйста что делать?
    Во время всех операций по установке ошибок не было.

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

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