Asterisk 14 + Ubuntu 16
Установка Asterisk 14 и FreePBX 13. Первоначальная настройка FreePBX с нуля. Кодек Opus. php5.6. Odbc. Тотальное руководство.
При установке системы, на стадии software selectionвыберите, как минимум openssh.
Если выбран LAMP сервер, или позднее, при установке mysql-serverиз репозитория, вам будет предложено задать пароль root пользователя MySQL. Если оставить поле пустым, задать пароль можно будет после установки FreePBX 13 командой mysql:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Password');
или утилитой проверки безопасности:
mysql_secure_installation
Задайте пароль root пользователя системы
$ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password update successfully
Получите права супер пользователя
$ sudo -i
Сделайте апдейт системы
# apt update && sudo apt upgrade -y
Установите требуемые зависимости
apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server\ mysql-client bison flex sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev\ libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev\ uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev\ libsrtp0-dev libspandsp-dev libopus-dev opus-tools libiksemel-dev libiksemel-utils libiksemel3 xmlstarlet
Установка php5.6 вместо php7.0
Ubuntu 16 по умолчанию ставит из репозитория php7.0, а FreePBX с ним не дружит. Если вы планируете использовать не чистый Asterisk, надо установить php5.6.
apt install -y software-properties-common python-software-properties
add-apt-repository ppa:ondrej/php
apt update -y
apt install -y php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-odbc php5.6-db php5.6-gd php5.6-xml curl libapache2-mod-php5.6
apt install -y php-pear
a2dismod php7.0
a2enmod php5.6
systemctl restart apache2
Перезагрузите сервер, чтобы загрузить свежую версию ядра после апдейта. Если вы уверены, что загружена последняя версия, можно не перезагружать.
reboot
Убедитесь, что mod_rewrite включен, чтобы избежать возможных атак.
a2enmod rewrite service apache2 restart
Поддержка Console_Getopt
pear install Console_Getopt
Asterisk 14 установка
Как использовать данное руководство.
Блоки команд с ключом '&&' могут быть скопированы вместе и будут выполняться последовательно. '&&' выполняет переход к следующей команде, при условии успешного выполнения предыдущей. Если вы хотите полностью, по шагам, контролировать процесс установки, выполните каждую команду отдельно, без ввода '&&'.
Скачайте исходные файлы
cd /usr/src wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz && 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-current.tar.gz && wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz && git clone https://github.com/akheron/jansson.git && wget http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.tar.bz2 && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите Lame (mp3)
cd /usr/src && tar zxvf lame-3.98.4.tar.gz && cd lame-3.98.4 && ./configure && make && make install && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите DAHDI и LibPRI
cd /usr/src && tar xvfz dahdi-linux-complete-current.tar.gz && tar xvfz libpri-current.tar.gz && rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz && cd dahdi-linux-complete-* && make all && make install && make config && cd /usr/src/libpri-* && make && make install && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите pjproject
(Требуется для поддержки драйвера SIPканала PjSIP)
cd /usr/src && tar -xjvf pjproject-2.*.*.tar.bz2 && cd pjproject-* && CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound\ --disable-resample --disable-video --disable-opencore-amr && make dep && make && make install && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите jansson
cd /usr/src/jansson && autoreconf -i && ./configure && make && make install && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите Asterisk
cd /usr/src && tar xvfz asterisk-14-current.tar.gz && rm -f asterisk-14-current.tar.gz && cd asterisk-* && ./configure && contrib/scripts/get_mp3_source.sh && make menuselect
После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль 'format_mp3'. 'res_config_mysql' вынесено в addons по условиям лицензирования.
В разделе Core Sound Packagesвыберите поддержку русскоязычных файлов (если требуется) В разделе Extra Sound Packagesвыберите дополнительные звуковые файлы.
Asterisk 14 + OPUS
Asterisk 14 поддерживает Opus без дополнительных патчей. Зависимости (xmlstarlet) должны быть установлены до конфигурации. В разделе Codec Translatorsубедитесь, что модуль кодека доступен для компиляции и отметьте для установки.
Для сохранения нажмите Save & Exitи продолжите установку.
make && make install && make config && ldconfig
Если вы не планируете использовать FreePBX, команда make basic-pbxустановит минимальный начальный набор конфигов Asterisk.
Запуск от имени пользователя 'Asterisk'
Расcкомментируйте в /etc/default/asterisk
AST_USER="asterisk" AST_GROUP="asterisk"
Создайте пользователя Asterisk и задайте права пользователя.
useradd -m 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
Перезагрузите сервер и проверьте состояние Asterisk подключившись к консоли
asterisk -vvvr
Asterisk 14.2.0, Copyright (C) 1999 - 2016, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 14.2.0 currently running on ubuntu (pid = 1269) ubuntu*CLI>
Убедитесь, что Asterisk запущен под своим пользователем:
ps aux | grep asterisk asterisk 1269 4.7 11.4 1446068 57504 ? Ssl 07:57 0:07 /usr/sbin/asterisk -U asterisk -G asterisk
FreePBX 13: установка и настройка с нуля
Настроим Apache
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/5.6/apache2/php.ini && sed -ie 's/\;date\.timezone\ \=/date\.timezone\ \=\ "Europe\/Moscow"/g' /etc/php/5.6/apache2/php.ini && cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig && sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf && sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf && systemctl restart apache2
настроим ODBC
cat >> /etc/odbcinst.ini << EOF [MySQL] Description = ODBC for MySQL Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so FileUsage = 1 EOF
cat >> /etc/odbc.ini << EOF [MySQL-asteriskcdrdb] Description=MySQL connection to 'asteriskcdrdb' database driver=MySQL server=localhost database=asteriskcdrdb Port=3306 Socket=/var/run/mysqld/mysqld.sock option=3 EOF
Скачайте FreePBX
cd /usr/src && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
Распакуйте и установите
tar vxfz freepbx-13.0-latest.tgz && cd /usr/src/freepbx && ./install -n
Если при установке Ubuntu вы задали rootпароль MySQL
запустите скрипт установки без ключа -n.
Установка пройдет в интерактивном режиме,
во время которого вам будет предложено ввести пароль:
./install Database engine [mysql]: Database name [asterisk]: CDR Database name [asteriskcdrdb]: Database username [root]: Database password:
Подключимся к FreePBX
http://IP.Address.FreePBX.Server/admin
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX
Первоначальная настройка FreePBX 13
Advanced Settings
Поддержка русского языка в интерфейсе
Чтобы отображался выбор локализаций FreePBX, включите данную опцию в Settings > Advanced Settings:
Show Language setting - YesNo
Если переключение на русский не работает, выполните следующие действия:
echo "russian ru_RU.UTF-8" >> /etc/locale.alias
locale-gen ru_RU
systemctl restart apache2
Country Indications Tone
Выберите тоны КПВ, занято и тд в российском стандарте, если требуется:
Settings > Anvanced Settings - Dialplan and Operational
Обратите внимание на опцию CW Enabled by Default.
Можно отключить Call Waiting, по умолчанию, для вновь создаваемых екстеншенов.
По умолчанию включено.
Speaking Clock Time Format
Установите 24-х часовой формат времени.
Ringtime default
Измените время вызова екстеншена по умолчанию, если требуется:
SIP channel driverопределяет использование драйверов SIP. По умолчанию и chan_sipи res_pjsipвключены, но можно выбрать какой-то один из них.