Недавно понадобилось установить и настроить Asterisk на сервере с os Debian 7 wheezy. Набор софта и операционная система известные и популярные, в интернете масса инструкций и гайдов. Но на деле все равно пришлось повозиться, возникли в процессе установки некоторые нюансы, о которых в других местах информации не нашел.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Внимание, это устаревшая статья, вышла новая версия материала по установке freepbx на debian/ubuntu с установкой последних версий дистрибутивов. Используйте эту статью только если вам нужны конкретно те версии, что указаны в материале. |
Нюансы эти скорее всего связаны с различными версиями программ. Конкретно в этой статье я опишу установку сервера ip телефонии Astersik 11 и панели управления к нему FreePBX 2.11 на операционной системе Debian 7 wheezy
Подготавливаем Debian 7 к установке Asterisk и FreePBX
Мы имеем свежеустановленную Debian 7 с самой минимальной конфигурацией. Чистая система и ssh сервер для удаленного доступа.
Первым делом обновим систему:
# apt-get update && apt-get upgrade -y
Для удобства установим mc:
# apt-get install mc
И сделаем редактором по-умолчанию mcedit:
# update-alternatives --config editor Selection Path Priority Status ------------------------------------------------------------ * 0 /bin/nano 40 auto mode 1 /bin/nano 40 manual mode 2 /usr/bin/mcedit 25 manual mode 3 /usr/bin/vim.tiny 10 manual mode Press enter to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/bin/mcedit to provide /usr/bin/editor (editor) in manual mode
Теперь настроим автоматическое обновление времени через интернет:
# apt-get install ntp
После установки ntp запустится, подключится к интернету, синхронизирует время и пропишет себя в автозапуск.
Предварительная настройка закончена. Теперь ставим необходимые пакеты для asterisk и freepbx:
# apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client libgnutls26 bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion
Переустанавливаем PearDB:
# pear uninstall db # pear install db-1.7.14
Перезагружаемся:
# reboot
Устанавливаем и настраиваем Asterisk
Скачиваем исходники:
# 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 xvfz dahdi-linux-complete-current.tar.gz # cd dahdi-linux-complete-2.10.0.1+2.10.0.1 # make all # make install # make config
# cd /usr/src # tar xvfz libpri-1.4-current.tar.gz # cd libpri-1.4.15 # make # make install
# cd /usr/src # tar xvfz asterisk-11-current.tar.gz # cd asterisk-11.15.0 # ./configure
# contrib/scripts/get_mp3_source.sh # make menuselect
# make # make install # make config
Устанавливаем и настраиваем FreePBX
Скачиваем и распаковываем FreePBX:
# export VER_FREEPBX=2.11 # cd /usr/src # git clone http://git.freepbx.org/scm/freepbx/framework.git freepbx # cd freepbx # git checkout release/${VER_FREEPBX}
Теперь создадим пользователя Asterisk и назначим права:
# adduser asterisk --disabled-password --gecos "Asterisk" # chown asterisk. /var/run/asterisk # chown -R asterisk. /etc/asterisk # chown -R asterisk. /var/{lib,log,spool}/asterisk # chown -R asterisk. /usr/lib/asterisk # chown -R asterisk. /var/www/
Редактируем конфиги php и apache для наших нужд:
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini # cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig # sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf # service apache2 restart [ ok ] Restarting web server: apache2 ... waiting .
Создаем пользователя и базы данных в mysql для asterisk:
# mysqladmin -u root -p create asterisk # mysqladmin -u root -p create asteriskcdrdb # mysql -u root -p asterisk < SQL/newinstall.sql # mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql
# mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '123';" # mysql -u root -p -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '123';" # mysql -u root -p -e "flush privileges;"
Запускаем astersik:
# /usr/src/freepbx/start_asterisk start
Проверяем, запустился или нет:
# netstat -ltupn | grep asterisk tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 28133/asterisk udp 0 0 0.0.0.0:4569 0.0.0.0:* 28133/asterisk udp 0 0 0.0.0.0:5000 0.0.0.0:* 28133/asterisk udp 0 0 0.0.0.0:4520 0.0.0.0:* 28133/asterisk udp 0 0 0.0.0.0:5060 0.0.0.0:* 28133/asterisk
Если видите что-то подобное, то все в порядке.
Устанавливаем FreePBX:
# /usr/src/freepbx/install_amp --webroot /var/www
Отвечаем на вопросы:
Checking for PEAR DB..OK Checking for PEAR Console::Getopt..OK Using Webroot at /var/www Checking user..OK Checking if Asterisk is running..running with PID: 28133..OK Checking for /etc/amportal.conf../etc/amportal.conf does not exist, copying default PHP Warning: copy(amportal.conf): failed to open stream: No such file or directory in /usr/src/freepbx/install_amp on line 1035 PHP Warning: chown(): No such file or directory in /usr/src/freepbx/install_amp on line 1039 PHP Warning: chgrp(): No such file or directory in /usr/src/freepbx/install_amp on line 1040 PHP Warning: chmod(): No such file or directory in /usr/src/freepbx/install_amp on line 1041 Creating new /etc/amportal.conf Enter your USERNAME to connect to the 'asterisk' database: [asteriskuser] Enter your PASSWORD to connect to the 'asterisk' database: [amp109] 123 Enter the hostname of the 'asterisk' database: [localhost] Enter a USERNAME to connect to the Asterisk Manager interface: [admin] Enter a PASSWORD to connect to the Asterisk Manager interface: [amp111] 123 Enter the path to use for your AMP web root: [/var/www]Enter the IP ADDRESS or hostname used to access the AMP web-admin: [192.168.1.1] 192.168.1.111 Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]? [extensions] Enter directory in which to store AMP executable scripts: [/var/lib/asterisk/bin] Created /var/lib/asterisk/bin Enter directory in which to store super-user scripts: [/usr/local/sbin]
Продолжаем установку:
# amportal a ma installall
Если вы получаете в конце ошибку:
Failed to install due to the following missing required module(s):<br /><br />manager<br /><br />The following error(s) occured: - Failed to run installation scripts
а в выводе следующей команды
# amportal a reload
получаете сообщение:
[FATAL] Unable to connect to Asterisk Manager from /var/lib/asterisk/bin/retrieve_conf, aborting
То нужно сделать следующее:
Остановить asterisk:
# /etc/init.d/asterisk stop
Отредактировать файл /etc/asterisk/manager.conf
В последний двух строчках вместо символов # поставить ; Asterisk не понимает привычный символ решетки, в его синтаксисе комментарии выделяются точкой с запятой.
Было:
#include manager_additional.conf #include manager_custom.conf
Стало:
;include manager_additional.conf ;include manager_custom.conf
Теперь запускаем asterisk:
# /usr/src/freepbx/start_asterisk start
И снова выполняем:
# amportal a reload Please wait...Successfully reloaded
Теперь все готово. Можно заходить через браузер по адресу http://192.168.1.111/ и продолжать настройку. Вместо 192.168.1.111 вводите адрес своего сервера. О дальнейшей настройке asterisk с FreePBX я продолжу в будущих статьях.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.Дополнительные материалы по Debian
Рекомендую полезные материалы по Debian: |
Настройки системы |
---|
Подробная установка 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 на 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 на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.
Ускорение работы 1С с postgresql и диагностика проблем производительности
|
Спасибо большое за все замечания. Я понял, что движок сайта сильно повредил синтаксис, нужно все внимательно проверять. Сделаю это в ближайшее время.
Добрый день. все делал по инструкции. Не получается
После
Created /var/lib/asterisk/bin
Enter directory in which to store super-user scripts:
[/usr/local/sbin]
вылезает следующее:
http://i9.pixs.ru/storage/9/5/2/11jpg_9117870_15581952.jpg
Почему?
# amportal a ma installall
пишет "команда не найдена"
Подскажите, что делать?
Добрый вечер. Судя по скрину, у вас не установился Asterisk. Не знаю, чем тут помочь. Попробуйте аккуратно все проделать еще раз и проверить, что все установилось. Попробуйте запустить asterisk. Он запускается?
Для начала я переустановил систему по этой инструкции:
http://forum.mini-server.ru/viewtopic.php?f=42&t=778
Вообще я установил debian 7 на виртуальную машину. Есть ли подводные камни - пока не знаю :) Т.е. в консоле видно, что asterisk запущен, но отклика нет, либо я что-то не правильно делаю, т.к. у меня виртуальная машина.
Вопросы:
1.зачем делать mcedit редактором по-умолчанию?
2./etc/apt/sources.list нужно править для того, чтобы все заработало по этой инструкции?
зы: Кстати, в этой статье в некоторых местах синтаксические ошибки, не могу оперативно их найти.
Подводных камней в виртуальной машине нет. Я тоже в виртуальной среде настраивал, когда писал инструкцию.
1. У меня это привычка от Freebsd пришла. Там если не сделать mcedit редактором по-умолчанию, то им будет vi. Кто хоть раз видел vi, тому объяснять не нужно что это такое :) А дальше привык к mcedit и везде меняю на него. В Debian по-умолчанию nano, это, конечно, не vi, но mcedit более удобен и функционален.
2. Не обязательно. Я не правил ничего, у меня стоят стандартные от яндекса:
deb http://mirror.yandex.ru/debian/ wheezy main
deb-src http://mirror.yandex.ru/debian/ wheezy main
В статье все необходимое скачивается напрямую по ссылкам.
Ошибки возможны, так как писал по большей части сам, копипастив и переводя основное с официальной инструкции freepbx.
/usr/src/freepbx/install_amp—webroot /var/www
вот тут не ошибка ли?
Да, ошибка. Движок сайта скушал двойное тире и объединил в одно длинное. Должно быть вот так:
/usr/src/freepbx/install_amp --webroot /var/www
Исправил.
Еще
cd/usr/src
cd /usr/src