Данная статья предполагает установку Asterisk 13 на Сервер Ubuntu 14 + FreePBX 13 с самого нуля.
Первоначальная настройка системы
При начальной установке Ubuntu выберите обязательно OpenSSH server и LAMP сервер. Установите дополнительные пакеты на ваше усмотрение.
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’.
В разделе Core Sound Packages выберете поддержку русскоязычных файлов (если требуется)
В разделе Extra Sound Packages выберете дополнительные звуковые файлы.
Для работы факсов в меню Resource Modules необходимо активировать два модуля:
[*] res_fax
[*] res_fax_spandsp
Если до этого приложение было собрано корректно, то должна быть возможность выбрать эти модули, поставив около них звездочку.
В завершении выберете 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
СПАСИБО!!! Это САМАЯ ЛУЧШАЯ и СВЕЖАЯ на данный момент инструкция которая есть в интернете!
А вот про генерация пароля косяк
Добрый день! Подскажите, я испрользую более новую версию ubuntu и имею php 7 версии, а потому при настройке ассоциаций из пункта 3 у меня выходят ошибки, что пакеты не найдены. Я, к огромнейшему сожалению, пока новичoк и не смог сам изменить код, для правильно исполнения команды (стало выводить еще больше ошибок), что нужно прописать, что бы не возникало проблем с пакетами?
<>
Добрый день, Алексей.
Даже не знаю чем Вам помочь. Данную инструкцию писал для себя, поэтому делюсь как есть.
Можно попробовать не ставить LAMP а вручную поставить mysql 5.5 и php5.5 но я не проверял
У вас в инструкции нет раздела по созданию баз 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 сервер.
Добрый день.
А разве не нужно после создания пользователя включить запуск астериска от его пользователя — раскоментировав в /etc/default/asterisk
AST_USER=»asterisk»
AST_GROUP=»asterisk»
??
Без этого получаю ошибку FreePbx retrive_conf не обноружен
Добрый день. Вы правы, проверил всю инструкцию на виртуалке, многое изменилось. Теперь все работает, как надо.