Как установить FreePBX 13 с Asterisk 13 на Ubuntu 14.04 LTS. Прежде чем приступать к дальнейшей установки, убедитесь, что на вашем сервере установлен полностью рабочий LAMP, и если не установлен, то прежде чем продолжать, установите LAMP сервер. Если вы поднимаете сервер с 0, то в процессе установки как минимум установите LAMP Server и OpenSSH Server.
Приступим
Все команды делаем из под пользователя root.
sudo -i
1) Обновим системные пакеты.
apt-get update && apt-get upgrade -y
2) Устанавливаем необходимые зависимости.
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 libmyodbc
3)Перезагружаем сервер
reboot
4) Устанавливаем зависимости необходимые для Google Voice.
cd /usr/src wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar xf iksemel-1.4.tar.gz cd iksemel-* ./configure make make install
5) Переходим в /usr/src и скачиваем Dahdi, Libpri, Asterisk 13, Jansson, Pjproject.
cd /usr/src 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 wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
6) Распаковываем и устанавливаем DAHDI
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
7) Распаковываем и устанавливаем Libpri
cd .. tar xvfz libpri-1.4-current.tar.gz rm -f libpri-1.4-current.tar.gz cd libpri-* make make install
8) Распаковываем и устанавливаем Pjproject
cd .. tar -xjvf pjproject-2.4.tar.bz2 rm -f pjproject-2.4.tar.bz2 cd pjproject-2.4 CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr make dep make make install
9) Распаковываем и устанавливаем Jansson
cd .. tar vxfz jansson.tar.gz rm -f jansson.tar.gz cd jansson-* autoreconf -i ./configure make make install
10) Устанавливаем Asterisk 13
cd.. tar xvfz asterisk-13-current.tar.gz rm -f asterisk-13-current.tar.gz cd asterisk-* contrib/scripts/install_prereq install ./configure contrib/scripts/get_mp3_source.sh make menuselect
После выбора необходимых модулей для загрузки продолжаем установку.
make make install make config ldconfig update-rc.d -f asterisk remove
11) Устанавливаем Asterisk-Extra-Sounds.
cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz tar xvf asterisk-core-sounds-en-wav-current.tar.gz tar xfz asterisk-extra-sounds-en-wav-current.tar.gz tar xfz asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-core-sounds-en-g722-current.tar.gz rm -f asterisk-core-sounds-en-wav-current.tar.gz rm -f asterisk-extra-sounds-en-wav-current.tar.gz rm -f asterisk-extra-sounds-en-g722-current.tar.gz rm -f asterisk-core-sounds-en-g722-current.tar.gz
12) Добавляем пользователя 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
rm -rf /var/www/html
13) Внесем изменения в 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 service apache2 restart
14) Настраиваем ODBC
Переходим в /etc/odbcinst.ini и добавляем туда следующее:
[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
Далее в /etc/odbc.ini добавляем следующее:
[MySQL-asteriskcdrdb] Description=MySQL connection to 'asteriskcdrdb' database driver=MySQL server=localhost database=asteriskcdrdb Port=3306 Socket=/var/run/mysqld/mysqld.sock option=3
15) Генерируем безопасный пароль для FreePBX и MySQL
export ASTERISK_DB_PW=`dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 - | cut -c2-18`
16) Настроим базу данных Asterisk в MySQL. Если вы задали ‘root’ пароль MySQL при установке, добавьте его после ключа -p.
mysqladmin -uroot -ppassword create asterisk mysqladmin -uroot -ppassword create asteriskcdrdb
17) Устанавливаем права на базу данных MySQL. Замените asteriskuser на имя пользователя, которое вам нравится. Например: superaster@localhost. Можно оставить как есть.
mysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -uroot -ppassword -e "flush privileges;"
18) Скачиваем и устанавливаем FreePBX
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 --dbuser=asteriskuser --dbpass=${ASTERISK_DB_PW}
На этом все, установка закончена, и теперь можно перейти по адресу http://Ваш_IP/admin и вы попадете на страницу настройки администратора, где вам нужно будет задать логин и пароль администратора.

