Ситуация
В сети на сегодняшний день достаточно много описаний по развертыванию IP телефонии и в основном это два варианта:
- Берём готовый дистрибутив в виде установочного образа (Elastix,Trixbox etc…) и в результате получаем рабочий комплекс не имея никаких знаний в Linux
- Устанавливаем комплекс самостоятельно занимаясь при этом компиляцией из исходных кодов и ручной правкой множества конфигурационных файлов.
У каждого варианта имеются как достоинства, так и недостатки. Если первый способ подразумевает практически нулевую подготовку и дает возможность получить результат ничего не поняв, как это работает, то второй напротив требует обширных знаний в linux и очень сложен для начинающих хоть и обеспечивает высокую гибкость и масштабирование.
Предпосылки
В процессе внедрения IP телефонии в одной из компаний с разветвленной структурой филиалов рассматривались оба варианта но оба не устраивало по ряду причин:
- Бюджет на проект не подразумевал затрат на привлечение сторонних компаний для развертывания проекта, весь комплекс телефонии было решено развертывать своими силами.
- Большинство системных администраторов в филиалах были не знакомы с Linux системами и являлись чистыми Win аминами.
- Требовалось заложить высокую гибкость системы под будущие, еще не придуманные задачи.
Перед нами встала дилемма, с одной стороны проще настроить сервера и разослать их в регионы, а с другой весь груз сопровождения такого «черного ящика» ложится на наши плечи, а нас мало. В общем нас самих такая ситуация не устраивала. Вариант заказа внедрения сторонней компании был сразу отметен руководством по финансовым причинам.
Вариант с готовым дистрибутивом тоже отпал, поскольку проект подразумевал необходимость расширения функционала телефонии под нужды компании с учетом особенностей филиалов и это расширение необходимо было выполнять силами местных сотрудников. То есть без обучения nix системам никак.
Решение
Мы решили пойти путем более сложным и трудозатратным для нас, но дешевым для компании. Начали учить системных администраторов азам работы с linux. Концепция обучения состоит в том, чтобы сотрудник мог самостоятельно взяв типовой дистрибутив linux ubutu server 12.04 сумел установить на него Asterisk, Веб управление FreePBX и систему веб-управления факсами hylafax+Avantfax, при этом использую реальные проекты в их текущих состояниях.
Кроме того, для упрощения развертывания, инструкция должна была стать максимально простой и короткой. В итоге всё свелось к простому копи-пасту и установке большинства пакетов из репозиториев. Весь процесс множество раз выверялся повторными установками. Мы постарались обеспечить принцип минимальной достаточности. Всё без чего можно обойтись пропускалось (оставлено для самостоятельного освоения сотрудниками).
Это очень облегчило задачу для Win админов которые не привыкли к консоли и позволило им почувствовать себя более уверенно, особенно когда в результате собственных действий за минимальное число попыток получали рабочую систему. Это очень воодушевляет на первых этапах.
Итак сама инструкция
После установки чистой ubuntu server 12.04 LTS по этой инструкции мы готовы к началу установки.
В первый раз ВСЕ действия выполняем копированием — вставкой ничего не меняя, как есть!
Установка LAMPA
LAMPA — (Linux,Apache,Mysql,Php,Asterisk)
apt-get update apt-get install lamp-server^ libmysqlclient18 asterisk-dev \ asterisk-mysql asterisk-moh-opsound-wav php-db selinux-utils audiofile-tools \ bison libset-intspan-perl curl openssl php5-gd lame sox libxml2 subversion \ dahdi-* linux-headers-`uname -r`
В процессе установки мастер попросит задать пароль для mysql сервера. Задаем например PaSs или свой и запоминаем. Пустым пароль оставлять не надо!
FreePBX
Указываем пароль, который поставили при установке mysql
passwd=PaSs #Указываем версию которую хотим установить fpbxver=2.10
Загрузка и создание базы
svn co http://svn.freepbx.org/freepbx/branches/$fpbxver /usr/src/freepbx cd /usr/src/freepbx mysqladmin create asterisk -p${passwd} mysqladmin create asteriskcdrdb -p${passwd} mysql asterisk < SQL/newinstall.sql -p${passwd} mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -p${passwd} echo "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${passwd}';" > /tmp/tmpfbpx echo "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${passwd}';" >> /tmp/tmpfbpx echo "flush privileges;" >> /tmp/tmpfbpx echo "quit" >> /tmp/tmpfbpx mysql -p${passwd} < /tmp/tmpfbpx
Установка FREEPBX
Запускаем установку (заполняем параметры или оставляем по умолчанию):
rm /var/www/index.html ./install_amp --password=${passwd} --webroot=/var/www
Подтверждаем параметры
adduser www-data asterisk /etc/init.d/apache2 restart wget http://127.0.0.1/admin/config.php# -O /dev/null
Подготовка WEB сервера
Изменение конфигурации apache2, для корректной работы с русским языком, а так-же меняем пользователя www-data от имени которого стартует apache2 на пользователя asterisk
locale-gen ru_RU perl -pi -e 's/#AddDefaultCharset UTF-8/AddDefaultCharset UTF-8/g' /etc/apache2/conf.d/charset perl -pi -e 's/export APACHE_RUN_USER=www-data/export APACHE_RUN_USER=asterisk/g' /etc/apache2/envvars perl -pi -e 's/export APACHE_RUN_GROUP=www-data/export APACHE_RUN_GROUP=asterisk/g' /etc/apache2/envvars /etc/init.d/apache2 restart
Загрузка модулей и обновлений
Загружаем и устанавливаем свежие модули
./setup_svn.php ./install_amp cp amp_conf/moh/*.wav /var/lib/asterisk/moh cd /etc/asterisk rm ccss.conf extensions.conf logger.conf iax.conf sip.conf features.conf sip_notify.conf chan_dahdi.conf chown asterisk:asterisk /etc/amportal.conf
На этом базовый функционал готов, можно подключиться к серверу по
http://адрес сервера
логин и пароль: admin
Некоторые добавления и исправления
Небольшой твик для стабильной работы FOP панели, перезапускает её раз в 10 минут
chmod 770 -R /var/www/admin/modules/fw_fop echo "*/10 * * * * root amportal 2 > /dev/null">>/etc/crontab
Исправляем косяки с путями хранения звуков
cp -r /var/lib/asterisk/sounds/ /usr/share/asterisk/ rm -r /var/lib/asterisk/sounds/ ln -s /usr/share/asterisk/sounds /var/lib/asterisk/ chown -R asterisk:asterisk /var/lib/asterisk/sounds/ chown -R asterisk:asterisk /var/lib/asterisk/sounds/custom/
Русификация голоса
paths=/usr/share/asterisk/sounds/ cd /tmp wget -c http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-wav-current.tar.gz mkdir $paths/ru cd $paths/ru tar zxvf /tmp/asterisk-core-sounds-ru-wav-current.tar.gz
На этом этапе базовая система считается развернутой, дальше уже идет настройка через WEB интерфейс.
ссылка на оригинал статьи http://habrahabr.ru/post/171163/
Добавить комментарий