Установка Freeswitch 1.0.6 + FreePBX v3 в CentOS 5.4
В заметке описывается процесс установки Веб-интерфейса для управления IP АТС Freeswitch FreePBX, версия 3. Хочу заметить, что релиз 3 версии не вышел на данный момент это RC1.
Кратко этапы установки:
1) Установка необходимых пакетов и зависимостей для сборки Freeswitch
2) Компиляция и установка Freeswitch
3) Установка пакетов для Freeswitch
3) Установка и настройка Phpmyadmin(опционально)
4) Настройка Apache
5) Создание базы для FreePBX
4) Обновление php до версии 5.2
6) Установка FreePBX v3
Установка необходимых пакетов для Freeswitch
[root@localhost freeswitch-1.0.6]# 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.1.
5.2 из тестового репозитория не подходит. Как это решить написано ниже.
Компиляция Freeswitch
cd /usr/src/
wget 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
Затем придется подождать 5 до 20 минут
./make
make install
make sounds-install moh-install
На этом установка Freeswitch закончена.
Установка phpMyAdmin
Пакет phpMyAdmin нужен для управления сервером mysql через веб-интерфейс. Этот шаг необязателен, можно просто выполнить все необходимые действия через cli mysql.
Загружаем, распоковываем, в примере это корневая директория веб-сервера /var/www.
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
меняем строку
$cfg[‘blowfish_secret’] = ‘ignahoo’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Настройка Apache
Теперь настроим веб-сервер Apache:
в файле /etc/httpd/conf/httpd.conf
меняем соответствующие строки на:
DocumentRoot «/var/www/»
<Directory «/var/www/»>
chown apache:apache -R config.inc.php
Даем права на директорию phpmyadmin:
chown -R apache:apache phpmyadmin/
service httpd restart
service mysqld restart
Скачиваем Freepbx
# 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
Теперь создадим базу данных для freepbx.Можно через phpmyadmin создать базу данных и пользователя
или через сli mysql ввести следующие строки:
REATE 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 и паролем freepbx3
Обновление php до версии 5.2
Теперь необходимо обновить php до версии 5.2
Я пытался поставить php из CentOS-Testing.repo
Но оказалось, что пакет собран с выключенной поддержкой DOM Document, без которого FreePBX работать не будет.
Добавим репозитории и обновим 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
Теперь можно приступать к непосредственной инсталляции freepbx. Процесс установки крайне прост, 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/
Похожие материалы:
Tags: FreePBX, Freeswitch, OpenSource
Обращаю внимание что FreePBX v3 теперь называется Bluebox и является Open Source проектом компании 2600hz.
Подробнее на сайтах:
http://www.2600hz.com
http://www.2600hz.org