Установка Asterisk
Установка из репозитория
Для установки из репозитория в debian / Ubuntu запустите из командной строки:
sudo apt-get install asterisk
Для установки из репозитория в RHEL / CentOS запустите из командной строки:
yum install asterisk
При этом будут проанализированы зависимости, и в случае отсутствия необходимых пакетов сначала будут установлены эти пакеты, а затем уже - Asterisk.
Главным недостатком такого подхода является то, что Вы не можете контролировать, какая именно версия Asterisk будет установлена. Скорее всего, это будет стабильная версия, но достаточно старая. Поэтому настоятельно рекомендую установку Asterisk из исходников. В этом случае Вы не только контролируете, какая именно версия будет установлена, но также можете выбрать необходимые компоненты, включить или отключить нужные модули Asterisk.
Установка из исходников
Установка необходимых пакетов
Вначале нужно установить дополнительные пакеты, которые необходимы для установки и работы Asterisk. Без части из этих пакетов Asterisk вообще откажется устанавливаться (к примеру, если отсутствует gcc). Без некоторых пакетов Asterisk установится и даже будет работать, однако часть функционала будет недоступна. Например, пакет bison необходим для обработки выражений в файле extensions.conf. Еще пример: libnewt необходим для работы интерфейса управления astman. Для сервера Asterisk он не требуется, но без этого пакета у Вас не будет приложения astman, которое является отдельной программой.
Для Debian / Ubuntu:
sudo apt-get install linux-headers-`uname -r` bison flex curl sox libncurses5-dev libssl-dev libxml2-dev binutils gcc g++ ncurses-dev libsqlite3-dev make uuid uuid-dev
Для RHEL / CentOS:
yum -y install gcc gcc-c++ make ncurses-devel libxml2-devel sqlite-devel bison kernel-headers kernel-devel openssl openssl-devel newt newt-devel flex curl sox binutils
после чего выполнить команду:
yum update
(чтобы загрузить последние обновления пакетов)
Дополнение для asterisk 12 / 13
Для asterisk 12 / 13 необходимо также установить библиотеки uuid и libjansson.
Для установки библиотеки uuid в RHEL / Centos выполните команду:
yum -y install libuuid-devel
Для установки пакета libjansson необходимо сначала подключить дополнительный репозиторий EPEL.
После этого в RHEL / CentOS нужно поставить пакет jansson-devel, выполнив команду:
yum -y install jansson-devel
Автоматизация установки необходимых пакетов
Как утверждает сайт wiki.asterisk.org, вовсе не обязательно самому заниматься установкой необходимых пакетов - asterisk может сделать это сам. Для этого воспользуйтесь скриптом install_prereq, находящимся в подкаталоге contrib/scripts папки с исходными кодами asterisk: после скачивания (и распаковки исходников asterisk, зайдите в "корень" этой распакованной папки, например:
cd /usr/src/asterisk-X.Y.Z
теперь зайдите в подкаталок contrib/scripts и запустите скрипт install_prereq. У скрипта есть опции:
test - просто отображает список пакетов, которые будут установлены
install - устанавливает все необходимые пакеты
cd contrib/scripts
./install_prereq install
Что еще может понадобиться для установки asterisk
Если требуется загрузить дистрибутив Asterisk из интернета (а не с локального носителя), то может потребоваться установка wget. Кроме того, для редактирования файлов нужен текстовый редактор - например, vi, nano или mc (Midnight Commander).
Отключите SELinux
Для успешной работы asterisk необходимо отключить SELinux. Чтобы это сделать, найдите файл:
/etc/selinux/config
Удалите в нём строку, начинающуюся со слова "SELINUX", после чего добавьте следующую строчку:
SELINUX=disabled
После этого необходимо перезагрузить компьютер (это можно будет сделать и после компиляции астериска).
pjproject для asterisk 12 и выше
При установке asterisk 12 и выше Вы можете захотеть установить пакет pjproject (обновленная версия драйвера SIP). Подробнее об этом см. на сайте wiki.asterisk.org.
DAHDI и LibPRI
Перед установкой самого Asterisk необходимо решить для себя, устанавливать ли компоненты DAHDI и/или libpri. На официальном сайте Asterisk, в wiki-разделе (https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk+From+Source) разработчики настоятельно рекомендуют устанавливать эти пакеты, даже если Вы не планируете их использовать (libpri предназначен для работы с ISDN соединениями, а DAHDI - с аналоговыми телефонными линиями - PTSN).
Если Вы решите устанавливать DAHDI и/или LibPRI, инструкции по скачиванию и установке можно взять здесь:
- Установка DAHDI
- Установка LibPRI
Загрузка и распаковка Asterisk
Переходим в каталог исходников Linux:
cd /usr/src
Скачиваем нужную версию Asterisk. Посмотреть, какая версия asterisk актуальная на данный момент и скачать нужную, можно здесь: http://www.asterisk.org/downloads/asterisk/all-asterisk-versions
для версии 1.8 это будет:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
Для версии 11 это будет:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
распаковываем asterisk - для этого выполняем команду tar:
tar –xvzf asterisk-...tar.gz
где asterisk...tar.gz - это имя архива с asterisk, например:
tar –xvzf asterisk-1.8-current.tar.gz
или
tar –xvzf asterisk-11-current.tar.gz
Теперь нам нужно перейти в папку, которая создалась при распаковке архива. Название папки может совпадать, а может и не совпадать с именем архива. Узнать, какие папки есть в /usr/src, можно с помощью команды ls. Найдя папку, переходим в нее:
cd asterisk-X.Y.Z
Компиляция asterisk
Перейдя в папку с исходными кодами asterisk, запускаем конфигурирование пакета перед компиляцией:
./configure
Если конфигурирование было успешным, то в конце выполнения команды на экране появится значок астериска (звездочка).
Теперь запускаем выбор компонентов пакета:
make menuselect
Здесь Вы можете выбрать любые необходимые компоненты. Компоненты, которые выбрать нельзя, отмечены крестиками (XXX). Чтобы появилась возможность их выбрать, надо выйти из этого меню, установить недостающие пакеты (например, кодеки, приложение Festival, и так далее), и заново запустить компиляцию asterisk (начиная с команды configure).
На данном этапе рекомендуем установить поддержку русских звуковых файлов в asterisk. Если коротко: для этого перейдите в раздел Core Sound Packages, и отметьте галочками пакеты CORE-SOUNDS-EN-WAV и CORE-SOUNDS-RU-WAV. Кроме того, перейдите в раздел Extras Sound Packages и отметьте галочкой EXTRA-SOUNDS-EN-WAV. В данном случае мы выбрали установку базового голосового пакета для русского языка, а также установку базового и расширенного голосовых пакетов для английского языка (расширенного пакета звуковых файлов для русского языка непосредственно в дистрибутиве asterisk пока нет). Английский пакет рекомендуем устанавливать, поскольку в случае отсутствия нужных файлов в русском пакете, будет воспроизведен файл из английского пакета - и проблемы будет легче обнаружить.
После выбора требуемых пакетов обязательно выберите "сохранить изменения и выйти": "Save and exit".
Теперь мы запускаем самую главную (и самую длительную) часть компиляции пакета - сборку:
make
Если сборка прошла успешно, то в результате на экране появится текст в рамочке, сообщающий что-то вроде: "Asterisk build complete", "Asterisk has successfully been built...". Если этого не произошло, то это значит, что возникли проблемы при установке asterisk. Вероятнее всего, не установлен какой-то из пакетов, требующихся для работы asterisk (список нужных астериску пакетов см. выше, "Установка необходимых пакетов"). Как вариант, Вы можете попробовать установить другую (более новую или более старую) версию asterisk.
Если все прошло удачно, выполняем саму установку asterisk:
make install
Если при этом на этапе make menuselect были выбраны дополнительные звуковые пакеты, asterisk скачает их из интернета перед установкой.
Если установка была успешной, Вы увидите сообщение в рамке, вида "Asterisk Installation Complete".
Если Вы делаете установку первый раз, то необходимо также создать конфигурационные файлы. Если же Вы переустанавливаете / обновляете asterisk, обязательно убедитесь, что Ваши конфигурационные файлы сохранены (или не выполняйте команду создания конфигов).
Создаем конфигурационные файлы:
make samples
А теперь добавляем asterisk в сценарии запуска linux:
make config
Если у Вас RHEL/CentOS, то понадобится выполнить еще одну команду:
chkconfig asterisk on
Теперь до перезагрузки компьютера Вы можете проверить, работает asterisk или нет. Для этого в командной строке linux наберите:
asterisk -vc
Если Вы увидите сообщение "Asterisk ready", значит asterisk установлен успешно. После чего из командной строки asterisk (Asterisk CLI) наберите:
core stop now
для остановки астериска.
Теперь Вы можете перезагрузить компьютер, и убедиться, что asterisk автоматически запускается при старте. Для этого после перезапуска (и логина под root) запустите следующую команду:
asterisk -rvvv
Если Вы увидите приглашение системы asterisk, значит asterisk установлен успешно, Вы правильно настроили запуск asterisk при старте компьютера, и не возникло никаких других ошибок.
Проблемы при установке asterisk
При возникновении проблем, возникающих в процессе компиляции / установки / запуска asterisk, смотрите эту статью.
|