Сегодня расскажем про установку FreePBX 12 на Ubuntu с использованием Asterisk 13.
Первоначальная настройка Ubuntu
В ходе установки системы вам будет предложено задать пароль 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
Перезагрузите сервер
Это требуется чтобы загрузить свежую версию ядра после апгрейда. Если вы уверены что загруженная версия последняя, можно не перезагружаться.
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 &&
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
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
На этом установка окончена. Если возникли трудности или вы заметили неточности в статье, просьба указать это в комментариях.