Установка FreePBX 13 с Asterisk 13 на Debian 9.0


В данном готовом продукте мы будем использовать:

  • Debian 9.0
  • Asterisk 13
  • FreePBX 13
  • MariaDB 10.1
  • PHP 5.6

Почему данное решение используется MariaDB, а не MySQL в качестве хранения данных в БД можно почитать в этой статье. Для установки мы будем использовать DVD-версию системы Debian 9.0 с уже установленными пакетами mariaDB, PHP 7.0
По умолчанию сервер OpenSSH в Deiban 9 настроен с параметром "PermitRootLogin without-password", он отключает root авторизацию, если используем SSH. Мне это неудобно для тестовых машин в локальной сети, поэтому включаю её обратно. Все команды выполняются от root.



1. Подготовка системы:


sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
service sshd restart
Обновим систему и системные пакеты
apt-get update && apt-get upgrade -y

2. Установим необходимые пакеты:


apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2\
  bison flex libmariadb-dev libmariadbclient-dev mariadb-server mariadb-client php-pear curl sox\
  php7.0 php7.0-mysql php7.0-mcrypt php7.0-curl php7.0-gd libapache2-mod-php7.0 php7.0-mbstring php7.0-xml\
  libncurses5-dev libssl-dev mpg123 libpng-dev libxml2-dev libxml2 libcurl3 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 sudo subversion
В процессе установки система запросит пароль для root пользователя MariaDB. Советуем создать сложный пароль и записать его.

3. Перезапустим систему:

reboot

4. Заменим PHP7.0 на PHP5.6

nano /etc/apt/sources.list
Добавим репозитории
# Repositorios de Jessie
deb http://ftp.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
Настроим предпочтения для использования двух хранилищ. Добавим в файл /etc/apt/preferences.d/jessie следующее:
Package: *
Pin: release n=stretch
Pin-Priority: 900

Package: *
Pin: release n=jessie
Pin-Priority: 100
Обновим новые параметры
apt update
Установим PHP5.6
apt install php5 php5-pgsql php5-gd php5-curl php5-cli apache2

5. Установим зависимости, необходимые для Google Voice:

pear install Console_Getopt
cd /usr/src
git clone https://github.com/meduketto/iksemel.git
cd iksemel
./configure
make
make install
ldconfig

6. Скачаем необходимые пакеты 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-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
wget http://www.digip.org/jansson/releases/jansson-2.11.tar.gz
wget http://www.pjsip.org/release/2.7.2/pjproject-2.7.2.tar.bz2

7. Распакуем и установим Dahdi, Libpri:

cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd /usr/src
tar xvfz libpri-current.tar.gz
cd libpri-*
make
make install

8. Распакуем и установим Pjproject:

cd /usr/src
tar -xjvf pjproject-2.6.tar.bz2
cd pjproject-2.6
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 /usr/src
tar vxfz jansson.tar.gz
cd jansson-*
autoreconf -i
./configure
make
make install

10. Распакуем и установим Asterisk 13:

cd /usr/src
tar xvfz asterisk-13-current.tar.gz
cd asterisk-*
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure
make menuselect
В открывшемся окне необходимо указать код страны 7



Также необходимо выбрать модули format_mp3 и те, которые могут вам понадобится в дальнейшем

После того, как модули выбраны жмем Save & Exit и продолжаем установку:
make
make install
make config
ldconfig
update-rc.d -f asterisk remove

11. Скачаем и установим звуковые файлы для Asterisk 13:

cd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-wav-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-ru-wav-current.tar.gz
tar xvf asterisk-core-sounds-ru-wav-current.tar.gz
rm -f asterisk-core-sounds-ru-wav-current.tar.gz
tar xfz asterisk-extra-sounds-ru-wav-current.tar.gz
rm -f asterisk-extra-sounds-ru-wav-current.tar.gz
# Wideband Audio download 
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-g722-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-ru-g722-current.tar.gz
tar xfz asterisk-extra-sounds-ru-g722-current.tar.gz
rm -f asterisk-extra-sounds-ru-g722-current.tar.gz
tar xfz asterisk-core-sounds-ru-g722-current.tar.gz
rm -f asterisk-core-sounds-ru-g722-current.tar.gz

12. Приступим к установке FreePBX 13. Для этого создадим пользователя и установим права на папки:

adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
usermod -a -G dialout,audio asterisk
chown -R asterisk:asterisk /var/lib/asterisk &&
chown -R asterisk:asterisk /var/log/asterisk &&
chown -R asterisk:asterisk /var/run/asterisk &&
chown -R asterisk:asterisk /var/spool/asterisk &&
chown -R asterisk:asterisk /usr/lib/asterisk &&
chown -R asterisk:asterisk /etc/asterisk &&
chmod -R u=rwX,g=rX,o= /var/lib/asterisk &&
chmod -R u=rwX,g=rX,o= /var/log/asterisk &&
chmod -R u=rwX,g=rX,o= /var/run/asterisk &&
chmod -R u=rwX,g=rX,o= /var/spool/asterisk &&
chmod -R u=rwX,g=rX,o= /usr/lib/asterisk &&
chmod -R u=rwX,g=rX,o= /etc/asterisk

13. Произведем модификацию Apache 2 для дальнейшей работы с FreePBX 13:

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:

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

15. Настроим БД MariaDB:

Вместо password указываем пароль введенный вами в процессе установки MariaDB. Должно получится: -pВАШ_ПАРОЛЬ.
Вместо asteriskuser, необходимо указать имя пользователя для доступа к БД, а вместо asteriskpassword пароль этого пользователя
mysqladmin -uroot -ppassword create asterisk
mysqladmin -uroot -ppassword create asteriskcdrdb
mysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'asteriskpassword';"
mysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'asteriskpassword';"
mysql -uroot -ppassword -e "FLUSH PRIVILEGES;"

16. Заключительный этап. Скачаем и установим FreePBX 13:

На этапе установки необходимо указать dbuser и dbpass, которые вы ввели в пункте 14.
cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
tar vxfz freepbx-13.0-latest.tgz
cd freepbx
./start_asterisk start
./install -n --dbuser=asteriskuser --dbpass=asteriskpassword
Установка закончена и теперь необходимо перейте по адресу http://ВАШ_IP/admin и произвести настройку администратора, указав логин и пароль.

На этом установка окончена, можно приступать к настройке. Если в статье допущены ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.



Опубликовать:

Комментариев нет:

Отправить комментарий

Популярность блога

Популярное