Установка Asterisk 13 + FreePBX 12 Ubuntu 14
Первоначальная настройка Ubuntu
При установке Ubuntu выберите обязательно OpenSSH server и LAMP сервер. Установите дополнительные пакеты на ваше усмотрение.
В ходе установки системы вам будет предложено задать пароль root пользователя MySQL, если вы не уверены, можно отставить пустым. Если пароль задан, он потребуется в дальнейшем для работы с MySQL.
Задайте пароль root пользователя системы
$ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password update successfully
Переключитесь на root пользователя
$ sudo -i
Сделайте апдейт системы
# apt-get update && sudo apt-get upgrade -y
Установите требуемые зависимости
apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server\ mysql-client 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 unixodbc-dev uuid uuid-dev\ libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev\ libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3 libmyodbc
Перезагрузите сервер
Это требуется чтобы загрузить свежую версию ядра после апгрейда. Если вы уверены что загруженная версия последняя, можно не перезагружаться.
reboot
Установите PearDB
pear uninstall db pear channel-update pear.php.net pear install -Z db-1.7.14
Установка Asterisk
Как использовать данное руководство.
Блоки команд с ключом '&&' могут быть скопированы вместе и будут выполняться последовательно. '&&' выполняет переход к следующей команде, при условии успешного выполнения предыдущей. Если вы хотите полностью, пошагово, контролировать процесс установки, выполните каждую команду отдельно, без ввода '&&'.
Скачайте исходные файлы
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-13-current.tar.gz && git clone https://github.com/akheron/jansson.git && wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2
Скомпилируйте и установите Lame (mp3)
cd /usr/src && tar zxvf lame-3.98.4.tar.gz && cd lame-3.98.4 && ./configure && make && make install
Скомпилируйте и установите DAHDI и LibPRI
cd /usr/src && tar xvfz dahdi-linux-complete-current.tar.gz && tar xvfz libpri-1.4-current.tar.gz && rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz && cd dahdi-linux-complete-* && make all && make install && make config && cd /usr/src/libpri-1.4.* && make && make install
Скомпилируйте и установите pjproject
(Требуется для поддержки драйвера SIP канала PjSIP)
cd /usr/src && tar -xjvf pjproject-2.2.1.tar.bz2 && cd pjproject-2.2.1 && CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound\ --disable-resample --disable-video --disable-opencore-amr && make dep && make && make install
Скомпилируйте и установите jansson
cd /usr/src/jansson && autoreconf -i && ./configure && make && make install
Скомпилируйте и установите Asterisk
cd /usr/src && tar xvfz asterisk-13-current.tar.gz && rm -f asterisk-13-current.tar.gz && cd asterisk-* && ./configure && contrib/scripts/get_mp3_source.sh && make menuselect
После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль 'format_mp3'.
В разделе Core Sound Packages выберите поддержку русскоязычных файлов (если требуется)
В разделе Extra Sound Packages выберите дополнительные звуковые файлы.
В завершении выберите Save & Exit и продолжите установку.
make && make install && make config && ldconfig
Установка и настройка FreePBX
Скачайте и распакуйте FreePBX.
cd /usr/src && wget http://mirror.freepbx.org/freepbx-12.0.43.tgz && tar zxvf freepbx-*.tgz && cd /usr/src/freepbx
Создайте пользователя 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
Настроим Apache
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini && sed -ie 's/\;date\.timezone\ \=/date\.timezone\ \=\ "Europe\/Moscow"/g' /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 && sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf && service apache2 restart
Подготовим MySQL
Требуется создать безопасный пароль для связи FreePBX и MySQL
export ASTERISK_DB_PW=`dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 - | cut -c2-18`
Эта команда сгенерирует 16-ти значный пароль и сохранит значение в переменной {ASTERISK_DB_PW}.
Подготовка базы данных Asterisk в MySQL.
Если вы задали 'root' пароль MySQL при установке, добавьте его после ключа -pyourpassword. (mysqladmin -u root -pYOURPASSWORD create asterisk)
mysqladmin -u root create asterisk mysqladmin -u root create asteriskcdrdb
Зададим права на использование БД MySQL
Замените asteriskuser на имя пользователя, которое вам нравится. Например: YOURUSER@localhost. Можно оставить как есть.
mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';" mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';" mysql -u root -e "flush privileges;"
Запустим Asterisk и установим FreePBX.
Если в предыдущем пункте вы задали собственное имя пользователя, замените asteriskuser на него. Например: –username=YOURUSER
./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
Если выполнение скрипта прерывается и появилось сообщение о ошибке, попробуйте запустить установку ещё раз.
amportal a ma refreshsignatures amportal a reload amportal chown
В завершении настроим создадим ссылку на директорию Music On Hold формата mp3
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
и запустим amportal
amportal start
Поверим состояние Asterisk подключившись к консоли
asterisk -vvr
Asterisk 13.0.1, Copyright (C) 1999 - 2014, 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 13.0.1 currently running on ubuntu (pid = 24513) ubuntu*CLI>core restart now
Подключимся к FreePBX
http://IP.Address.FreePBX.Server/admin
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX
Чтобы работало переключение на русский язык в панели управления, необходимо отредактировать файл /etc/locale.alias. Ищем строку russian ru_RU.ISO-8859-5 и правим ее.
nano +67 /etc/locale.alias
russian ru_RU.UTF-8
или sed:
sed -i 's/ru_RU.ISO-8859-5/ru_RU.UTF-8/g' /etc/locale.alias
locale-gen ru_RU service apache2 restart