Asterisk CentOS 7 установка FreePBX 13
Технологии идут вперед и время не стоит на месте, операционные системы совершенствуются и обновляются. Рассмотрим установку текущей версии 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
Коментарии: