Установка Asterisk 13 на Debian 8

Расскажу без лишних комментариев и отступлений об установке чистого asterisk 13 на сервер Debian 8. Ранее я уже рассматривал этот вопрос на разных дистрибутивах и версиях. Сейчас просто освежу и актуализирую предыдущие заметки на тему установки астериска, чтобы можно было простым копипастом быстро все развернуть на голом сервере. У меня по старым инструкциям не получилось, были ошибки небольшие, поэтому решил заново описать, как быстро установить asterisk на debian.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Введение

Если у вас еще нет готового сервера, рекомендую мою статью по установке и настройке Debian. Я не буду касаться вопроса настройки фаервола, буду считать, что он выключен. Но на сервере с астериском, особенно если он смотрит в интернет напрямую, обязательно надо настроить firewall. По этому поводу рекомендую мою подробную статью по настройке iptables. Там хоть и идет речь о другой операционной системе, но сами правила iptables во всех системах абсолютно одинаковые.

Приступаем к установке астериска. Я буду работать на следующей системе:

Проверка версии системы Debian

Подготовка сервера

Устанавливаем на сервер необходимые пакеты. Скажу честно, я точно не знаю, нужны ли они все. Список подсмотрел у себя, но он явно избыточный, так как там еще и freepbx ставится. Заглянул еще в несколько руководств и сделал компиляцию, убрав то, что сразу показалось лишним. Думаю, тут есть еще что-то лишнее, например libsqlite3-dev, но на 100% не уверен, а проверять каждый пакет не хочется.

# apt-get install build-essential autoconf libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev libmysqlclient-dev curl mpg123 libxml2 libxml2-dev libaudiofile-dev subversion sox libsox-fmt-all uuid-dev libjansson-dev libiksemel-dev libssl-dev libtiff5-dev mysql-client libmyodbc lame linux-headers-`uname -r` mysql-server mysql-client libtool

Установка пакетов в Debian

Дожидаемся установки всех пакетов. В процессе будет задан вопрос с паролем root для mysql, так что не уходите далеко от консоли. Параллельно можно пока скачать исходники необходимых программ - pjproject, jansson.

# cd /usr/src
# wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz

После установки пакетов, приступаем к сборке pjproject и jansson:

# cd /usr/src
# tar -xjvf pjproject-2.*
# cd pjproject-2.*
# CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr --libdir=/usr/lib64
# make dep
# make
# make install
# cd /usr/src
# tar vxfz jansson.tar.gz
# cd jansson-*
# autoreconf -i
# ./configure --libdir=/usr/lib64
# make
# make install

На этом подготовка сервера к установке asterisk 13 закончена. Приступаем к самому главному.

Установка Asterisk 13

Скачиваем и устанавливаем asterisk на debian:

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
# tar xvfz asterisk-13-current.tar.gz
# cd asterisk-*
# contrib/scripts/install_prereq install
# contrib/scripts/get_mp3_source.sh
# ./configure --libdir=/usr/lib64
# make menuselect

Asterisk menuselect

К тому, что установлено по-умолчанию, я добавляю:

  • На первой вкладке format_mp3.
  • В Core Sound Packages указываю русские звуки RU-WAV.
  • В Extras Sound Packages выбираю английский EN-WAV, русского, к сожалению, нет.

Продолжаю, после принятия настроек, нажатием на Save & Exit.

# make
# make install
# make samples
# make config
# ldconfig

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

# systemctl start asterisk
Job for asterisk.service failed. See 'systemctl status asterisk.service' and 'journalctl -xn' for details.

Asterisk не стартует. Я получаю ошибку. Смотрим, в чем проблема:

Asterisk не запускается

Starting Asterisk PBX: asterisk/usr/sbin/asterisk: error while loading shared libraries: libasteriskssl.so.1

Астериск не может найти один из модулей. Проверяем, где он в системе:

# whereis libasteriskssl.so.1
libasteriskssl.so: /usr/lib64/libasteriskssl.so.1 /usr/lib64/libasteriskssl.so

Мне не понятна эта ошибка запуска астериска. Сама библиотека на месте и лежит в /usr/lib64. Параметр при сборке астериска:

# ./configure --libdir=/usr/lib64

Должен явно указывать смотреть библиотеки в этой папке, но почему-то все равно возникает ошибка. Исправляем ее вручную. Добавляем в /etc/ld.so.conf.d/libc.conf необходимый путь до библиотеки:

/usr/lib64

После этого выполняем:

# ldconfig

Снова пробуем стартовать:

# systemctl start asterisk

И проверяем работу:

Проверка состояния сервиса asterisk

Добавим астериск в автозагрузку:

# systemctl enable asterisk

Запускаем консоль астериск и убеждаемся, что все в порядке:

# rasterisk

консоль rasterisk

Все в порядке, сервер телефонии asterisk установлен и готов к работе.

Заключение

Мы установили оригинальную версию asterisk 13 на сервер под управлением debian 8 без каких-либо дополнений и web панелей. Дальше можно приступать к настройке. Я рекомендую воспользоваться моей инструкцией по базовой настройке asterisk с нуля. Там подробно рассказано как сконфигурировать основной функционал, который удовлетворит потребности в телефонии для среднестатистического офиса. Настройка включает в себя так же запись разговоров и подробную статистику звонков.

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Дополнительные материалы по Debian

