CentOS 7 + FreePBX 12

Устанавливаем CentOS 7  х86_64 с минимальным комплектом программ.

http://www.centos.org/


rpm -Uvh http://mirror.yandex.ru/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 
Ограничиваем количество установленных версий пакетов до 3-х (например количество версий установленного ядра):
nano -w /etc/yum.conf
installonly_limit=3
yum install net-tools
ifconfig

Узнали свой ip. Далее подключаемся по SSH к этомe ip. Будет удобнее копипастить команды)))

Устанавливаем FreePBX 12

Отключаем систему принудительного контроля доступа

sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
reboot
Запускаем sestatus
Если видим строку "SELinux status: disabled" значит все ок
Обновляем систему:

yum -y update
yum groupinstall core
yum groupinstall base


Устанавливаем Дополнительные Необходимые Зависимости

yum install gcc gcc-c++ lynx bison mysql-devel 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 uuid-devel libtool sqlite-devel

Иногда при копипасте кода установки может вылезать ошибка, что какой-то пакет не найден. На самом деле все правильно, просто глюк копипаста. Решение вбить руками команду или попробовать стереть название проблемного пакета вместе с пробелами по краям и вбить руками только его.


IPTables

Если Вы ставите FreePBX не на чистую систему временно отключите IPTables. Внимание! Не забудьте включить снова после настройки АТС
текущее состояние:   
chkconfig iptables --list
Отключите Iptables:
chkconfig --level 0123456 iptables off
Или остановите службу до перезагрузки:
service iptables stop


Установка MySQL

yum install wget
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-server
chkconfig --level 345 mysqld on
service mysqld start

Стартуем Apache

chkconfig --level 345 httpd on
service httpd start

Устанавливаем PearDB

pear channel-update pear.php.net
pear install db-1.7.14

Перезапускаем машину

reboot

Установите зависимости для Google Voice

cd /usr/src
wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
tar xf iksemel-*.tar.gz
cd iksemel-*
./configure
make
make install

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

adduser asterisk -M -c "Asterisk User"

Устанавливаем и конфигурируем Asterisk

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.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
git clone https://github.com/akheron/jansson.git
wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2

Компилируем и устанавливаем DAHDI и LibPRI
cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
tar xvfz libpri-1.4-current.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
cd /usr/src/libpri-1.4.*
make
make install

Компилируем и устанавливаем pjproject
cd /usr/src
tar -xjvf pjproject-2.2.1.tar.bz2
cd pjproject-2.2.1
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

Компилируем и устанавливаем jansson
cd /usr/src/jansson
autoreconf -i
./configure --libdir=/usr/lib64
make
make install

Компилируем и устанавливаем Asterisk
cd /usr/src
tar xvfz asterisk-13-current.tar.gz
rm -f asterisk-13-current.tar.gz
cd asterisk-*
contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64
contrib/scripts/get_mp3_source.sh
make menuselect
make
make install
make config
ldconfig

Установка Asterisk-Extra-Sounds
mkdir -p /var/lib/asterisk/sounds
cd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-ru-wav-current.tar.gz
tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
rm -f asterisk-extra-sounds-en-wav-current.tar.gz
# Скачать широкополосный звук
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz
tar xfz asterisk-extra-sounds-en-g722-current.tar.gz
rm -f asterisk-extra-sounds-en-g722-current.tar.gz

Устанавливаем и конфигурируем  FreePBX

cd /usr/src/
wget http://mirror.freepbx.org/freepbx-12.0.3.tgz
tar vxfz freepbx-12.0.3.tgz

Выставляе права
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib64/asterisk
mkdir /var/www/html
chown -R asterisk. /var/www/

Несколько небольших изменений Apache.
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
service httpd restart

Конфигурируем базуданных MYSQL. 
cd /usr/src/freepbx
export ASTERISK_DB_PW=amp109
mysqladmin -u root create asterisk 
mysqladmin -u root create asteriskcdrdb 

Выставляе права MYSQL .
mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "flush privileges;"

Перезагрузка Asterisk и инсталляция FreePBX.
cd /usr/src/freepbx
./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
amportal chown
amportal a ma installall
amportal a reload
amportal a ma refreshsignatures
amportal chown


ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
amportal restart

http://localhost/admin
http://yourlocalipaddress/html

Поиск по этому блогу