Установка FreeSWITCH 1.0.6 + FreePBX v3 в CentOS 5.4
В заметке описан процесс установки web-интерфейса FreePBX v3 для управления IP-АТС FreeSWITCH. На момент написания релиз FreePBX v3 еще не вышел: была доступна версия RC1.
Краткие этапы установки:
- Установка необходимых пакетов и зависимостей для сборки FreeSWITCH.
- Компиляция и установка FreeSWITCH.
- Установка дополнительных пакетов для FreeSWITCH, Apache, MySQL и PHP.
- Установка и настройка phpMyAdmin (опционально).
- Настройка Apache.
- Создание базы данных для FreePBX.
- Обновление PHP до версии 5.2.
- Установка FreePBX v3.
Установка необходимых пакетов для FreeSWITCH
yum install subversion autoconf automake libtool gcc-c++ ncurses-devel make expat-devel zlib zlib-devel
Также понадобятся дополнительные пакеты PHP, MySQL, Apache и библиотеки, которые будут использоваться дальше:
yum install e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear php-pear-DB php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel libogg-devel openssl-devel mysql-devel zlib-devel perl-DateManip sendmail-cf sox php mysql-server
FreePBX требует PHP версии не ниже 5.2. В стандартных репозиториях CentOS 5 находится PHP 5.1, а пакет PHP 5.2 из CentOS Testing не подходит, так как собран без поддержки DOM Document. Решение описано ниже.
Компиляция FreeSWITCH
cd /usr/src/
wget http://files.freeswitch.org/freeswitch-1.0.6.tar.gz
tar -xzvf freeswitch-1.0.6.tar.gz
cd freeswitch-1.0.6
./configure
make
make install
make sounds-install moh-install
После команды ./configure придется подождать от 5 до 20 минут. На этом установка FreeSWITCH завершена.
Установка phpMyAdmin
phpMyAdmin нужен для управления MySQL через web-интерфейс. Этот шаг необязателен: все действия можно выполнить через CLI MySQL.
cd /var/www
wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/2.11.10/phpMyAdmin-2.11.10-all-languages.zip
unzip phpMyAdmin-2.11.10-all-languages.zip
mv phpMyAdmin-2.11.10-all-languages phpmyadmin
cd phpmyadmin/
cp config.sample.inc.php config.inc.php
В файле config.inc.php нужно заполнить строку:
$cfg['blowfish_secret'] = 'ignahoo'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Настройка Apache
В файле /etc/httpd/conf/httpd.conf меняем соответствующие строки на:
DocumentRoot "/var/www/"
<Directory "/var/www/">
Задаем права и перезапускаем сервисы:
chown apache:apache -R config.inc.php
chown -R apache:apache phpmyadmin/
service httpd restart
service mysqld restart
Установка FreePBX v3
cd /var/www/
svn co http://www.freepbx.org/v3/svn/trunk/ freepbx-v3/
Теперь необходимо установить права на зависимые директории, чтобы скрипты FreePBX могли читать и изменять конфигурацию FreeSWITCH, а Apache имел доступ к нужным каталогам:
cd /var/www/
chgrp -R apache /usr/local/freeswitch/conf/*
chmod -R g+w /usr/local/freeswitch/conf/*
chmod 777 freepbx-v3/freepbx/logs/
chmod 777 freepbx-v3/freepbx/cache/
chgrp -R apache freepbx-v3/freepbx/config/*
chmod -R g+w freepbx-v3/freepbx/config/*
mkdir freepbx-v3/upload
chgrp -R apache freepbx-v3/upload
chmod -R g+w freepbx-v3/upload
Создание базы для FreePBX
Базу данных и пользователя можно создать через phpMyAdmin или через CLI MySQL:
CREATE USER 'freepbx3'@'localhost' IDENTIFIED BY '********';
GRANT USAGE ON *.* TO 'freepbx3'@'localhost' IDENTIFIED BY '********' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE DATABASE IF NOT EXISTS `freepbx3`;
GRANT ALL PRIVILEGES ON `freepbx3`.* TO 'freepbx3'@'localhost';
Команды создают пользователя freepbx3 с полными правами на базу freepbx3.
Обновление PHP до версии 5.2
Добавим репозитории EPEL и Remi, затем обновим PHP и MySQL:
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
yum --enablerepo=remi upgrade php php-common php-mysql php-pdo php-soap php-xml php-xmlrpc mysql-server mysql mysql-server-devel
service httpd restart
Установка FreePBX v3 через web-инсталлятор
Теперь можно приступать к непосредственной инсталляции FreePBX. Откройте в браузере адрес вида http://ip-вашего-сервера/freepbx-v3/. В моем примере это http://192.168.1.243/freepbx-v3/.
Ниже скриншоты процесса инсталляции:
ESLconnection лучше не ставить: при инсталляции появляется ошибка:
Fatal error: Call to a member function getHeader() on a non-object in /var/www/freepbx-v3/modules/esl/libraries/ESLconnection.php on line 35
После успешной инсталляции web-интерфейс будет доступен по адресу http://192.168.1.243/freepbx-v3/.
Теги: FreePBX, Freeswitch, OpenSource
Обращаю внимание что FreePBX v3 теперь называется Bluebox и является Open Source проектом компании 2600hz.
Подробнее на сайтах:
http://www.2600hz.com
http://www.2600hz.org