среда, 11 декабря 2013 г.

Установка Asterisk 11 из исходников на CentOS 6.5

Настройка CentOS 6.5

Сразу после установки CentOS подимаем сетевой интерфейс 
ifup eth0
Устанавливаем текстовый редактор nano
yum install nano
Настраиваем сетевой интерфейс CentOS'а
nano /etc/sysconfig/network-scripts/ifcfg-eth0
Изменяем в нем авто поднятие интерфейса
ONBOOT=yes
И все остальные нужные вам параметры.

Обновляем систему
yum update -y
Отключаем в CentOS SELinux
nano /etc/selinux/config
Так он выглядит изначально
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Приводим его к следующему виду, заменив enforcing на disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Перезагружаем CentOS
reboot

Установка требуемых пакетов 

Устанавливаем необходимые пакеты для сборки Asterisk'а из исходников
yum install -y make wget openssl-devel ncurses-devel  newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel libuuid-devel perl libtiff-devel doxygen

Установка Asterisk 11

Переходим в каталог с иcходными кодами
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-11-current.tar.gz
Распаковываем
tar zxvf dahdi-linux-complete*
tar zxvf libpri*
tar zxvf asterisk*

Устанавливаем DAHDI

cd /usr/src/dahdi-linux-complete*
make all
make install 
Если установка прошла успешно, должны увидеть сообщение
###################################################
###
### DAHDI tools installed successfully.
### If you have not done so before, install init scripts with:
###
### make config
###
################################################### 
Затем обязательно настроим конфиг DAHDI:
make config
При этом DAHDI добавиться в автозагрузку

Устанавливаем libpri

cd /usr/src/libpri*
make
make install

Устанавливаем Asterisk

cd /usr/src/asterisk*
Если хотим, что бы Asterisk был с поддержкой SQL установим сервер MySQL
yum install mysql-server mysql mysql-devel mysql-connector-odbc unixODBC unixODBC-devel –y
Теперь начинаем собирать Asterisk
Для x32 систем:
./configure
Для x64 систем:
./configure --libdir=/usr/lib64 
Если в конце отработки скрипта появился символ Asterisk, значит операция прошла успешно
                 .$$$$$$$$$$$$$$$=..
            .$7$7..          .7$$7:.
          .$$:.                 ,$7.7
        .$7.     7$$$$           .$$77
     ..$$.       $$$$$            .$$$7
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7
$$$       .7$$$$$$$$$$$$$$$$      :$$$.
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.
$$$        $$$   7$$$7  .$$$    .$$$.
$$$$             $$$$7         .$$$.
7$$$7            7$$$$        7$$$
 $$$$$                        $$$
  $$$$7.                       $$  (TM)
   $$$$$$$.           .7$$$$$$  $$
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$
       $$$$$$$$$$$$$$$$.
configure: Package configured for:
configure: OS type  : linux-gnu
configure: Host CPU : i686
configure: build-cpu:vendor:os: i686 : pc : linux-gnu :
configure: host-cpu:vendor:os: i686 : pc : linux-gnu :
Если необходимо, что бы установленный Asterisk поддерживал дополнительные опции (например работу с MySQL), то их нужно добавить с помощью утилиты menuselect:
make menuselect
В появившемся окне выбираем нужные опции (В примере выбраны все опции относящиеся к MySQL)

Нажимаем «Save & Exit»

Далее выполним
make
В конце должно появиться следующее сообщение
+--------- Asterisk Build Complete ----------+
+ Asterisk has successfully been built, and +
+ can be installed by running:                    +
+                                                            +
+                make install                           +
+--------------------------------------------------+
Выполняем  команду для начала установки
make install
В конце выполнения команды должно появиться следуещее
+---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 +                make samples               +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +               make progdocs               +
 +                                           +
 + **Note** This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+
Устанавливаем примеры
make samples 
Мы ранее установили doxygen, он необходим для выполнения команды make progdocs, которая устанавливает документацию по Asterisk
make progdocs
Для CentOS, который использует папки /etc/rc.d/init.d/ или /etc/init.d/, также желательно выполнить команду make config. Это обеспечит установку сценариев запуска и конфигурацию системы (с помощью команды chkconfig) для автоматического выполнения Asterisk при запуске
make config
Проверяем добавился ли Asterisk в автозагрузку
chkconfig asterisk --list
Должно появиться сообщение следующего вида
asterisk        0:выкл  1:выкл  2:вкл   3:вкл   4:вкл   5:вкл   6:выкл
Выполним первый запуск Asterisk
/etc/init.d/asterisk start
Проверим, что Asterisk запустился
service asterisk status
Должны получить сообщение следующего вида 
asterisk (pid 32710) выполняется...
Делаем перезагрузку сервера и контролируем, что после перезагрузки все службы запустились
ps ax | grep asterisk
Получим сообщение
1449 ? S 0:00 /bin/sh /usr/sbin/safe_asterisk
1453 ? Sl 0:04 /usr/sbin/asterisk -f -vvvg -c
1608 pts/0 S+ 0:00 grep asterisk
Зайдем в консоль Asterisk
asterisk -r
Проверим "видит" ли Asterisk драйвер DAHDI
asterisk*CLI> dahdi show version
Получим в ответ
DAHDI Version: 2.8.0 Echo Canceller:
Далее требуется настроить IPTables, чтобы обезопасить сервер телефонии. Но это уже в другой раз.

Комментариев нет:

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