Сегодня буду устанавливать Asterisk на Ubuntu Server 14.04 LTS и FreePBX 12 в качестве интерфейса управления.
И так, переключимся сразу на root пользователя:
sudo -i
Проверим есть ли обновления для системы и установим их:
apt-get update
apt-get upgrade
Установим необходимые компоненты:
apt-get install build-essential linux-headers-`uname -r` 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
Снова переключимся на пользователя root и установим PearDB (последнюю версию можно посмотреть на сайте http://pear.php.net/package/DB/download):
sudo -i
pear uninstall db
pear channel-update pear.php.net
pear install -Z db-1.7.14
pear list
Можно обновить все командой:
pear upgrade-all
Скомпилируем и установим Lame (это кодек mp3, его можно также установить автоматически командой sudo apt-get install lame):
cd /usr/src
wget https://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz
tar zxvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install
Скомпилируем и установим DAHDI (драйвер для плат, его также можно установить автоматически командой sudo apt-get install dahdi):
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar xvfz dahdi-linux-complete-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
Скомпилируем и установим LibPRI (необходимая библиотека, можно установить также через apt-get install libpri1.4):
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
tar xvfz libpri-current.tar.gz
cd /usr/src/libpri-*
make
make install
Скомпилируем и установим PJSIP (необходимая библиотека):
cd /usr/src
wget http://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2
tar -xjvf pjproject-2.4.5.tar.bz2
cd pjproject-2.4.5
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
git clone https://github.com/akheron/jansson.git
cd jansson
autoreconf -i
./configure
make
make install
Посмотрим какая новая версия Asterisk есть на официальном сайте http://downloads.asterisk.org/pub/telephony/asterisk/, я взял последнюю asterisk-13, скомпилируем и установим её:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar xvfz asterisk-13-current.tar.gz
cd asterisk-*
./configure
contrib/scripts/get_mp3_source.sh
make menuselect
Для поддержки mp3 включим модуль ‘format_mp3’, отметим также что связано с mysql, в Core Sound Packages отметим поддержку русских файлов, в Extra Sound Packages выберем дополнительные звуковые файлы и выберем «Save & Exit».
Продолжаем установку:
make
make install
make config
ldconfig
Посмотрим новую версию FreePBX на официальном сайте https://www.freepbx.org/ и скачаем её:
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
Изменим некоторые настройки в конфигурационном файле Apache2:
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
sed -ie 's/\;date\.timezone\ \=/date\.timezone\ \=\ "Europe\/Kiev"/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:
mysqladmin -u root -p create asterisk
mysqladmin -u root -p create asteriskcdrdb
Создадим пользователя и пароль для доступа к базам MySQL:
mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'ПАРОЛЬ';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY 'ПАРОЛЬ';"
mysql -u root -p -e "flush privileges;"
Запустим Asterisk и установим FreePBX:
cd /usr/src/freepbx
./start_asterisk start
./install_amp --installdb --username=asterisk --password=ПАРОЛЬ
Для FreePBX нужно активировать mod_rewrite модуль в apache2:
a2enmod rewrite
service apache2 restart
Подключиться к консоли Asterisk можно командой:
asterisk -vvr
В браузере набрав IP сервера должна открываться панель FreePBX.
У меня в панели FreePBX отобразилось уведомление безопасности, по этому проверим права на файлы и перезапустим amportal:
amportal chown
amportal a ma refreshsignatures
amportal a reload
Также желательно обновить версии модулей в меню admin — module admin.
Владельцем http файлов должен быть asterisk, если вдруг права нарушены, можно вернуть их командой:
chown -R asterisk:asterisk /var/www/html/
На этом установка завершена, далее следует настройка, но об этом уже в другой статье.
Ага, вот еще увидел, что есть проблема с libmyodbc, и, похоже, надо даунгрэйдить php до пятой версии…
Здравствуйте.
Устанавливал по Вашему манулу Asterisk14.1.2 на Ubuntu-server 16.04. PHP7. После запуска выдал пару ошибок:
.Error!
Could not determine Asterisk version (got: No ethernet interface found for seeding global EID. You will have to set it manually.). Please report this.
Done
Preliminary checks done. Starting FreePBX Installation
Checking if this is a new install…Yes (No /etc/amportal.conf file detected)
Database Root installation checking credentials and permissions.
.Error!
Invalid Database Permissions. The error was: SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)
Толком не нашел ничего на этот счет, кроме рекомендации отключить модуль
noload => dundi
и про доступ к базе не понятно.
Поможете пролить свет на это? Астериск ставлю первый раз.