Стандартная установка
Компиляция Asterisk выполняется с помощью компилятора gcc посредством использования GNU- программы make. Чтобы начать компиляцию Asterisk, просто выполните следующие команды (вместо
# cd /usr/src/asterisk-
# make clean
# ./configure
# make menuselect
# make install
# make samples
Помните, что время компиляции в разных системах может быть различным. На процессорах современного поколения это не должно занять более пяти минут. На сайте AstriCon
Если в папке /etc/asterisk/ уже есть конфигурационные файлы, при выполнении команды make samples к имени каждого из них будет добавлено в конце расширение .old, например, файл extensions.conf будет переименован в extensions.conf.old. Однако будьте осторожны, потому что повторное выполнение команды make samples приведет к перезаписи исходных конфигурационных файлов!
Образцы конфигурационных файлов также можно найти в под- папке configs/ папки Asterisk sources.
Для систем, которые используют папки /etc/rc.d/init.d/ или /etc/init.d/, также желательно выполнить команду make config. Это обеспечит установку сценариев запуска и конфигурацию системы (с помощью команды chkconfig) для автоматического выполнения Asterisk при запуске: # make config
Альтернативные аргументы make
Существует еще несколько дополнительных аргументов make, которые могут передаваться во время компиляции. Некоторые из них обсуждаются здесь, но остальные используются внутри файла и на самом деле не имеют никакого значения или практической пользы для конечного пользователя. (Конечно, могут быть введены новые функции, поэтому не забывайте просматривать Makefile.) Давайте рассмотрим некоторые полезные аргументы make.
make clean
Команда make clean используется для удаления скомпилированных двоичных файлов из папки исходного кода. Эта команда должна выполняться перед повторной компиляцией или если требуется удалить некоторые файлы в случае недостатка места на жестком диске.
make distclean
Команда make distclean используется для удаления скомпилированных двоичных файлов и для приведения папки исходного кода в начальное состояние, в каком она была после извлечения из архива.
make update
Команда make update используется для замены существующего кода на обновленный код с SVN-сервера Digium. Если исходный код был загружен с FTP-сервера, будет получено уведомление об этом.
make webvmail
Сценарий Asterisk Web Voicemail используется для предоставления графического интерфейса, предназначенного для управления учетной записью голосовой почты, что позволяет взаимодействовать с голосовой почтой удаленно с веб-броузера.
При выполнении команды make webvmail в папку cgi-bin/ вашего HTTP- сервера будет помещен сценарий Asterisk Web Voicemail. Если имеются специальные политики безопасности, необходимо учитывать, что эта программа использует сценарий на Perl setuid root. Установка будет выполнена только в CentOS или Fedora, поскольку в других дистрибутивах путь к папкам cgi-bin/ может быть иным. (Конечно, это можно изменить. На момент написания данной книги для этого необходимо было отредактировать переменную HTTP CFGDIR в строке 133
Makefile.)
make progdocs
По команде make progdocs с помощью программы doxygen из комментариев, внесенных в исходный код разработчиком, будет создана документация. Чтобы это было возможным, в системе должна быть установлена соответствующая программа doxygen. Заметьте, doxygen предполагает, что исходный код хорошо документирован, а это, к сожалению, не всегда так, хотя за последнюю пару лет было опубликовано очень много материалов по этому вопросу! Информация, содержащаяся в системе doxygen, будет полезна только разработчикам.
make config
По команде make config в папки /etc/rc.d/init.d или /etc/init.d, если таковые будут обнаружены, устанавливаются сценарии запуска в стиле дистрибутива Red Hat. Если эти папки существуют, сценарии устанавливаются с правами доступа к файлам 755. Если сценарий определяет, что папка /etc/rc.d/init.d/ существует, выполняется также команда chkconfig --add asterisk, по которой Asterisk будет добавлена в список автозагрузки. Однако в дистрибутивах, использующих только папку /etc/init.d/, этого сделано не будет. Выполнение команды make config никак не повлияет на уже запущенный процесс Asterisk, но запустит его, если он еще не выполняется.
В настоящее время этот сценарий полезен только в системе на базе Red Hat, хотя в папке ./contrib./init.d/ папки исходного кода Asterisk можно найти сценарии запуска и для других дистрибутивов (таких, как Gentoo, Mandrake и Slackware).
Использование предварительно скомпилированных двоичных файлов
Задокументированный процесс установки Asterisk предполагает, что пользователь самостоятельно компилирует исходный код. Однако некоторые дистрибутивы Linux (такие, как Debian) включают предварительно скомпилированные двоичные файлы Asterisk. При наличии таких двоичных файлов пользователи могли бы устанавливать Asterisk с помощью диспетчеров пакетов, которые предоставляются такими дистрибутивами (например, apt-get для Debian и portage для Gentoo[49] ). Но можно заметить, что многие из этих предварительно скомпилированных двоичных файлов довольно устаревшие и не соответствуют новейшим разработкам Asterisk.
Наконец, действительно существуют основные предварительно скомпилированные двоичные файлы Asterisk, которые можно загрузить и установить на любом выбранном дистрибутиве Linux. Однако применение таких двоичных файлов на самом деле не сэкономит много времени. Кроме того, мы пришли к выводу, что компиляция Asterisk при каждой установке не является слишком обременительной задачей. Мы верим, что лучший способ установки Asterisk - компиляция из исходного кода, поэтому в данной книге не