В данной статье расскажем как установить последнюю версию Asterisk 14.3.0 на операционную систему CentOS 7. Следуя нашей инструкции, Вы без труда сможете собрать Asterisk из источников. Итак, поехали!
Пошаговое видео
Подготовка
Перед началом установки, убедимся, что у нас выключена опция SElinux, по умолчанию он включен. Поэтому открываем любой текстовый редактор, например vim или nano и отключаем. Для этого:
nano /etc/sysconfig/selinux
Ищем строчку SELINUX =
и вписываем disabled:
SELINUX=disabled
Сохраняем изменения и производим перезагрузку командой reboot
. Далее, добавляем в CentOS репозиторий EPEL:
$now = new DateTime(); $date = "2017-02-22"; $interval = $now->diff($date); $age = floor((strtotime("now")-strtotime("2017-02-22"))/86400); Все ссылки актуальны на момент написания статьи (22.02.2017). Сегодня echo date("d.m.Y") (статья написана function format_by_count($count, $form1, $form2, $form3) { $count = abs($count) % 100; $lcount = $count % 10; if ($count >= 11 && $count <= 19) return($form3); if ($lcount >= 2 && $lcount <= 4) return($form2); if ($lcount == 1) return($form1); return $form3; } echo $age . ' ' . format_by_count($age, 'день', 'дня', 'дней'); назад), поэтому, в случае недоступности нужного файла, воспользуйтесь поиском в сети интернет.
rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-9.noarch.rpm yum -y update
Устанавливаем зависимости, лучше это делать в несколько команд
yum install -y gcc gcc-c++ lynx bison mariadb-devel mariadb-server mariadb gmime-devel psmisc php php-mysql php-pear php-mbstring yum install tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel yum install kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool sqlite-devel libuuid-devel bzip2
Запускаем сервис mariadb (MySQL):
systemctl enable mariadb.service systemctl start mariadb.service
Установка PearDB:
pear uninstall db pear install db-1.7.14
Теперь необходимо скачать и установить телефонные драйверы, такие как pjproject, и DAHDI, а также приложения jansson и lame.
cd /usr/src/ wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2 tar -xjvf pjproject-2.4.tar.bz2 cd pjproject-2.4* ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --libdir=/usr/lib64 make dep make make install cd ..
Скачивание и установка драйвера DAHDI
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz tar xvfz dahdi-linux-complete-current.tar.gz cd dahdi-linux-complete-* make all make install make config cd ..
Скачивание и установка приложения кодирования lame:
wget https://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz tar zxvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure make make install cd ..
Скачивание и установка jansson. Можно воспользоваться yum -y install jansson-devel
или:
wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz tar zvxf jansson-2.5.tar.gz cd jansson-2.5 ./configure --prefix=/usr make clean make make install ldconfig cd ..
Последним шагом в подготовке к установке Asterisk, является скачивание и установка библиотеки для работы с ISDN интерфейсами - libpri:
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz tar xvfz libpri-1.6.0.tar.gz cd libpri-1.6.0 make make install cd ..
Установка Asterisk
Всё готово, теперь скачаем Asterisk
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz tar xvfz asterisk-14-current.tar.gz cd asterisk-14* ./configure --libdir=/usr/lib64 contrib/scripts/get_mp3_source.sh make menuselect
После ввода команды menuselect перед вами откроется помощник установки модулей. По умолчанию, все необходимые модули уже включены, нам остаётся только добавить, то что хотим. Так, например, мы рекомендуем в разделе Add-ons включить поддержку mp3, установив параметр format_mp3, как показано на рисунке ниже:
В разделе Core Sound Packages установить нужные форматы звуковых пакетов, например, для русского и английского языков:
В разделе Music On Hold File Packages установить все значения для поддержки кодеков разных производителей оборудования:
Наконец, в Extras Sound Packages установите нужные форматы и нажмите F12:
Вы увидите сообщение о том, что преднастройка успешно завершена:
Начинаем установку, для этого вводим команду
make
По завершению отработки данной команды, мы увидим сообщение о том, что сборка Asterisk успешно завершена и теперь можно начать его установку:
Для этого вводим команды:
make install make samples make config
На этом установка Asterisk завершена, о чём сообщает следующий вывод
Теперь необходимо создать пользователя с правами доступа к директориям Asterisk
useradd -m asterisk chown asterisk.asterisk /var/run/asterisk chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk chown -R asterisk.asterisk /usr/lib64/asterisk
После этого, нужно перепустить Asterisk, чтобы изменения вступили в силу
systemctl restart asterisk
Теперь необходимо подготовить MySQL для работы с Asterisk:
mysql -u root -p //Пароль по умолчанию mysql или же никакого пароля
Создадим пользователя для работы с базами MySQL для Asterisk
create user 'merionuser'@'localhost' identified by 'merionpass'; //Пользователь – merionuser, пароль – merionpass”
Далее необходимо создать две базы данных для работы с Asterisk:
create database asterisk; create database asteriskcdrdb;
И настраиваем права для пользователя, которого создали в прошлом шаге:
GRANT ALL PRIVILEGES ON asterisk.* TO merionuser@localhost IDENTIFIED BY 'merionpass'; GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO merionuser@localhost IDENTIFIED BY 'merionpass'; flush privileges;
Теперь мы можем зайти в командную строку (CLI) Asterisk и начинать конфигурацию:
asterisk -rvv
core show help покажет список доступных команд и их описания