Установку будем производить на последнюю версию CentOS Linux release 7.3.1611 (Core) с установленными обновлениями на 19.07.2017
напомню, что для обновления необходимо сделать команду
1 |
yum update |
Важно!
1. выключить Selinux на время установки. Включенный Selinux может привести к странному поведению во время установки.
Выключить Selinux на CentOS 7 можно с помощью команд:
1 |
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux |
1 |
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config |
После чего перезагрузим систему:
1 |
reboot |
Также на время установки можно выключить firewall(не выключайте, если система доступна из интернета)
1 |
systemctl stop firewalld |
Проверим, что Selinux, таки выключился:
1 |
sestatus |
SELinux status: disabled
2. Установка дополнительных пакетов, которые нам понадобятся для того, чтобы установить FreePBX 14 и Asterisk 14 на CentOS 7
1 |
yum -y groupinstall core base "Development Tools" |
установим дополнительный зависимости
1 |
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
Добавим пару репозитариев:
1 2 |
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
1 |
yum remove php* |
1 |
yum install php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml php56w-opcache php56w-ldap php56w-intl php56w-soap |
1 |
php -v |
PHP 5.6.30
Copyright 1997 2016 The PHP Group
Zend Engine v2.6.0, Copyright 1998 2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright 1999 2016, by Zend Technologies
4. Установим nodeJS
1 |
curl -sL https://rpm.nodesource.com/setup_8.x | bash - |
1 |
yum install -y nodejs |
5. Добавим в автозагрузку mysql настроим и запустим. mysql база данных необходима для установки FreePBX и записи cdr из asterisk
1 |
systemctl enable mariadb.service |
1 |
systemctl start mariadb |
Теперь mysql добавлен в автозагрузку и запущен
Запустим скрипт, который изменит некоторые параметры безопасности и доступа к серверу баз данных
Важно! не устанавливайте пароль root
1 |
mysql_secure_installation |
6. Добавим пользователя asterisk
1 |
adduser asterisk -m -c "Asterisk User" |
7. Добавим в автозагрузку apache и запустим его
1 |
systemctl enable httpd.service |
1 |
systemctl start httpd.service |
8. Установить Perl дополнения
1 |
pear install Console_Getopt |
9. Установим srtp для возможности собрать Asterisk с srtp и отправлять rtp в зашифрованном виде
1 2 3 4 5 6 7 8 9 |
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
1 |
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz |
1 2 3 4 5 6 7 8 |
cd /usr/src tar vxfz jansson.tar.gz rm -f jansson.tar.gz cd jansson-* autoreconf -i ./configure --libdir=/usr/lib64 make make install |
11. Скачаем исходники Asterisk 14 и других пакетов необходимых для установки
1 2 3 4 5 |
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/asterisk-14-current.tar.gz |
12. Установка Lame свободное приложение для кодирования аудио в формат MP3
1 2 3 4 5 6 |
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 необходимо устанавливать всегда!
1 2 3 4 5 6 |
cd /usr/src && tar xvfz dahdi-linux-complete-current.tar.gz && cd dahdi-linux-complete-* && make all && make install && make config |
libpri
1 2 3 4 5 |
cd /usr/src && tar xvfz libpri-*.tar.gz && cd /usr/src/libpri-* && make && make install |
14. Скомпилируем и установим asterisk 14
1 2 3 4 5 6 7 8 |
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. Установим правильные права на директории
1 2 3 4 |
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 веб-сервера
1 2 3 4 5 |
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
1 2 3 |
cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz tar xfz freepbx-14.0-latest.tgz |
установка
1 2 3 |
cd freepbx ./start_asterisk start ./install -n |
18. Добавим FreePBX 14 в автозагрузку
создадим файл со следующим содержанием:
1 |
nano /etc/systemd/system/freepbx.service |
1 2 3 4 5 6 7 8 |
[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 в автозагрузку
1 |
systemctl enable freepbx.service |
Запустим установленный FreePBX
1 |
systemctl start freepbx |
проверим, что он запустился
1 |
systemctl status -l freepbx.service |
1 2 3 4 5 |
● 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 завершена.