Новости
Обзоры и тесты
Техно
Советы
Разное
Главная » Техно

Установка FreeSWITCH 1.0.6 + FreePBX v3 в CentOS 5.4

Добавлено , 06.05.2010 – 20:32 1 комментарий

imageВ заметке описан процесс установки web-интерфейса FreePBX v3 для управления IP-АТС FreeSWITCH. На момент написания релиз FreePBX v3 еще не вышел: была доступна версия RC1.

Краткие этапы установки:

  1. Установка необходимых пакетов и зависимостей для сборки FreeSWITCH.
  2. Компиляция и установка FreeSWITCH.
  3. Установка дополнительных пакетов для FreeSWITCH, Apache, MySQL и PHP.
  4. Установка и настройка phpMyAdmin (опционально).
  5. Настройка Apache.
  6. Создание базы данных для FreePBX.
  7. Обновление PHP до версии 5.2.
  8. Установка 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/.

Ниже скриншоты процесса инсталляции:

image

image

image

image

image

image

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

image

image

image

После успешной инсталляции web-интерфейс будет доступен по адресу http://192.168.1.243/freepbx-v3/.

Теги: , ,

1 комментарий »