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

freepbx3 Данная статья предполагает установку Asterisk 13 на Сервер Ubuntu 14 + FreePBX 13 с самого нуля.

 Первоначальная настройка системы

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

1. MySQL пароль
Через некоторое время система предложит задать root пароль для MySQL. Просто пропустите этот пункт оставив пароль пустым и нажав Enter.

2. После установки сервера, зайдите в терминал Ubuntu и обновите системные пакеты.

apt-get update && sudo apt-get upgrade -y

3. Установите требуемые зависимости

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 php5-gd curl sox\
  libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3\
  libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev\
  libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev\
  libspandsp-dev subversion libmyodbc

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

reboot

5. Установите PearDB

pear install Console_Getopt

6. Скачайте исходные файлы

cd /usr/src
wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.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://soft-switch.org/downloads/spandsp/spandsp-0.0.6pre21.tgz &&
git clone https://github.com/akheron/jansson.git &&
wget http://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2 &&
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

7. Скомпилируйте и установите Lame (mp3)

cd /usr/src &&
tar zxvf lame-3.99.5.tar.gz &&
cd lame-3.99.5 &&
./configure &&
make &&
make install

8. Скомпилируйте и установите DAHDI и LibPRI (Если у вас нет физически установленных карт T1, E1, то можно пропустить)

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-current &&
make &&
make install

9. Скомпилируйте и установите pjproject

cd /usr/src &&
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

10. Скомпилируйте и установите jansson

cd /usr/src/jansson &&
autoreconf -i &&
./configure &&
make &&
make install

11. Скомпилируйте и установите SpanDSP

cd /usr/src/ &&
tar zxvf spandsp-0.0.6pre21.tgz &&
cd spandsp-0.0.6 &&
./configure &&
make &&
make install

12. Скомпилируйте и установите 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’.

Asteriskmenuselect1

В разделе Core Sound Packages выберете поддержку русскоязычных файлов (если требуется)

Asteriskmenuselect2

В разделе Extra Sound Packages выберете дополнительные звуковые файлы.

Asteriskmenuselect3

 

Для работы факсов в меню Resource Modules необходимо активировать два модуля:
[*] res_fax
[*] res_fax_spandsp

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

 

В завершении выберете Save & Exit и продолжите установку.

make &&
make install &&
make config &&
ldconfig

13. Создайте пользователя Asterisk и задайте права пользователя.
Последняя строчка удаляет дефолтную папку html.

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 &&
rm -rf /var/www/html

Откройте файл

nano /etc/default/asterisk

и раскоментируйте строки
AST_USER=»asterisk»
AST_GROUP=»asterisk»
для запуска Астериска от пользователя asterisk

15. Перезагрузитесь

reboot

Проверьте состояние Asterisk подключившись к консоли

asterisk -vvvr
Установка и настройка FreePBX.

14. Настройте Apache

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /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 &&
a2enmod rewrite &&
service apache2 restart

15. Настройка ODBC
Откройте файл /etc/odbcinst.ini и добавьте следующие строки. Обратите внимание, что эта команда предполагает, что вы устанавливаете на новую машину и что файл пуст. Если это не так, то лучше сделать это вручную.

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

Откройте файла /etc/odbc.ini и добавьте следующий раздел. Обратите внимание, что, опять же, эта команда предполагает, что вы устанавливаете на новую машину, и файл пуст. Если это не так, то лучше сделать это вручную.

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

16. Установка FreePBX 13

cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz &&
tar vxfz freepbx-13.0-latest.tgz &&
rm -f freepbx-13.0-latest.tgz &&
cd freepbx &&
./start_asterisk start &&
./install -n

Если вы задали root пароль MySQL запустите скрипт установки без ключа -n. Тогда во время установки вам будет предложено ввести пароль

cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz &&
tar vxfz freepbx-13.0-latest.tgz &&
rm -f freepbx-13.0-latest.tgz &&
cd freepbx &&
./start_asterisk start &&
./install

Вот и все.

Подключимся к FreePBX

http://IP.Address.FreePBX.Server/admin
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX

2016-04-12_16-25-21

9 комментариев к “Установка FreePBX 13 Asterisk 13 на Ubuntu 14”

  1. СПАСИБО!!! Это САМАЯ ЛУЧШАЯ и СВЕЖАЯ на данный момент инструкция которая есть в интернете!

  2. Добрый день! Подскажите, я испрользую более новую версию ubuntu и имею php 7 версии, а потому при настройке ассоциаций из пункта 3 у меня выходят ошибки, что пакеты не найдены. Я, к огромнейшему сожалению, пока новичoк и не смог сам изменить код, для правильно исполнения команды (стало выводить еще больше ошибок), что нужно прописать, что бы не возникало проблем с пакетами?

    <>

    • Добрый день, Алексей.
      Даже не знаю чем Вам помочь. Данную инструкцию писал для себя, поэтому делюсь как есть.

      • Можно попробовать не ставить LAMP а вручную поставить mysql 5.5 и php5.5 но я не проверял

  3. У вас в инструкции нет раздела по созданию баз MySQL и юзера.
    В результате получаем ошибку при запуске FreePBX
    Invalid Database Permissions. The error was: SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

    • Добрый день, Павел. Немного не верно. Астериск устанавливается на чистую систему с установленным LAMP пакетом (в него уже включен MYSQL). Смотрите пункт «Первоначальная настройка системы» При начальной установке Ubuntu выберите обязательно OpenSSH server и LAMP сервер.

  4. Добрый день.
    А разве не нужно после создания пользователя включить запуск астериска от его пользователя — раскоментировав в /etc/default/asterisk
    AST_USER=»asterisk»
    AST_GROUP=»asterisk»
    ??
    Без этого получаю ошибку FreePbx retrive_conf не обноружен

    • Добрый день. Вы правы, проверил всю инструкцию на виртуалке, многое изменилось. Теперь все работает, как надо.

Добавить комментарий для linder008 Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*