8(499)-709-97-83
Работаем с 8:00 до 19:00

Установка FreePBX 12 на базе Asterisk 13

  • 29 декабря 2014

В этой статье мы расскажем как установить IP АТС FreePBX ver. 12, на базе нового Asterisk 13. Установка проводилась на операционной системе Centos 6.6.
На официальном сайте FreePBX уже есть готовые дистрибутивы под Centos, вы легко можете скачать данный дистрибутив и установить на виртуальную машину. Но мы решили пойти по более сложному пути и установить все в ручную. Тем более в этой инструкции мы покажем, как установить новый Asterisk 13.
Все команды делаем из под пользователя root.

 
1) Отключаем SELinux.
SELinux (Security Enhanced Linux) - это система безопасности основанная на моделях мандатного и ролевого доступа. Более подробнее можно прочитать в интернете, например, http://xakep.ru/56714/.

В файле /etc/sysconfig/selinux , указываем SELINUX=disabled.

nano /etc/sysconfig/selinux 
Меняем SELINUX=enabled, на SELINUX=disabled

2) Перезагружаем систему.

reboot

3) Далее проверяем отключился ли SELinux, для этого в командной строке вводим sestatus, мы должны увидеть

SELinux status: disabled

4) Обновляем систему.

yum -y update
yum groupinstall core
yum groupinstall base

5) Устанавливаем сервер ntp.

yum install ntp

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

yum install gcc gcc-c++ lynx bison mysql-devel mysql-server php php-mysql php-pear php-mbstring tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf
caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool
sqlite-devel

7) Настраиваем IPTABLES.

Необходимо отключить дефолтные iptables. Позже, после настройки мы их включим опять. Если не отключить iptables, то они будут блокировать доступ к Web-интерфейсу FreePBX.

Проверяем текущий статус iptables.

chkconfig iptables —list

Отключаем iptables.

chkconfig --level 0123456 iptables off

Останавливаем сервис iptables.

service iptables stop

8) Теперь необходимо включить MySQL в автозагрузку системы.

chkconfig --level 345 mysqld on

Запускаем сервис MySQL.

service mysqld start

9) Теперь необходимо включить web-сервер Apache в автозагрузку системы.

chkconfig --level 345 httpd on

Запускаем сервис Apache.

service httpd start

10) Устанавливаем PearDB – утилитку для работы с БД MySQL.

pear channel-update pear.php.net
pear install db-1.7.14

Возможно вы получите ошибку «WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"», ее можно проигнорировать.

11) Перезагружаем сервер.

reboot

12) Устанавливаем зависимости необходимые для Google Voice.

cd /usr/src
wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
tar xf iksemel-*.tar.gz
cd iksemel-*
./configure
make
make install

13) Добавляем пользователя Asterisk.

adduser asterisk -M -c "Asterisk User"

14) Скачиваем Asterisk, LibPRI и Dahdi.

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
git clone https://github.com/akheron/jansson.git
wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2

15) Устанавливаем 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

16) Устанавливаем библиотеку pjproject. Для х64 систем папка должна быт «--libdir=/usr/lib64», а для x32 «--libdir=/usr/lib».

cd /usr/src
tar -xjvf pjproject-2.2.1.tar.bz2
cd pjproject-2.2.1
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
17) Устанавливаем Jansson. Для х64 систем папка должна быт «--libdir=/usr/lib64», а для x32 «--libdir=/usr/lib».
cd /usr/src/jansson
autoreconf -i
./configure --libdir=/usr/lib64
make
make install

18) Устанавливаем Asterisk 13. Для х64 систем папка должна быт «--libdir=/usr/lib64», а для x32 «--libdir=/usr/lib».

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

Выбираем необходимые модули для загрузки.

freepbx_centos

Далее продолжаем установку Asterisk.

make
make install
make config
ldconfig

19) Устанавливаем Asterisk-Extra-Sounds.

mkdir -p /var/lib/asterisk/soundscd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
rm -f asterisk-extra-sounds-en-wav-current.tar.gz

20) Устанавливаем и настраиваем FreePBX. Скачиваем и распаковываем FreePBX.

cd /usr/src/
wget http://mirror.freepbx.org/freepbx-12.0.3.tgz
tar vxfz freepbx-12.0.3.tgz

21) Даем пользователю Asterisk права на каталоги.

chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk - для х64 ОС данная папка не нужна
chown -R asterisk. /usr/lib64/asterisk
mkdir -p /var/www/html
chown -R asterisk. /var/www/

22) Внесем изменения в Apache.

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

23) Настроим базу данных Asterisk в MySQL.

cd /usr/src/freepbx
export ASTERISK_DB_PW=amp109
mysqladmin -u root create asterisk
mysqladmin -u root create asteriskcdrdb

24) Устанавливаем права на базу данных MySQL.

mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "flush privileges;"

25) Перезапускаем Asterisk и устанавливаем FreePBX.

cd /usr/src/freepbx
./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
amportal chown
amportal a ma installall
amportal a reload
amportal a ma refreshsignatures
amportal chown
В этом же шаге вам будет предложено установить пароли.

26) Вносим последние изменения.

ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3amportal start

Устанавливаем дополнительные модули.

wget -P /etc/yum.repos.d/ -N http://yum.schmoozecom.net/schmooze-commercial/schmooze-commercial.repo
yum clean all
yum -y install php-5.3-zend-guard-loader sysadmin fail2ban incron ImageMagick
service httpd restart
amportal a ma download sysadmin
amportal a ma install sysadmin

27) Чтобы FreePBX не ругался на Apache, внесем некоторые изменения в файл httpd.conf.

Откройте файл httpd.conf для редактирования

nano /etc/httpd/conf/httpd.conf

В контексте "" необходимо установить "AllowOverride" - "All".

freepbx_centos_1 

Перезапускаем сервис Apache.

service httpd restart

На этом  установка FreePBX закончена.

 

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

 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)