Установка FreePBX 13 на Centos 6

16 марта, 2016 | от | asterisk

Мар
16

Установка FreePBX13 на Centos 6.
FreePBX - наиболее популярный графический интерфейс для работы с Asterisk.
Как установить FreePBX 13, Asterisk 13, mysql и необходимые пакеты на Centos 6
1. Выключим selinux, обновим систему

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
yum -y update

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

yum -y groupinstall core base "Development Tools"
yum install gcc gcc-c++ lynx bison mysql-devel mysql-server php php-mysql php-pear php-mbstring tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml php-posix uuid-devel libtool sqlite-devel unixODBC mysql-connector-odbc ncurses-devel uuid-devel libuuid-devel libxml2-devel sqlite-devel libsrtp-devel libtool-ltdl libtool-ltdl-devel mysql-connector-odbc unixODBC unixODBC-devel

3. Запуск сервера apache и MySQL. Для установки и нормального функционирования FreePBX необходимо добавить сервисы в автозагрузку, также запустить их.

chkconfig --level 345 mysqld on
service mysqld start
chkconfig --level 345 httpd on
service httpd start

4. Добавим пароль для пользователя mysql, удалим тестовую базу

mysql_secure_installation

показать файл »

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] n
... skipping.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed! Not critical, keep moving...
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Перезагрузим систему и проверим, что все необходимые процессы запущены

reboot

 

5. Добавим пользователя Asterisk

adduser asterisk -M -c "Asterisk User"

6. Установка Asterisk, Dahdi, libpri, pjsip
Как установить Asterisk13 на CentOS6

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.6.0.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.1 Компиляция и установка Dahdi и LibPri.
Если вы не используете платы ISDN - то можно пропустить шаг установки Libpri.
Но, для успешной установки Asterisk и FreePBX модуль DAHDI необходимо устанавливать всегда!

cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
tar -xf libpri-1.5.0.tar.gz
rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz
cd dahdi-linux-complete-*
make all && make install && make config

По умолчанию не создается dahdi скрипт в /etc/init.d/ выдает ошибку

 Dahdi unrecognized service

Для решение этой проблемы установим dahdi-tools

cd tools/
make & make install-config

Установим libpri:

cd /usr/src/libpri-1.6.*
make && make install

6.2 Компиляция и установка pjproject
это Asterisk fork для PJSIP
PJSIP отличается тем, что он очень хорошо работает с различными брандмауэрами и NAT'ами, как в составе Asterisk-сервера, так и на клиентских устройствах.

cd /usr/src
tar -xjvf pjproject-2.4.tar.bz2 && rm -f pjproject-2.4.tar.bz2
cd pjproject-2.4
CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr --libdir=/usr/lib64
make dep && make && make install

6.3 Установим jansson

cd /usr/src
tar vxfz jansson.tar.gz && rm -f jansson.tar.gz
cd jansson-*
autoreconf -i
./configure --libdir=/usr/lib64
make && make install && cd ../

6.4 Установка Asterisk 13 на CentOS 6

tar xvfz asterisk-13-current.tar.gz
cd asterisk-*
./configure --libdir=/usr/lib64
make menuselect

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

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

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

7. Изменим настройки apache

sed -i 's/^upload_max_filesize = .*/upload_max_filesize = 120M/' /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
service httpd restart

8. Откроем порты 80, 5060, 4569 и rtp диапазон портов 10000-20000 для корректной работы FreePBX
в файле /etc/sysconfig/iptables:

показать файл »

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
-A INPUT -p udp -m udp --dport 4569 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

/etc/init.d/iptables restart

10. Осуществим установку FreePBX 13

cd /usr/src && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
tar xfz freepbx-13.0-latest.tgz && cd freepbx
./start_asterisk start
./install -n

Мы совершили установку FreePBX на CentOS 6!
После завершения установки при переходе по IP-адресу сервера мы попадаем в графический интерфейс FreePBX 13. Нам предлагают установить пароль администратора FreePBX:

Установка FreePBX13 на Centos 6. Установить пароль

Установка FreePBX13 на Centos 6. Задать имя пользователя и пароль администратора системы FreePBX

Установка FreePBX 13 завершена

Установка FreePBX 13 завершена

Установка FreePBX 13 завершена

Возможные проблемы:
configure: error: *** JSON support not found (this typically means the libjansson development package is missing)
Решение:

rpm -Uvh http://mirror.logol.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install jansson-devel

Об авторе

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