Готовый перевод Asterisk: The Definitive Guide, 4th Edition / Asterisk: Полное руководство, 4-е издание: CHAPTER 3 Installing Asterisk
Глава 3. Установка Asterisk
Я долго шла к великим и благородным целям, но мой главный
долг выполнять простые задачи так, как будто они великие и
благородные. Мир движется не только мощными импульсами,
которые дают ему герои, но также и крошечными толчками
каждого трудящегося человека.
Хелен Келлер
В этой главе мы собираемся пройтись по установке Asterisk из исходного кода. Многие люди
уклоняются от этого метода, утверждая, что это слишком сложно и отнимает много времени.
Наша цель, продемонстрировать, что установка Asterisk из исходников, на самом деле, это
просто. Что еще более важно, мы хотим, предоставить вам лучшую платформу Asterisk, для
обучения.
В этой книге мы поможем вам построить функционирующую систему Asterisk с нуля.
В этой главе вы будете строить базовую платформу для системы Asterisk. Учитывая то, что мы
производим установку из исходников, есть много нюансов в том, как вы можете это сделать.
Процесс, который обсуждается здесь, мы использовали в течение многих лет, и готовы
предоставить вам подходящую основу для Asterisk.
В рамках этого процесса мы будем объяснять различные зависимости от других программ
на Linux платформе, которые будут описаны в последующих главах этой книги (например,
интеграция с базами данных). Мы покажем, инструкции по установке Asterisk на RHEL(Red
Hat Enterprise Linux) и Ubuntu (на базе Debian), которые как мы считаем устанавливаются в
большинстве случаях из Linux дистрибутивов на сегодня. Мы постараемся сделать эту
инструкцию достаточно общей, что бы она была полезна на любом другом дистрибутиве
предпочитаемом вами.
1. Если Вы используете другой дистрибутив, то мы уверены в том, что вы довольно комфортно работаете в Linux, и у вас не должно возникнуть проблем с установкой Asterisk
Мы выбрали установку на RHEL и Ubuntu, потому что они являются самыми популярными,
но Asterisk, как правило, не зависит от дистрибутива.
Asterisk можно установить на Solaris, BSD, или OS X [7], если захотите. Мы не будем рассматривать их в этой книге, поскольку Asterisk «заточен» под Linux.
Пакеты Asterisk
Существуют также пакеты, с собранным Asterisk, которые могут быть установлены с
использованием популярных программ управления пакетами, таких как yumили apt-get.
Мы предлагаем вам по экспериментировать с ними
Если вы используете RHEL, Asterisk доступен в репозитории EPEL из проекта Fedora.
Asterisk пакеты доступны в универсальном репозитории для Ubuntu
Некоторые команды, которые вы увидите в этой главе будут разделена на отдельные строки,
для каждого дистрибутива на котором команда должна быть выполнена. Команды, для
которых дистрибутив не указан общие для обоих дистрибутивов.
Проекты на основе Asterisk
Многие проекты были созданы, с использованием Asterisk в качестве базовой платформы.
Некоторые из них, такие как Trixbox, стали настолько популярны, что многие люди
ошибочно принимают их за отдельный продукт. Эти проекты, как правило имеют в основе
Asterisk и добавленный веб-интерфейс для администрирования, комплекс баз данных, и
жесткий набор ограничений, для изменения конфигурации.
Мы решили не рассматривать эти проекты в данной книге, по нескольким причинам:
Эта книга попытка, сосредоточиться на Asterisk и только Asterisk
Есть книги с описанием некоторых из этих Asterisk проектов.
Мы считаем, что если вы узнаете Asterisk так, как мы научим вас, то эти знания
пригодятся вам, независимо от того, какое решение вы выберите в конце концов из
этих пересобранных версий Asterisk.
Для нас, сила Asterisk заключается в том, что он не пытается решить ваши
проблемы за вас. Эти проекты являются прекрасным примером того, что можно
создать на базе Asterisk.
Однако, если вы хотите построить свой собственный комплекс Asterisk (который на самом деле то, что
Asterisk это все о), эти проекты будут вас ограничивать, потому что они направлены
на упрощение процесса создания бизнес-PBX, а не облегчают доступ к полному
потенциалу системы Asterisk.
Лейф называет это “Oh-Eh-Sex”, но Джим думает, что это должно произноситься “OS Ten”.
Мы потеряли несколько драгоценных минут споря об этом об этом.
Вот список наиболее популярных Asterisk проектов:
AsteriskNOW Управляется Digium. Использует FreePBX GUI.
Elastix: использует FreePBX GUI
FreePBX Distro: Использует Free PBX GUI
PBX in a Flash: Использует Free PBX GUI
Мы рекомендуем вам потестировать их.
Шпаргалка по инсталляции
Если вы хотите досконально узнать о том, как установить Asterisk и быстро запустить,
выполняйте следующее в командной строке. Мы рекомендуем вам прочитать всю главу
целиком, по крайней мере, один раз, хотя бы для того, чтобы лучше понять весь процесс. [9]
Данные инструкции предполагают, что вы уже установили или RHEL или Ubuntu используя
шаги, описанные в разделе «Установка дистрибутива".
1 Выполните обновление системы и перезагрузку:
RHEL # yum update -y && reboot
Ubuntu # sudo apt-get update && sudo apt-get upgrade && sudo reboot
2 Синхронзируйте время и установите NTP (Network Time Protocol) демон:
RHEL # yum install -y ntp && ntpdate pool.ntp.org && \
chkconfig ntpd on && service ntpd start
Ubuntu # sudo apt-get install ntp
Примечание: В Ubuntu потребуется дополнительные настройки в текстовом файле.
Смотри главу “Enable NTP for accurate system time”
После того, как Вы прочитали нашу книгу, конечно.
Лишь установив Asterisk несколько раз, вы согласитесь с тем что это быстрый и безболезненный процесс.
Однако, читая эту главу может показаться что все сложно, но это просто объяснить тем что мы имеем обязательства перед вами и хотим быть уверенными в том что вы получите исчерпывающую информацию для успешной установки.
3 На RHEL, добавить в систему нового пользователя:
RHEL # adduser asteriskpbx && passwd asteriskpbx && \
yum install sudo && visudo
Примечание: Смотри раздел “Adding a system user” для дополнительной информации.
Примечание: Для установки на Ubuntu мы предполагаем, что созданный пользователь,
будет asteriskpbx
4 Устанавливаем необходимое ПО
RHEL # sudo yum install gcc gcc-c++ make wget subversion \
libxml2-devel ncurses-devel openssl-devel \
libxml2-devel sqlite-devel libuuid-devel vim-enhanced
Ubuntu # sudo apt-get install build-essential subversion \
libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev \
uuid-dev vim-nox
5 Создаем структуру ваших каталогов
$ mkdir -p ~/src/asterisk-complete/asterisk
$ cd ~/src/asterisk-complete/asterisk
6 Забираем последний релиз в серии Asterisk 11 с использованием wget:
$ wget \
http://downloads.asterisk.org/pub/telephony/asterisk/ \
asterisk-11-current.tar.gz
Или вы можете получить последние изменения в ветке Asterisk 11 используя Subversion:
$svn co http://svn.asterisk.org/svn/asterisk/branches/11
Или же, вы можете проверить определенный тег (версию) используя Subversion:
$ svn co http://svn.asterisk.org/svn/asterisk/tags/11.3.0
7 Собираем и устанавливаем программу:
$ cd ~/src/asterisk-complete/asterisk/11
Если вы работаете на 64-bit RHEL, запустите скрипт configure с опцией libdir:
$ ./configure —libdir=/usr/lib64
На любой другой платформе, запустите скрипт configure без всяких аргументов.
$ ./configure
В завершении, компилируем и устанавливаем Asterisk.
$ make
$ sudo make install
$ sudo make config
8 Устанавливаем дополнительные звуковые файлы (Extras Sound Packages) из menuselect:
$ cd ~/src/asterisk-complete/asterisk/11
$ make menuselect
$ sudo make install
9 Изменяем владельца установленных каталогов Asterisk:
$sudo chown -R asteriskpbx:asteriskpbx /var/lib/asterisk/
$sudo chown -R asteriskpbx:asteriskpbx /var/spool/asterisk/
$sudo chown -R asteriskpbx:asteriskpbx /var/log/asterisk/
$sudo chown -R asteriskpbx:asteriskpbx /var/run/asterisk/
Примечание: Вы можете обновить все права доступа в одной строке:
sudo chown -R asteriskpbx.asteriskpbx {/usr/lib,/var/lib,/var/spool,/var/log,/var/run,/usr/sbin}/asterisk
10 Создаем каталог /etc/asterisk/ и копируем в него файл indications.conf из шаблона:
$ sudo mkdir -p /etc/asterisk
$ sudo chown asteriskpbx:asteriskpbx /etc/asterisk
$ cd /etc/asterisk/
$ cp ~/src/asterisk-complete/asterisk/11/configs/indications.conf.sample ./indications.conf
11 Копируем шаблон файла asterisk.conf в /etc/asterisk и изменяем в нем runuser и rungroup на
значение asteriskpbx:
$ cp ~/src/asterisk-complete/asterisk/1.8/configs/asterisk.conf.sample /etc/asterisk/asterisk.conf
$ vim /etc/asterisk/asterisk.conf
Смотри раздел “indications.conf и asterisk.conf” для подробной информации
12 Создаем файл modules.conf. Включаем автоматически загружаемые модули, и отключаем дополнительные модули:
$ cat >> /etc/asterisk/modules.conf
Файл modules.conf, используется, чтобы определить, какие модули Asterisk должены загружаться (или не должны).
13 Настраиваем musiconhold.conf:
$ cat >> musiconhold.conf
; musiconhold.conf
[default]
mode=files
directory=moh
Ctrl+D
14 Сохраняем ваши изменения и конфигурационные модули. Ваша система теперь готова к настройке вашего диалплана и каналов.
Установка дистрибутива
Поскольку Asterisk сильно нагружает процессор и имеет приоритетный доступ к нему, необходимо устанавливать Asterisk на сервер без графического интерфейса, такого как система X Windowing (Gnome, KDE и т.д.). Оба дистрибутива и RHEL и Ubuntu поставляются с предназначенной для использования под сервера. Мы рассмотрим инструкции для обоих
дистрибутивов.
RHEL сервер
Вы должны скачать образ RHEL Server ISO с сайта Red Hat http://www.redhat.com. Инструкции по скачиванию вы найдете на http://www.redhat.com/download/howto_download.html.
Запишите скачанный вами ISO файл на CD или DVD и запустите процесс инсталляции. Если вы устанавливаете в виртуальной машине (что мы не рекомендуем для промышленного использования, но это хороший путь протестировать Asterisk), вы можете смонтировать ISO файл и установить его.
Установка базовой системы
Загрузитесь с CD, выберите Установка и обновление существующей системы (Install or upgrade an existing system). Вам будет задан вопрос, вы хотите проверить носитель. Если вы запускаете установку с этого CD в первый раз, вы должны выбрать OK. После завершения проверки носителя, запуститься интерфейс установки. Выберите Next для перехода к первому шагу установки.
Выберите язык и задайте раскладку клавиатуры. Если вы находитесь в северной Америке, можете оставить установки по умолчанию. Затем вас спросят, какой тип устройства хранения нужно задействовать в установке. Если вы не уверены что выбрать, выберите Basic Storage Devices.
Следующим шагом вам нужно ввести имя для машины. Введите подходящее и выберите Next.
Вам нужно выбрать часовой пояс. Выбрали и нажали Next.
В этой точке вам нужно ввести пароль для root. Введите секретный пароль и подтвердите его повторным вводом. После ввода пароля нажмите Next.
Следующий экран спросит о типе установке. Если вы намереваетесь использовать весь носитель под эту установку, выберите Use All Space (использовать все пространство). Или выберите вариант который больше вам подходит. Два checkboxes на экране в инсталяторе.
Один включает шифрование на жестком диске. Другой позволяет вам просмотреть и изменить схему разделов которую создал установщик для вас. Выберите один или оба варианта, если нужно. После того как вы сделали необходимый выбор, нажмите Next для продолжения. У вас запросят дополнительное подтверждение на внесение изменений,
поскольку все данные на жестком диске будут потеряны после этой точки.
Выделение точки монтирования /var в отдельный раздел
На системе, предназначенной для Asterisk, к каталогу /var предъявляются повышенные требования. Это место где Asterisk будет хранить записи, сообщения голосовой почты, файлы журналов, подсказки и множество постоянно растущей информации. В нормальном режиме работы, маловероятно, что Asterisk заполнит весь жесткий диск. Тем не менее, если у вас включено активное журналирование или идет запись всех звонков,
то в теории, это может произойти. (Это может произойти через несколько месяцев после того как вы закончили установку и поймать ваш персонал врасплох.)
Если диск с операционной системой методично заполняется, то есть шанс получить kernel panic. Отделяя /var от остальной части жесткого диска, вы значительно снижаете риск сбоя системы.
Примечание: Полностью заполненный объем диска по-прежнему является серьезной проблемой, однако, вы по крайней мере сможете войти в систему, чтобы исправить ситуацию.
На экране Review and modify the partitioning layout, вы можете создать отдельное значение для /var. Выбор Yes приведет к появлению инструмента Partitioning. Для точного создания разделов на диске, вам нужно знать размер жесткого диска; а он не соответствует маркировке на крышке диска, поскольку вы должны сказать инструменту как разбивать диск. Ограничением инструмента является то, что нет возможности сказать
"использовать все доступное пространство"; то есть вы не можете просто использовать 500 MB на / раздел и затем сказать “использовать оставшееся под /var”. Чтобы решить проблему запишите его размер выбрав / как весь диск, вычтите 500 MB из этого, и получите размер раздела /.
Вычитаемая сумма будет зарезервирована под /var.
Вам будет предложено выбрать набор программного обеспечения для установки. По умолчанию Basic Server достаточно, но возможно вам понадобиться что то еще под ваши потребности. Хотя можно легко установить дополнительные пакеты позже. После того как вы сделали выбор, нажмите Next, для продолжения. Затем установщик установит все пакеты, необходимые на основе вашего выбора. Это займет некоторое время.
На данный момент установка завершена. Вас попросят перезагрузить систему. Выберите Reboot.
Базовая система обновлений
После перезагрузки системы, вам нужно выполнить команду yum update, чтобы убедиться, что у вас последняя версия базовых пакетов. Чтобы сделать это, войдите, используя пользователя root и пароль созданный вами во время установки. После входа в систему, выполните следующие действия:
# yum update
Is this ok [y/N]: y
Вам будет предложено установить последние пакеты, нажмите y и ждите обновления пакетов. Если вас попросят принять ключи GPG, нажмите у. Когда закончите, перезагрузите систему, поскольку есть большая вероятность, что ядро было обновлено:
# reboot
Поздравляем! Вы успешно установили и обновили базовую систему RHEL
Включение NTP для точного времени в системе
Поддержка точного времени необходима в системе Asterisk, как для точных подробных записей вызов (CDR) и для синхронизации с другими программами. Вы же не хотите что бы время ваших сообщений на голосовой почте, отличалось на 10 или 20 минут, так как это может привести к путанице и панике и, кто то может подумать, что их сообщения голосовой почты доставляется слишком медленно. Команда ntpd может быть использована для
синхронизации времени на вашем сервере Asterisk с остальным миром:
# yum install ntp
...
Is this ok [y/N]: y
...
# ntpdate pool.ntp.org
# chkconfig ntpd on
# service ntpd start
Идущая по умолчанию конфигурация с RHEL достаточна, чтобы синхронизировать время машины с остальным миром
Перезагрузка необходима перед установкой Asterisk.
Добавление пользователя в систему
Процесс установки сервера Ubuntu попросит вас добавить пользователя в систему отличного от root, а RHEL нет. Для последовательного изложения в книге и для большей безопасности, мы собираемся добавить еще одного пользователя в систему и предоставить ему доступ к sudo. Чтобы добавить нового пользователя, выполните команду adduser:
# adduser asteriskpbx
# passwd asteriskpbx
Changing password for user asteriskpbx.
New UNIX password:
Retype new UNIX password:
Теперь нам нужно обеспечить доступ пользователя asteriskpbx к sudo. Мы делаем это путем изменения файла sudoers командой visudo.
Выполните команду visudo и посмотрите на строку ниже:
# visudo
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
Снимите комментарий с строки %wheel как показано в нашем примере, сохраните файл нажав Esc, а затем набрав :wq и нажмите Enter. Теперь откройте файл /etc/group в вашем любимом редакторе (nano прост в использовании) и найдите строку которая начинается со слова wheel. Измените её примерно так:
wheel:x:10:root,asteriskpbx
Сохраните файл, выйдите из под root набрав exit, и зайдите под созданным пользователем asteriskpbx. Протестируйте доступ к sudo запустив следующую команду:
$ sudo ls /root/
[sudo] password for asteriskpbx:
После ввода вашего пароля, вы должны получить содержание каталога /root/. Если этого не произошло, вернитесь и проверьте все шаги, чтобы убедиться, что вы не ничего пропустили или не сделали опечатку.
При выполнении остальных инструкций в этой главе будем
считать, что вы под пользователем asteriskpbx и что у вас есть доступ к sudo.
С установкой операционной системы закончили, теперь вы готовы к установке зависимостей необходимых для Asterisk. Следующий раздел посвящен Ubuntu, так что вы можете сразу перейти к разделу с названием «Зависимости программного обеспечения», который предусматривает углубленный обзор процесса установки. Кроме того, если вы уже изучили информацию в этом разделе, вы можете обратиться к разделу "Шпаргалка по
установке" для поверхностного обзора, как установить Asterisk.
sudo-это приложение, которое позволяет пользователю выполнять команды от имени другого пользователя, такие как root или superuser.
Сервер Ubuntu
Сервер Ubuntu это популярный свободный дистрибутив Linux созданный на базе Debian.
Существует также популярная десктоп версия дистрибутива. Сервер Ubuntu не содержит GUI (графической оболочки) и идеально подходит для установки Asterisk.
Возьмите последнюю версию Ubuntu Server, посетив http://www.ubuntu.com и выбрав пункт Server в верхней части страницы. Вы будите перемещены на страницу содержащую информацию о редакции Ubuntu Server. Нажмите оранжевую кнопку Download в верхнем правом углу и вы попадете на страницу где вы сможете выбрать 32-бит или 64-бит версию Ubuntu Server. После выбора одного из вариантов, вы можете нажать кнопку Start download.
После того как вы скачаете ISO файл, запишите его на CD диск и запустите процесс установки.
Если вы производите установку в виртуальной машине (мы не рекомендуем
этого делать для промышленного использования, но это будет прекрасным способом протестировать Asterisk), вы должны примонтировать ISO файл и устанавливать с него.
Установка базовой системы
При загрузке с CD, вам будет показан экран с предложением выбрать ваш язык. По умолчанию стоит английский (English), и после небольшой паузы он будет выбран автоматически. После выбора вами языка, нажмите Enter.
Следующий экран предоставит вам несколько опций, первая установить сервер Install Ubuntu Server.
Выберите её и нажмите Enter
Затем вас спросят, какой язык вы хотите использовать при установке (да, это слегка избыточно). Выберите ваш язык (по умолчанию English), и нажмите Enter.
Вам предложат выбрать страну из списка. Найдите свою, установите на неё подсвечиваемую строку и нажмите Enter.
Следующим этапом будет определение используемой раскладки клавиатуры. Если вы знаете какой тип клавиатуры вы используете, вы можете выбрать No и затем выбрать её из списка форматов.
Если вы запустите детектор раскладки клавиатуры, вам будет предложено нажать несколько клавиш. Если детектор раскладки клавиатуры не сможет верно определить вашу клавиатуру (обычно когда установка происходит в виртуальной машине через удаленную консоль), вы можете вернуться и выбрать из списка вручную.
Конечно, проекты могут изменять свои веб-сайты, когда они хотят. Надеюсь предоставляемая здесь информация достаточно точна, чтобы помочь вам, даже в случае изменения, через сайт.
Это вероятно самый простой способ для ручного выбора клавиатуры, так что если у вас есть особые требования клавиатуры, сэкономить время, пропустите процесс автоопределение, и укажите клавиатуру вручную.
После того как вы выбрали вашу клавиатуру, установка будет продолжена, пытаясь автоматически настроить сеть. Если все пойдет хорошо, вам будет предложено ввести имя для системы. Вы можете ввести любое имя, если ваша сеть не требует использовать
определенное имя от вашей системы. Введите его, и нажмите Enter.
Когда установка будет завершена, вам будет предложено ввести полное имя
нового пользователя. После ввода полного имени, система должна предложить имя пользователя на основе этого имени, однако вы вольны изменить имя пользователя.
После ввода имени пользователя, вам будет предложено указать пароль, а затем
подтвердить. Вы будете использовать их для входа в систему, после установки.
Установщик спросит вас, чтобы зашифровать ваш домашний каталог. Это необязательно и добавит нагрузку на процессор. Выберите Нет и нажмите Enter.
Далее будем считать, имя asteriskpbx, что asteriskpbx был выбран в качестве имени пользователя.
Программа установки попытается связаться с сервером Network Time Protocol (NTP) для синхронизации ваших часов. Ubuntu попытается автоматически определить ваш часовой пояс и покажет, что у неё получилось. Если она правильно определила выберите Yes, в противном случае выберите No и вы сможете в предоставленном списке временных зон выбрать нужную. Выберите свой часовой пояс, или выберите из мирового списка, если ваш часовой пояс не показан. После того как вы выбрали ваш часовой пояс, нажмите Enter,
чтобы продолжить.
Установщик задаст вам несколько вопросов о разметке вашей системы. Обычно, предложенная по умолчанию, схема хорошая, она использует систему управления, занимает весь диск, и устанавливает Logical Volume Manager (LVM). Нажмите Enter, когда вы сделаете свой выбор. Затем у вас спросят в какой раздел производить установку, наверное он будет только один в вашей системе. Нажмите Enter для продолжения, и вас еще раз попросят подтвердить изменения в таблице разделов. Выберите Yes и нажмите Enter для продолжения.
Теперь вас спросят, сколько места использовать (по умолчанию будет отведен весь диск). Нажмите Enter и затем введите и подтвердите размер пространства, которое вы хотите использовать.
Мы выбрали Asterisk PBX полное имя аккаунта.
Asteriskpbx, имя пользователя. Обратите внимание, что Ubuntu зарезервировала имя пользователя asterisk.Поэтому мы выбрали asteriskpbx как наше имени пользователя.
Ubuntu делает хорошую работу по созданию безопасной системы,
не предоставляя прямой доступ к root, а используя приложение sudo, которое позволяет запускать команды, от root, не будучи суперпользователем.
Инсталлятор запросит последнее подтверждение, прежде чем принимать изменения. Выберите Да, чтобы записать изменения. Теперь программа установки отформатирует жесткий диск, запишет схему разбиения на диск, скопирует файлы, после выполнит установочные файлы.
Если вы знакомы с более специфичной настройкой файловой системы, вы можете рассмотреть вопрос о размещении папку /var в
отдельный раздел от остальной части файловой системы. Доводы
это что лог-файлы и файл подкачки данных (asterisk использует файлы подкачки для хранения голосовой почты и других записей) файлы, которые заполнят ваш жесткий диск, и если вы поместите /var в отдельном разделе, вам будет легче получить доступ к файловой системе, если это необходимо для выполнения экстренного обслуживания.
Если ваша система находится за веб-прокси, введите сейчас информацию о прокси. Если вы не используете прокси, или ничего об этом не знаете, просто нажмите Enter
Если ваша система находится за веб-прокси, введите сейчас информацию о прокси. Если вы не используете прокси, или ничего об этом не знаете, просто нажмите Enter.Вам будет предложено, устанавливать обновления автоматически. Мы рекомендуем не производить никаких автоматических обновлений по умолчанию. Если система перезагрузится, при обновление ядра, Asterisk может оказаться не стабильным, пока вы его заново не скомпилируете (это не сделает вас популярным). Лучшая практика это устанавливать обновления регулярно и вручную, контролируя процесс. Как правило, обновление делают когда пользователи не работают или в нерабочее время (или пока работает резервная система). Выберите No automatic updates и нажмите Enter. Мы будем устанавливать зависимые пакеты с помощью apt-get, а во время установки нам нужно выбрать только один пакет: OpenSSH сервер. SSH является важным пакетом, если вы хотите выполнять работу в системе удаленно. Однако, если вы будите работать только локально, согласно вашим политикам, вы можете не устанавливать сервер OpenSSH.
Предупреждение: Нажатие на клавишу Enter приведет к продолжению установки с выбранными пакетами. Вы должны использовать пробел для переключения вашего выбора.
После того как вы выбрали сервер OpenSSH, нажмите Enter.
Говоря Asterisk, а именно DAHDI (Digium Asterisk Hardware Device Interface), это проблема. DAHDI представляет собой набор модулей ядра Linux, используемого в Asterisk.
Если это единственная операционная система на машине (что скорее всего), Ubuntu даст вам возможность установить загрузчик GRUB в вашей системе. Установщик даст вам возможность пропустить установку GRUB, поскольку это изменяет главную загрузочную запись (MBR) на вашей системе. Если есть другая операционная система, которую установщик не смог определить, и данные о которой не попадут в MBR, возможность пропустить изменение MBR это хорошо. Если это единственная операционная система установленная на вашем сервере, выберите Yes.
Когда система закончит установку, вам будет предложено удалить все носители на дисках и перезагрузить систему, выбрав Continue, после чего установка будет завершена, и система будет перезагружена.
Базовая система обновлений
Теперь, когда мы завершили установку Ubuntu Server, нам нужно выполнить обновление системы используя apt-get, чтобы убедиться, что у нас последняя версия установленных пакетов. Вам будет предложено ввести логин. Введите имя пользователя и пароль, созданные во время установки и войдите в систему (например, asteriskpbx). После входа в систему, выполните следующую команду:
$ sudo apt-get update
[sudo] password for asteriskpbx:
...
Reading package lists... Done
$ sudo apt-get upgrade
Reading state information... Done
...
Do you want to continue [Y/n]? y
Заметка: Пароль sudo это пароль с которым вы вошли в систему.
Когда будет предложено продолжить нажмите клавишу Enter, будут установлены последние обновления пакетов на данный момент. Когда закончите, перезагрузите систему, чтобы изменения вступили в силу, так как, вероятно, ядро было обновлено.
$ sudo reboot
Поздравляем! Вы успешно установили и обновили базовую систему Ubuntu Server
Включение NTP для точного системного времени
Поддержание точного времени необходимо в системе Asterisk, как для поддержания точных детальных записей вызова, а также для синхронизации с другими программами. Вы же не хотите, чтобы время уведомлений голосовой почты, сбивалось на 10 или 20 минут, так как это может привести к путанице и панике у тех, кто может подумать, что их уведомление о голосовой почте слишком долго доставляются:
$ sudo apt-get install ntp
Теперь перезапустите демон NTP:
$ sudo /etc/init.d/ntp restart
С установленной операционной системой, вы готовы к установке зависимостей необходимых для Asterisk. В следующем разделе приводится углубленный обзор процесса установки.
Если вы уже рассмотрели информацию в разделе «Зависимости программного
обеспечения", вы можете обратиться к разделу "Шпаргалка по установке" для обзора на высоком уровне, как установить Asterisk.
Зависимости программного обеспечения
Первое, что нужно сделать, после завершения установки операционной системы это установить зависимое программного обеспечения требуемое для Asterisk. Команды, перечисленные в таблице 3.1, "Зависимое программное обеспечение для Asterisk на Ubuntu Server и RHEL Server" были разделены на две колонки, для Ubuntu Server и RHEL Server.
Эти пакеты позволят вам собрать базовую систему Asterisk, вместе с DAHDI и LibPRI. Не все модули можно скомпилировать с этими зависимостями, а только часто используемые. Если нужны дополнительные зависимости, для других модулей, используемых в этой книге далее, то инструкции будут предоставлены по мере необходимости.
Таблица 3.1. Зависимое программное обеспечение для Asterisk на Ubuntu Server и RHEL Server
Эти пакеты почти все, что вам нужно, чтобы начать установку Asterisk, DAHDI, и LibPRI. Обратите внимание, что пакеты которые мы указали также имеют зависимости которые нужно удовлетворить установкой соответствующих пакетов. Зависимости будут разрешены автоматически, если вы используете либо yum или apt-get.
Мы также включили разрабатываемые библиотеки OpenSSL, которые не являются строго необходимыми для компиляции Asterisk, но их не плохо бы иметь: они позволяют поддерживать ключи и другие функции шифрования.
В качестве редактора мы установили vim, но вы можете выбрать любой, например, nano, joe, или emacs.
Asterisk. В текущее время он полностью поддерживает Ubuntu, но у него нет полного списка необходимых для RHEL пакетов. После того как вы скачали Asterisk, используя инструкции в разделе "Загрузка того что нужно", используйте следующие команды, для его запуска:
$ cd ~/src/asterisk-complete/asterisk/11
$ sudo ./contrib/scripts/install_prereq install
$ sudo ./contrib/scripts/install_prereq install-unpackaged
Сторонние Репозиторе.
Для некоторых программных зависимостей, сторонние репозитории могут быть необходимы. Как представляется, это наиболее часто бывает при использовании RHEL. Пару репозиториев, которые в состоянии обеспечить необходимыми зависимостями RPMforge и EPEL (ExtraPackages for Enterprise Linux).
Мы можем время от времени ссылаться на эти сторонние репозитории, когда должны получить зависимость для модуля, которые пытаемся собрать и использовать.
Загружайте то, что Вам нужно
Есть несколько способов получить Asterisk: через репозитории кода, через wget с сайта загрузки, или через систему управления пакетами, такие как apt-get или yum. Мы только собираемся охватить первые два метода, так как заинтересованы в создании последней версии Asterisk от разработчиков. Как правило, системы управления пакетами будет версии, старше, чем в репозитории или сайте загрузок, поэтому мы хотим быть уверены, что у нас есть наиболее свежая и исправленная версия.
Прежде чем мы начнем получать исходные файлы, создадим каталоги для размещения загружаемого кода. Мы создаем каталоги в домашней директории для пользователя asteriskpbx в системе. Как только все будет готова, он будет установлен командой sudo. Затем вернемся и изменим права доступа установленные на файлы.
Для начала, выполните следующую команду:
$ mkdir-p ~/src/asterisk-полный/asterisk
Теперь, когда мы создали структуру каталогов, давайте получим исходный код.
Выберем один из двух методов, для скачивания файлов:
репозиторий
wget
Получение последней версии
Asterisk- это постоянно развивающийся проект, и есть много разных версий
программного обеспечения, которые вы можете скачать.
В главе 2 Мы говорили о версиях Asterisk. Главное понять, что версия установки Asterisk важна, потому что на протяжении многих лет система претерпела много
изменений. Поэтому, если Вы не в курсе, мы настоятельно рекомендуем вернуться и прочесть “о версиях Asterisk” на стр. 29.
В большинстве случаев все, что вам нужно сделать, это взять последнюю версию Asterisk с сайта. Мы же будем устанавливать и использовать Asterisk 11 на протяжении всей этой книги.
Получение исходного кода с помощью Subversion
Subversion является система контроля версий, которая используется разработчиками для отслеживания изменений в коде, в течение определенного периода времени. Каждый раз, когда код будет изменен, он должен быть извлечен из репозитория; затем он должен быть возвращен обратно, после чего изменения регистрируются
Таким образом, если изменение создает регрессии, разработчики могут вернуться к этому изменению и при необходимости удалить его. Это мощная и надежная система для разработки. Это также может быть полезным для Asterisk администраторов, стремящихся получить программное обеспечение.
Скачать исходный код последней версии Asterisk 11 можно, используя эти команды:
$ cd ~/src/asterisk-полный/asterisk
$ svn co http://svn.asterisk.org/svn/asterisk/branches/11
Переведено на Нотабеноиде
http://notabenoid.org/book/51613/218104
Переводчики: chemtech, bel_danil, juvantusik, wizzle
asterisk
Настройки
Готово:
