Установка FreePBX + Asterisk

Проект компании Digium – Asterisk. Известен многим, как и вэб интерфейс к нему: FreePBX, об установке которого и пойдет речь в этой статье.
В моем распоряжении удаленный сервер с установленным ASP Linux и доступ по ssh.
Задача: инсталлировать IP PBX Asterisk с вэб интерфейсом FreePBX + FOP.
Начинаем.

Устанавливаем ПО и подготавливаем сервер:


yum -y update

Отключаем Selinux:


echo "selinux=disabled" > /etc/selinux/config

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


yum install  e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel  libsepol-devel libxml2-devel libtiff-devel gmp php-pear php-pear-DB  php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel  libogg-devel openssl-devel mysql-devel zlib-devel perl-DateManip  sendmail-cf sox

Традиционно, исходные коды принято ложить в директорию /usr/src/


<strong><strong>cd  /usr/src </strong></strong>

Ставим Lame — это свободное приложение для кодирования аудио в формат MP3 (MPEG-1 audio layer 3.

<div>wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
 tar  zxvf lame-3.97.tar.gz
 cd  lame-3.97
 ./configure
 make
 make install</div>

Переходи к инсталяции Asterisk и FreePBX


cd /usr/src

wget  http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
 wget  http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
 wget  http://downloads.digium.com/pub/telephony/dahdi-linux-complete-current.tar.gz
 wget  http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
 wget  http://mirror.freepbx.org/freepbx-2.5.0.tar.gz

mkdir /var/lib/asterisk/sounds
 cd /var/lib/asterisk/sounds

wget  http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
 tar  zxvf asterisk-extra-sounds-en-gsm-current.tar.gz
 cd /usr/src/dahdi-linux-complete-CURRENT
 make
 make install
 make  config
 /sbin/ztcfg

Добавим в автозапуск.


echo "/sbin/ztcfg" >> /etc/rc.d/rc.local
<div>cd /usr/src/libpri-1.4-CURRENT
 make  clean
 make
 make install</div>

cd /usr/src/asterisk-1.4-CURRENT
 useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk
 mkdir /var/run/asterisk
 mkdir /var/log/asterisk

Обратите особое внимание на разрешения, с ними больше всего проблем возникает до и после установки:

<div>chown -R  asterisk:asterisk /var/run/asterisk
 chown -R asterisk:asterisk /var/log/asterisk
 chown -R asterisk:asterisk /var/lib/php/session/</div>

Поменяем пользователя и группу для apache:


vim +231 /etc/httpd/conf/httpd.conf
 #User  apache
 #Group  apache
 User asterisk
 Group asterisk

vim +329 /etc/httpd/conf/httpd.conf
 Change AllowOverride None to AllowOverride All

./configure
 make
 make install

Проверяем статус нашей СУБД, если она не запущена, запускаем:


/etc/init.d/mysqld status
 /etc/init.d/mysqld start

Настраиваем базы mysql для freepbx:


cd /usr/src/freepbx-2.5.0
 mysqladmin CREATE  asterisk -p
 mysqladmin CREATE  asteriskcdrdb -p
 mysql asterisk < SQL/newinstall.sql -p
 mysql asteriskcdrdb <  SQL/cdr_mysql_table.sql   -p

Подключаемся с правами рута и обновляем права:


GRANT  ALL PRIVILEGES  ON asteriskcdrdb.* TO  asteriskuser@localhost IDENTIFIED BY 'SOMEPASSWORD';
 GRANT  ALL PRIVILEGES  ON asterisk.* TO  asteriskuser@localhost IDENTIFIED BY 'SOMEPASSWORD';
 flush PRIVILEGES;
 /q
<div>cd /usr/src/asterisk-addons
 ./configure
 make
 make install</div>
<div>
</div>
<div>cd /usr/src/freepbx-2.5.0
 ./start_asterisk  start</div>
<div>
</div>
<div>yum install  php-pear-DB
 yum install  php-mysql
 (Если  такого у Вас не нашлось, придется ставить вручную:
 Для систем Unix/Linux/BSD
 $ lynx  -source http://pear.php.net/go-pear | php
 /usr/src/bin/pear install DB
 )</div>
<div>
</div>
<div>./install_amp  --username=asteriskuser --password=SOMEPASSWORD</div>
<div>
Включаем в автозапуск.
</div>
<div>echo "/usr/local/sbin/amportal start" >> /etc/rc.local</div>
<div></div>
<div>chkconfig httpd on

 chkconfig mysqld on</div>
<div></div>
<div>Open browser to http://ipaddressofpbx/admin

 Click red  bar in  FreePBX

 Fix ARI password:

 vim /var/www/html/recordings/includes/main.conf.php

 $ari_admin_password = "SOMEPASSWORD";</div>
<div>
Настроим sendmail:
</div>
<div>nano /etc/mail/sendmail.mc

 define(`SMART_HOST', `localhost')dnl

 MASQUERADE_AS(`pbx.DOMAIN.com')dnl

 FEATURE(`masquerade_envelope')dnl

 vim /etc/mail/access

 Connect:localhost.localdomain           RELAY
 Connect:localhost                       RELAY
 Connect:127.0.0.1                       RELAY

 Ctrl-X to save, 'Y' to  confirm

 make -C /etc/mail</div>
<div>
Редактируем sip_nat.conf для корректной работы за NAT:
</div>
<div>localnet=192.168.1.0/255.255.255.0
 externhost=pbx.DOMAIN.com (Set your  external hostname  name here)
 externrefresh=10
 fromdomain=DOMAIN.com (Set your  external domain name here)
 nat=yes
 qualify=yes
 canreinvite=no

 Ctrl-X to save, 'Y' to  confirm</div>
<div>
Добавляем кодеки к конфигам:
</div>
<div>nano /etc/asterisk/sip_custom.conf

 allow=gsm
 allow=h261
 allow=h263
 allow=h263p
 videosupport=yes

 Ctrl-X to save, 'Y' to  confirm

 nano /etc/asterisk/iax_custom.conf</div>
<div>
Редактируем voicemail config:
</div>
<div>vim /etc/amportal.conf
 If the web interface on your PBX will be accessible on the internet:

 AMPWEBADDRESS=pbx.DOMAIN.com  (Set  your external hostname  name here)

 If the web interface on your PBX will be accessible only on your  internal network:

 AMPWEBADDRESS=internal.hostname.DOMAIN.com  (Set  your internal hostname  name here)

 :wq

 or if your users will  NOT have access to the web interface:

 vim /etc/asterisk/vm_email.inc

 remove "Visit  http://AMPWEBADDRESS/cgi-bin/vmail.cgi?action=login&mailbox=${VM_MAILBOX}  to check your voicemail with a web browser.\n"

 vim /etc/asterisk/vm_general.inc

 serveremail=pbx@DOMAIN.com ; Who  the e-mail notification should appear to come from
 fromstring=DOMAIN PBX ; Real  name of email sender</div>
<div>
Устанавливааем MOH directory:
</div>
<div>ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3

 asterisk -rx reload</div>
<div>
Заходим в браузер по адресу: https://ipaddressofpbx/admin Необходимо запаролить директорию для администратора /var/www/html/admin
</div>
<div>vim /etc/http/conf/http.conf

 <Directory  /var/www/html/admin>
 AuthType Basic
 AuthName "Restricted Area"
 AuthUserFile /var/www/html/wwwpasswd
 Require user wwwadmin maint
 </Directory>

 htpasswd -c /var/www/html/wwwpasswd  wwwadmin
 New password:
 Re-type new password:
 Adding password for  user wwwadmin</div>
<div>
Если в процессе у Вас не появилось ошибок, значит Вы все сделали правильно, можно приступать к настройке  IP PBX Asterisk через интерфейс FreePBX.

Related posts:

  1. Asterisk – храним CDR в БД MySQL. Asterisk. Настройка. Статья#1. Складываем CDR в MySQL. Должны быть установлены...
  2. Установка и конфигурирование защищенного FTP-SSL сервера Сервис предлагается поднять на ProFTPd. Собирать будем из исходников, так...
  3. Установка Monit – средства мониторинга Unix систем Monit – это open source утилита для управления и мониторинга...
You can leave a response, or trackback from your own site.

Оставить комментарий

*