Установка Asterisk 13 + FreePBX 12 Ubuntu 14

Установка Asterisk 13 + FreePBX 12 Ubuntu 14

Сегодня расскажем про установку FreePBX 12 на Ubuntu с использованием Asterisk 13.

Первоначальная настройка Ubuntu

При установке Ubuntu выберите обязательно OpenSSH server и LAMP сервер. Установите дополнительные пакеты на ваше усмотрение.

Установка Asterisk 13 + FreePBX 12 Ubuntu 14

В ходе установки системы вам будет предложено задать пароль root пользователя MySQL, если вы не уверены, можно отставить пустым. Если пароль задан, он потребуется в дальнейшем для работы с MySQL.

Установка Asterisk 13 + FreePBX 12 Ubuntu 14

Задайте пароль 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

Перезагрузите сервер

Это требуется чтобы загрузить свежую версию ядра после апгрейда. Если вы уверены что загруженная версия последняя, можно не перезагружаться.

 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-1.4-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’.
Установка Asterisk 13 + FreePBX 12 Ubuntu 14
В разделе Core Sound Packages выберете поддержку русскоязычных файлов (если требуется)

Установка Asterisk 13 + FreePBX 12 Ubuntu 14
В разделе 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.
Установка Asterisk 13 + FreePBX 12 Ubuntu 14

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

На этом установка окончена. Если возникли трудности или вы заметили неточности в статье, просьба указать это в комментариях.


Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.