Рекомендую полезные материалы по Debian:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка сети
  • Обновление 8 до 9
  • Обновление 7 до 8
  • Включение логов cron
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика.
Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования.
Подробное описание настройки сети в Debian - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Обновление предыдущей версии Debian 8 Jessie до последней Debian 9 Stratch. Подробная инструкция с описанием по каждому этапу обновления.
Обновление версии Debian 7 wheezy до Debian 8 Jessie. Подробная инструкция с описанием по каждому этапу обновления.
Включение записи логов cron в Debian в отдельный файл и настройка ротации этого файла. Отключение логов в syslog.
Настройка программных комплексов
 
  • Proxmox
  • Шлюз в интернет
  • Установка Asterisk
  • Asterisk+Freepbx
  • PostgreSQL для 1С
  • Настройка pptp
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке.
Настройка интернет шлюза на Debian. Включает в себя настройку iptables, nat, dhcp, dns, iftop.
Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk.
Установка Freepbx 12 и Asterisk 13 на сервер под управлением Debian/Ubuntu. Подробное описание и разбор ошибок установки.
Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива.
Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети.
Разное
  • Бэкап с помощью rsync
  • Тюнинг postgresl для 1C
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.
Ускорение работы 1С с postgresql и диагностика проблем производительности

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

11 комментариев

  1. Владимир, подскажите, Вы собираетесь актуализировать данную статью под Debian 10 Buster? Если да, то когда можно это ожидать?
    Спасибо!

    • Я пытался недавно, но у меня не получилось настроить. Слишком много проблем с пакетами, зависимостями. Не смог без ошибок провести установку freepbx. Там мало того, что с пакетами некоторыми проблемы, еще и непонятки с версией php. В общем, пока одни вопросы. На Debian 10 freepbx поставить не получится.

    • Стоп, я перепутал записи. Эта про ванильный asterisk. В ближайшее время обновлю, уже план составил по обновлению статей и там эта есть. Проблемы именно с freepbx были. Я с нее первой начал.

  2. Стареет статья
    добавлять пакеты
    apt-get install libspeexdsp-dev libspeex-dev xmlstarlet libsrtp0-dev libspandsp-dev libcurl4-openssl-dev
    сборку делать через
    ./configure --with-pjproject-bundled --with-crypto --with-ssl=ssl --with-srtp
    и не нужно отдельно ставить pjproject будет

  3. Доброго времени суток.
    При сборке и установке библиотеки pjsip выдает ошибку о невозможности создания каталога ну и дальше все стопится. Команды выполняю от рута. Не могу понять в чем проблема. Не сталкивались? вывод консоли после sudo make dep && make && make install

    make[1]: вход в каталог «/usr/src/pjproject-2.3/pjlib/build»
    make -f /usr/src/pjproject-2.3/build/rules.mak APP=PJLIB app=pjlib ../lib/libpj-i686-pc-linux-gnu.a
    make[2]: вход в каталог «/usr/src/pjproject-2.3/pjlib/build»
    mkdir -p output/pjlib-i686-pc-linux-gnu/
    mkdir: невозможно создать каталог «output/pjlib-i686-pc-linux-gnu/»: Отказано в доступе
    /usr/src/pjproject-2.3/build/rules.mak:176: ошибка выполнения рецепта для цели «output/pjlib-i686-pc-linux-gnu/»
    make[2]: *** [output/pjlib-i686-pc-linux-gnu/] Ошибка 1
    make[2]: выход из каталога «/usr/src/pjproject-2.3/pjlib/build»
    Makefile:105: ошибка выполнения рецепта для цели «libpj-i686-pc-linux-gnu.a»
    make[1]: *** [libpj-i686-pc-linux-gnu.a] Ошибка 2
    make[1]: выход из каталога «/usr/src/pjproject-2.3/pjlib/build»
    Makefile:14: ошибка выполнения рецепта для цели «all»
    make: *** [all] Ошибка 1

  4. Вячеслав

    Можете пояснить, зачем ставить именно 13 версию и пакеты pjproject и jansson ?
    Почему нельзя поставить asterisk из стандартного репозитория, он не будет нормально работать?
    Спасибо !

    • На текущий момент 13-я версия - последняя LTS версия. Что сейчас в репозиториях, не знаю, не проверял. Если тоже 13-я, то можно ее ставить из репозитория. Из исходников просто более новая версия собирается, чем есть в репах. Если нужно оперативное обновление, то тоже из исходников собирать надо.

  5. Добрый день.
    Прочитал здесь несколько статей про различные варианты установки Asterisk 13.
    Заметил одну вещь: во всех мануалах ставятся такие пакеты, как pjproject и jansson.
    Но, не во всех используются пакеты DAHDI и LIBPRI.
    Подскажите пожалуйста, с чем это связано?

  6. Алексей

    Доброго времени суток!

    Спасибо Вам за познавательные статьи, уже неоднократно к ним обращался, очень выручают!

    Скажите, пожалуйста, планируется к написанию статья, о сборке freepbx на 13-й или 14-й версии Астера?

    з.ы про статью у Вас "Установка Asterisk + Freepbx на Debian/Ubuntu", знаю :)

    Заранее благодарю.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar