Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

Установка Asterisk и FreePBX на CentOS-5

Если надо установить Asterisk, то конечно рекомендую  устанавливать последнюю стабильную версию на CentOS-6.5. Или просто выбрать готовый дистрибутив, с установленным Asterisk + FreePBX. Например, FreePBX Distro. Но случаи бывают разные.  Вот и у меня такой случай, операционная система CentOS-5.11 уже установлена, на которой работают кучка разных сервисов.

Поэтому меня больше интересует установка Asterisk-1.8.32.2 и FreePBX-2.11.0.42 на CentOS-5.11

Предварительные настройки для установки Asterisk FreePBX, если у Вас Интернет через прокси-сервер

1. Установка всех необходимых пакетов. Скачиваем необходимые исходники Asterisk.

1. Настройка брандмауэра:

Выполнить команду: setup
Уровень безопасности - выключен
SELinux - выключен

2. Добавим полезные репозитории: rpmforge и epel

wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.3-1.el5.rf.i386.rpm

Обновите систему до последней версии: yum update

Теперь можно перегрузить систему: reboot

3. Установим необходимые пакеты:

yum install libxml2 libxml2-devel libtiff* kernel-devel* perl bison ncurses-devel audiofile-devel curl curl-devel sox e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libogg-devel crontabs mod_ssl doxygen gcc gcc-c++ spandsp libtermcap-devel newt-devel mlocate lynx vixie-cron libtool-ltdl-devel flex screen bzip2 tar wget mc nmap autoconf automake net-snmp mysql mysql-devel mysql-server libpri subversion lame

4. Теперь поставим php. Лучше ставить php5.3, но мне надо было именно php-5.1

yum install php-common php-cli php php-bcmath php-dba php-devel php-gd php-imap php-ldap php-mbstring php-mysql php-ncurses php-odbc php-pdo php-pear php-pgsql php-snmp php-soap php-xml php-xmlrpc php-pear-db php-mcrypt php-php-gettext

Если мне не изменяет память, то в файле /etc/php.ini надо установить параметр date.timezone. Например:

date.timezone = Europe/Kiev

Как обновить php-5.1 до php-5.3 в CentOS-5.11

5. Теперь перейдём в директорию /usr/src и скачаем необходимые исходники и распакуем архивы

cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.32.2.tar.gz
tar zxvf asterisk-1.8.32.2.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar zxvf dahdi-linux-complete-current.tar.gz
wget http://mirror.freepbx.org/freepbx-2.11.0.42.tgz
tar zxvf freepbx-2.11.0.42.tgz

6. Запустим скрипт установки нужных пакетов из скаченных исходников Asterisk

cd /usr/src/asterisk-1.8.32.2/contrib/scripts
./install_prereq install

Не обращайте внимания на сообщения, что эти пакеты не найдены, их просто нет в природе для CentOS-5

No package libcurl-devel available.
No package popt-devel available.
No package libsqlite3x-devel available.
No package gmime22-devel available.

7. Запускаем web-сервер и сервер MySQL и ставим их в авто запуск

service httpd start
chkconfig httpd --level 35 on
service mysqld start
chkconfig mysqld --level 35 on

Теперь можно перегрузить систему: reboot

2. Установка драйвера DAHDI

1. Установка dahdi из исходников dahdi-linux-complete

cd /usr/src/dahdi-linux-complete-2.10.0.1+2.10.0.1
make all
make install
make config
chkconfig dahdi --level 35 on
service dahdi start

Лучше проверить, загружается ли dahdi при запуске системы, для этого можно перегрузить систему: reboot

3. Установка Asterisk-1.8.32.2

1. Устанавливаем asterisk из исходников.

cd /usr/src/asterisk-1.8.32.2
./configure
make menuselect

Выбираем все Add-ons

Выбираем необходимые:

звуковые файлы (Core Saund Packages)

расширенные пакеты звуковых файлов (Extras Saund Packages)

Сохраняем и выходим. Обязательно выбрать Save & Exit

/usr/src/asterisk-1.8.32.2/contrib/scripts/get_mp3_source.sh

make
make install
make samples
make config
chkconfig asterisk on

2. Добавим поддержку H.323

Скопировать ooh323.conf в папку /etc/asterisk/

cd /etc/asterisk/
wget http://palexa.pp.ua/images/ooh323.conf

3. Добавим кодеки g723 и g729.

Для Вашей системы их можно подобрать и взять здесь. Например:

cd /usr/lib/asterisk/modules
wget http://asterisk.hosting.lv/bin/codec_g723-ast18-gcc4-glibc-pentium4.so
wget http://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-pentium4.so
cp /usr/lib/asterisk/modules/codec_g723-ast18-gcc4-glibc-pentium4.so /usr/lib/asterisk/modules/codec_g723.so
cp /usr/lib/asterisk/modules/codec_g729-ast18-gcc4-glibc-pentium4.so /usr/lib/asterisk/modules/codec_g729.so
chmod -R 755 /usr/lib/asterisk/modules/codec_g723.so
chmod -R 755 /usr/lib/asterisk/modules/codec_g729.so
rm -f /usr/lib/asterisk/modules/codec_g723-ast18-gcc4-glibc-pentium4.so
rm -f /usr/lib/asterisk/modules/codec_g729-ast18-gcc4-glibc-pentium4.so

4. Добавим голосовые файлы на русском языке

Для скачивания стандартного набора русских звуковых файлов и расширенного набора звуковых файлов перейдите в каталог /usr/src и запустите команду:

