: | : |
‹ | › | |||||
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
2017-11-13 15:59:26 8806 0
Установка Asterisk 13 + FreePBX 13 на CentOS 7
Asterisk – это ATC созданная хакерами (в первоначальном смысле этого слова), а точнее, это супер конвергентная платформа компьютерной телефонии, распространяемая по лицензии GNU GPL, изначально разрабатываемая Марком Спенсером (Mark Spenser), позже ставшим президентом и техническим директором компании Digium. Благодаря коммерческой поддержке Его компании и лицензии GNU GPL Asterisk активно развивается и поддерживается тысячами людей со всей планеты.
FreePBX - это один из вариантов управления двигателем современной IP телефонии — Asterisk. Как бы не любили интеграторы эту «надстройку», безусловно именно она является лидером инсталляций IP АТС.
Выключение SELinux
В файле /etc/selinux/config
Заменяем SELINUX=enforcing на SELINUX=disabled
Устанавливаем зависимости
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y kernel-devel kernel-headers
test@lxd:/$ yum install -y e2fsprogs-devel keyutils-libs-devel krb5-devel libogg \ libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear \ php php-gd php-mysql php-pdo php-mbstring ncurses-devel \ mysql-connector-odbc unixODBC unixODBC-devel \ audiofile-devel libogg-devel openssl-devel zlib-devel \ perl-DateManip sox git wget net-tools psmisc \ yum install -y gcc gcc-c++ make gnutls-devel \ libxml2-devel ncurses-devel subversion doxygen \ texinfo curl-devel net-snmp-devel neon-devel \ uuid-devel libuuid-devel sqlite-devel sqlite \ speex-devel gsm-devel libtool libtool-ltdl libtool-ltdl-devel \ libsrtp libsrtp-devel xmlstarlet
Полный апдейт системы
yum update -y
Перезагрузите компьютер:
reboot
Установка mysql (mariadb)
1) Установим mariadb
yum -y install mariadb-server mariadb mariadb-devel
2) Запустим и включим автозагрузку mariadbsystemctl start mariadb.service
systemctl enable mariadb.service
3) Запустим интерактивный конфигуратор (будет предложено задать пароль пользователя root для mysql и др.)
mysql_secure_installation
Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB 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] n ... skipping. By default, MariaDB 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... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you"ve completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Установка Pjproject
Компиляция Pjproject из исходников
cd /usr/src
git clone https://github.com/asterisk/pjproject pjproject
cd pjproject/
test@lxd:/$ sudo ./configure --libdir=/usr/lib64 --prefix=/usr \ --enable-shared --disable-sound --disable-resample --disable-video
sudo make dep
sudo make
sudo make install
sudo ldconfig
Установка libjansson
cd /usr/src
wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz
tar xzf jansson-2.5.tar.gz
cd jansson-2.5
sudo ./configure --prefix=/usr/
sudo make clean
sudo make
sudo make install
sudo ldconfig
Lame
Lame - для кодирования аудио в формат MP3
cd /usr/src
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz
tar zxvf lame-*.gz
cd lame-*
sudo ./configure
sudo make
sudo make install
Установка DAHDI
cd /usr/src
test@lxd:/$ wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/ \ dahdi-linux-complete-current.tar.gz
tar xzf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
sudo make all
sudo make install
sudo make config
Установка LibPRI
cd /usr/src
wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
tar xzf libpri-*.tar.gz
cd /usr/src/libpri-*
sudo make
sudo make install
Установка Asterisk 13
cd /usr/src
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar xvfz asterisk-13*.tar.gz
cd asterisk-13.*
sudo ./contrib/scripts/install_prereq install
sudo ./configure --libdir=/usr/lib64
sudo contrib/scripts/get_mp3_source.sh
sudo make menuselect
После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство
требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль "format_mp3"
---> Add-ons (See README-addons.txt) --- extended --- XXX chan_mobile [*] chan_ooh323 [*] format_mp3 [*] res_config_mysql --- deprecated --- [*] app_mysql [*] app_saycountpl [*] cdr_mysql ---> Core Sound Packages [*] CORE-SOUNDS-RU-GSM ---> Extras Sound Packages [*] EXTRA-SOUNDS-EN-GSM
make && make install && make config && ldconfig
Устанавливаем запуск asterisk из под пользователя asterisk
В файле /usr/sbin/safe_asterisk заменяем строки:
ASTARGS="" на ASTARGS="-U asterisk"
Создайте пользователя Asterisk и задайте права пользователя.
useradd -m asterisk
Задаем необходимые права на папки для пользователя asterisk
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
Настроим веб-сервер httpd (Apache)
Настройка запуска веб-сервера от имени пользователя asterisk
В конфигурационном файле веб-сервера /etc/httpd/conf/httpd.conf
Указываем пользователя asterisk в директивах User и Group:
User asterisk Group asterisk>
Указываем все директивы для переопределения настроек из файла .htaccess
В конфигурационном файле веб-сервера /etc/httpd/conf/httpd.conf
Заменяем AllowOverride None на AllowOverride All
Производим настройку php
В файле /etc/php.ini
Устанавливаем директивы в след. значения:
date.timezone = /Europe/Moscow
upload_max_filesize = 120M
Перезапускаем apach
systemctl restart httpd
systemctl enable httpd
Установка FreePBX
cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
tar xzf freepbx-13.0-latest.tgz
cd freepbx
sudo ./start_asterisk start
Изменяем настройки подключения к базе данных
В файле installlib/installcommand.class.php задается массив $settings в нем ключ dbpass, который представляет собой массив, и в этом массиве для ключа default задаем значение вашего текущего пароля для пользователя root для подключения к БД:
"dbpass" => array( "default" => "*пароль для БД*", "description" => "Database password"
./install -n
Подключимся к FreePBX
http://IP.Address.FreePBX.Server/admin
Введите ответ:
+
=