Asterisk CentOS 7 установка FreePBX 13

Опубликовано в Asterisk

Asterisk CentOS установка

Технологии идут вперед и время не стоит на месте, операционные системы совершенствуются и обновляются. Рассмотрим установку текущей версии IP-АТС Asterisk 13 на операционную систему Linux CentOS 7, и новый веб-интерфейс FreePBX 13. Стоит заметить, что Asterisk изначально разрабатывался именно под CentOS и данная операционная система, наилучшим образом подходит для системы телефонии.

Первым делом выключаем SELinux и перезагружаем систему:

sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
reboot

Обновляем систему:

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

Устанавливаем необходимые зависимости:

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 install Console_Getopt

Включаем и запускаем MariaDB

systemctl enable mariadb.service
systemctl start mariadb

Запускаем интерактивный конфигуратор безопасности (будет задан пароль пользователя root для mysql и тп.):

mysql_secure_installation

Запустим web сервер Apache для работы интерфейса FreePBX:

systemctl enable httpd.service
systemctl start httpd.service

Добавим пользователя Asterisk:

adduser asterisk -M -c "Asterisk User"

Установка SRTP:

cd /usr/src
wget http://srtp.sourceforge.net/srtp-1.4.2.tgz 
tar zxvf srtp-1.4.2.tgz
cd srtp
autoconf
./configure CFLAGS=-fPIC --prefix=/usr
make 
make runtest
make install

Установка Pjproject:

git clone git://github.com/asterisk/pjproject pjproject 
cd pjproject/ 
./configure --libdir=/usr/lib64 --prefix=/usr --enable-shared --disable-sound --disable-resample
make dep
make
make install
ldconfig
ldconfig -p | grep pj

Установка libjansson:

wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz
tar zvxf jansson-2.5.tar.gz
cd jansson-2.5
./configure --prefix=/usr/
make clean
make
make install
ldconfig

Установка lame:

wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz
tar zxvf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure 
make
make install

Установка библиотеки SpanDSP:

wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.6.tar.gz
tar zxvf spandsp-0.0.6.tar.gz 
cd spandsp-0.0.6 
./configure 
make
make install
ln -s /usr/local/lib/libspandsp.so.2 /usr/lib64/libspandsp.so.2

Скачиваем исходники 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-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

Собираем канальные драйвера DAHDI и LibPRI

cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
tar xvfz libpri-1.4-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd /usr/src/libpri-1.4.*
make
make install

Компилируем и устанавливаем Asterisk

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

После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули, большинство требуемых модулей выбираются автоматически.

 --->  Add-ons (See README-addons.txt)  
             --- extended ---
             XXX chan_mobile
             [ ] chan_ooh323
             [*] format_mp3
             [*] res_config_mysql
             --- deprecated ---
             [*] app_mysql
             [*] app_saycountpl
             [*] cdr_mysql
 
  ---> Core Sound Packages
            [*] CORE-SOUNDS-RU-GSM
  --->  Extras Sound Packages
            [*] EXTRA-SOUNDS-EN-GSM
make
make install
make config
ldconfig

Выставляем права на нужные директории:

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:

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
systemctl restart httpd.service

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

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

В Centos7 вместо IPTables используется Firewalld. Порт 80 tcp (HTTP) по умолчанию закрыт. Так что вам надо либо отключить файервол (не рекомендуется), либо настроить его соответствующим образом

systemctl mask firewalld
systemctl stop firewalld
yum -y install iptables-services
systemctl enable iptables
iptables -P INPUT ACCEPT
iptables -F
service iptables save
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT 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 10000:20000 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT
service iptables save
iptables -L

Подключимся к FreePBX

http://IP_Address_FreePBX/admin

FreePBX 13

Коментарии: