Установка FreePBX 14 и asterisk 14 на CentOS 7

19 июля, 2017 | от | asterisk

Июл
19

Установка Asterisk 14 на CentOS 7.

asterisk 14
О новшествах в 14 версии asterisk и FreePBX можно почитать FreePBX 14 - что нового? и Asterisk 14 - что нового?

Установку будем производить на последнюю версию CentOS Linux release 7.3.1611 (Core) с установленными обновлениями на 19.07.2017
напомню, что для обновления необходимо сделать команду

yum update

Важно! 1. выключить Selinux на время установки. Включенный Selinux может привести к странному поведению во время установки.
Выключить Selinux на CentOS 7 можно с помощью команд:

sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config

После чего перезагрузим систему:

reboot

Также на время установки можно выключить firewall(не выключайте, если система доступна из интернета)

systemctl stop firewalld

Проверим, что Selinux, таки выключился:

[root@centos7 ~]# sestatus
SELinux status:                 disabled

2. Установка дополнительных пакетов, которые нам понадобятся для того, чтобы установить FreePBX 14 и Asterisk 14 на CentOS 7

yum -y groupinstall core base "Development Tools"

установим дополнительный зависимости

yum -y install lynx tftp-server unixODBC unixODBC-devel mysql-connector-odbc mariadb-server mariadb httpd ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel kernel-headers git crontabs cronie cronie-anacron wget vim uuid-devel sqlite sqlite-devel net-tools gnutls-devel python-devel texinfo libuuid-devel libxml2-devel libsrtp-devel libtool-ltdl libtool-ltdl-devel e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp audiofile-devel libogg-devel openssl-devel zlib-devel perl-DateManip sox git wget net-tools psmisc speex-devel gsm-devel libtool libtool-ltdl libtool-ltdl-devel xmlstarlet

3. Установим php 5.6
Добавим пару репозитариев:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Удалим старый php и установим php 5.6 для FreePBX 14

yum remove php*
yum install php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml php56w-opcache php56w-ldap php56w-intl php56w-soap
[root@centos7 ~]# php -v
PHP 5.6.30 (cli) (built: Jan 19 2017 22:31:39)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

4. Установим nodeJS

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs

5. Добавим в автозагрузку mysql настроим и запустим. mysql база данных необходима для установки FreePBX и записи cdr из asterisk

systemctl enable mariadb.service
systemctl start mariadb

Теперь mysql добавлен в автозагрузку и запущен
Запустим скрипт, который изменит некоторые параметры безопасности и доступа к серверу баз данных
Важно! не устанавливайте пароль root

mysql_secure_installation

6. Добавим пользователя asterisk

adduser asterisk -m -c "Asterisk User"

7. Добавим в автозагрузку apache и запустим его

systemctl enable httpd.service
systemctl start httpd.service

8. Установить Perl дополнения

pear install Console_Getopt

9. Установим srtp для возможности собрать Asterisk с srtp и отправлять rtp в зашифрованном виде

cd /usr/src && wget http://sourceforge.net/projects/srtp/files/srtp/1.4.4/srtp-1.4.4.tgz
tar zxvf srtp-*.tgz &&
sed -i 's/RTPW\=rtpw/RTPW\=\.\/rtpw/' /usr/src/srtp/test/rtpw_test.sh &&
cd srtp && autoconf &&
./configure CFLAGS=-fPIC --prefix=/usr &&
make &&
make runtest &&
make uninstall &&
make install

10. Установка libjansson

cd /usr/src
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
tar vxfz jansson.tar.gz
rm -f jansson.tar.gz
cd jansson-*
autoreconf -i
./configure --libdir=/usr/lib64
make
make install

11. Скачаем исходники Asterisk 14 и других пакетов необходимых для установки

cd /usr/src &&
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.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://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-14.7.8.tar.gz

12. Установка Lame свободное приложение для кодирования аудио в формат MP3

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

13. Компиляция и установка Dahdi и LibPri.
Если вы не используете платы ISDN — то можно пропустить шаг установки Libpri.
Но, для успешной установки Asterisk и FreePBX модуль DAHDI необходимо устанавливать всегда!

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

libpri

cd /usr/src &&
tar xvfz libpri-*.tar.gz &&
cd /usr/src/libpri-* &&
make &&
make install

14. Скомпилируем и установим asterisk 14

cd /usr/src &&
tar xvfz asterisk-14*.tar.gz &&
cd asterisk-14.*

configure

./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-crypto --with-ssl=ssl --with-srtp
contrib/scripts/get_mp3_source.sh
make menuselect

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

15. Установим правильные права на директории

chown asterisk.asterisk /var/run/asterisk &&
chown -R asterisk.asterisk /etc/asterisk &&
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk &&
chown -R asterisk.asterisk /usr/lib64/asterisk

16. Изменим настройки Apache веб-сервера

sed -i 's/^upload_max_filesize = .*/upload_max_filesize = 120M/' /etc/php.ini
sed -ie 's/\;date\.timezone\ \=/date\.timezone\ \=\ "Europe\/Kiev"/g' /etc/php.ini &&
sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf &&
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
systemctl restart httpd.service && systemctl enable httpd

Установка FreePBX 14 на CentOS 7

17. Скачаем и установим FreePBX 14

cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
tar xfz freepbx-14.0-latest.tgz

установка

cd freepbx
./start_asterisk start
./install -n

18. Добавим FreePBX 14 в автозагрузку
создадим файл со следующим содержанием:
/etc/systemd/system/freepbx.service

[Unit]
Description=FreePBX VoIP Server
After=mariadb.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start -q
ExecStop=/usr/sbin/fwconsole stop -q

[Install]
WantedBy=multi-user.target

Добавим FreePBX в автозагрузку

systemctl enable freepbx.service

Запустим установленный FreePBX

systemctl start freepbx

проверим, что он запустился

systemctl status -l freepbx.service
● freepbx.service - FreePBX VoIP Server
Loaded: loaded (/etc/systemd/system/freepbx.service; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2017-07-19 16:49:19 EEST; 4s ago
Process: 3921 ExecStart=/usr/sbin/fwconsole start -q (code=exited, status=0/SUCCESS)
Main PID: 3921 (code=exited, status=0/SUCCESS)

На этом установка Asterisk и FreePBX14 завершена. В следующей статье мы настроим firewalld, fail2ban, базовую безопасность asterisk, доустановим модули, которые точно понадобятся при работе с системой, настроим ntp службу, добавим несколько внутрениих номеров, создадим очередь и транк, а также посмотрим как работает новый календарь, которым так гордятся разработчики.

Об авторе

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