cd /usr/src
wget --no-check-certificate https://github.com/pbxware/asterisk-sounds/tarball/master -Ostandard-sounds.tar.gz
tar -xvzf standard-sounds.tar.gz
wget --no-check-certificate https://github.com/pbxware/asterisk-sounds-additional/tarball/master -Oadditional-sounds.tar.gz
tar -xvzf additional-sounds.tar.gz

Создадим каталог для файлов и скопируем  туда содержимое каталогов голосовых файлов

mkdir /var/lib/asterisk/sounds/ru
cp -R /usr/src/pbxware-asterisk-sounds-92a92f9/* /var/lib/asterisk/sounds/ru
cp -R /usr/src/pbxware-asterisk-sounds-additional-1bc5821/* /var/lib/asterisk/sounds/ru

3. Проверка работы Asterisk

1. Что бы проверитьработу Asterisk выполним в консоле Linux

asterisk -vc

Если Вы увидите сообщение "Asterisk ready",  значит asterisk установлен успешно.

Останавливаем

core stop now

Теперь Вы можете перезагрузить компьютер, и убедиться, что asterisk автоматически запускается при старте.

2. Проверим, работают ли добавленные кодеки и ooh323

asterisk -r

core show translation
core show channeltypes
core stop now

4. Настройка и запуск Asterisk от обычного пользователя

По умолчанию, Asterisk запускается от пользователя root, но это не безопасно.

1. Создадим нового пользователя

adduser asterisk

Открыть файл /etc/asterisk/asterisk.conf, и раскомментировать строчки:

runuser = asterisk
rungroup = asterisk

2. Изменить права на папки и файлы:

chown -R asterisk:asterisk /etc/asterisk/
chown -R asterisk:asterisk /usr/lib/asterisk/
chown -R asterisk:asterisk /var/lib/asterisk/
chown -R asterisk:asterisk /var/spool/asterisk/
chown -R asterisk:asterisk /var/run/asterisk/
chown -R asterisk:asterisk /var/log/asterisk/
chown    asterisk:asterisk /usr/sbin/asterisk

3. Выставление прав на устройства DAHDI

Открыть файл правил для устройств udev /etc/udev/rules.d/dahdi.rules и найдите там следующие строки:

# DAHDI devices with ownership/permissions for running as non-root
SUBSYSTEM=="dahdi",        OWNER="asterisk", GROUP="asterisk", MODE="0660"

В переменных OWNER и GROUP укажите нужное Вам имя пользователя (и группу) - asterisk

Теперь можно перегрузить систему: reboot

4. Для начала проверьте, запускается ли asterisk от имени указанного Вами пользователя.

Для этого подключитесь к asterisk, выполнив из командной строки linux:

asterisk -rvvv

При запуске asterisk выдаст информацию об авторских правах, укажет свою версию, а также покажет, от имени какого пользователя запущен asterisk:

Running as user 'asterisk'

Running under group 'asterisk'

Проверить работу подсистемы DAHDI очень просто: из командной строки asterisk выполните:

dahdi show status

Если после этого Вы получите сообщение вроде такого: "No DAHDI found. Unable to open /dev/dahdi/ctl: Permission denied", значит настройка не удалась, скорее всего, Вы не перезагрузили сервер (или указали разные имена пользователей для asterisk и dahdi).

Для проверки, что модули загружаются нормально, из asterisk CLI выполните следующие команды:

module unload app_dial.so
module load app_dial.so

Этими двумя командами мы попробовали выгрузить и загрузить модуль, ответственный за команду Dial астериска. В случае, если ошибок нет, значит права на каталог модулей выставлены нормально

Для того, чтобы убедиться, что asterisk может писать логи, попробуем перезагрузить конфигурацию модуля logger. Для этого из asterisk CLI запустите команду:

logger reload

В случае наличия проблем об этом будет выведено сообщение, например: "Unable to create queue log: Permission denied".

Теперь выйдем из командной строки asterisk

exit

На этом установка и настройка asterisk закончена

5. Установка FreePBX

1. Установим права пользователя Asterisk в директории веб-сервера

chown -R asterisk:asterisk /var/www/html

2. Установить запуск веб-сервера от пользователя asterisk

sed -i "s/User apache/User asterisk/" /etc/httpd/conf/httpd.conf
sed -i "s/Group apache/Group asterisk/" /etc/httpd/conf/httpd.conf

3. Создаём базы для Asterisk в MySQL

cd /usr/src/freepbx
mysqladmin create asterisk
mysqladmin create asteriskcdrdb
mysql asterisk < SQL/newinstall.sql
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql

mysql

GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
flush privileges;
quit

mysqladmin -u root password 'mypasswd'

4. Перезапускаем веб-сервер и сервер баз данных

service httpd restart
service mysqld restart

5. Установка FreePBX из исходников

./install_amp

На все вопросы отвечаем именно то, что предлагает, кроме

Enter the path to use for your AMP web root:
 [/var/www/html]
Пишете Вашу директорию

Enter the IP ADDRESS or hostname used to access the AMP web-admin:
 [192.168.1.1]
Пишете Ваш IP

Отредактировать файл /etc/rc.local:

Дописать: /usr/local/sbin/amportal start

Теперь можно перегрузить систему: reboot

6. Первый вход в панель управления FreePBX

При первом входе в FreePBX откройте адрес сервера в браузере http://host-asterisk и создайте первого администратора. Авторизируйтесь в системе и примените конфигурацию, нажав красную кнопочку в верху страницы (Apply Config)

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить