Внимание, вебморда сотрёт все ваши старые конфиги и даже не сделат бекапов!!!!
Вступление:
1) статья написана "для того что бы была"
2) мне не понравилось управлять через вебморду
3) вам не советую
4) предупреждаю что при установке и работе затирает ваши конфиги
Задача:
Установить вебморду управления asterisk
Подготовка:
Выбираем вебморды:
1)
http://monast.sf.net
+ есть в портах
- последний релиз год назад
2) asterisk-gui
+ вроде как родная
- почему то не применяется даже самими авторами
- нет в портах
3) FreePBX - с неё и начнём
+ рекомендуется авторами
+ распространена
- нет в портах
Реализация:
Скачиваем дистрибутив и распаковываем
затем правим файлик
находясь в корне распаковываного дистрибутива создадим БД и зальём структуру таблиц
Код: Выделить всё
mysqladmin create asterisk -pВашПароль
mysqladmin create asteriskcdrdb -pВашПароль
mysql asterisk < SQL/newinstall.sql -pВашПароль
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -pВашПароль
mysql -pВашПароль
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'ВашПароль';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'ВашПароль';
flush privileges;
quit;
Теперь надо запустить астериск, убедиться что он работает
Код: Выделить всё
servre#chown -R asterisk:asterisk /usr/local/share/asterisk
servre#/usr/local/etc/rc.d/asterisk start
Starting asterisk.
servre#asterisk -r
Asterisk 10.11.1, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 10.11.1 currently running on gw (pid = 57067)
server*CLI> exit
servre#
и только после этого приступать к установке вебморды.
Тут уместно упомянуть что использует вебморда и что должно быть уже установленно. Конечно это вебсервер, asterisk и php, причём последний собранный с CLI. ну а так же (обратите внимание что по мимо установки создаю симлинки, а для
pear генерирую БД):
Код: Выделить всё
cd /usr/ports/shells/bash && make install clean && rehash
ln -s /usr/local/bin/bash /bin/bash
cd /usr/ports/sysutils/pidof && make install clean && rehash
cd /usr/ports/sysutils/sudo && make install clean && rehash
cd /usr/ports/devel/pear && make install clean && rehash && pear install DB && rehash
Итак, частично с чем то мы справились - с этим нам очень сильно помог последний совет вот по этой ссылке
http://www.freepbx.org/support/document ... or-freebsd
Для правильного назначения прав скрипт установки использует
sudo и для его работы мне пришлось выполнить вот такую команду
Правим файлы на предмет нахождения обьектов у нас
asterisk.conf
Код: Выделить всё
[directories]
astetcdir => /usr/local/etc/asterisk
astmoddir => /usr/local/lib/asterisk/modules
astvarlibdir => /usr/local/share/asterisk
astagidir => /usr/local/share/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
[options]
transmit_silence_during_record = yes.
languageprefix=yes
execincludes=yes
amportal.conf
Код: Выделить всё
AMPDBHOST=localhost
AMPDBENGINE=mysql
AMPENGINE=asterisk
AMPMGRUSER=admin
AMPMGRPASS=AMPMGRPASS
AMPBIN=/usr/local/share/asterisk/bin
AMPSBIN=/usr/local/sbin
AMPWEBROOT=/usr/local/www/freepbx
AMPCGIBIN=/usr/local/www/apache22/cgi-bin
FOPWEBROOT=/usr/local/www/freepbx/panel
FOPPASSWORD=passw0rd
ARI_ADMIN_USERNAME=admin
ARI_ADMIN_PASSWORD=ari_password
AUTHTYPE=database
AMPEXTENSIONS=extensions
install_amp - тут привожу только то, что правил, ибо файл большой
Код: Выделить всё
define("ASTERISK_CONF", "/usr/local/etc/asterisk/asterisk.conf");
$webroot<------>= "/usr/local/www/freepbx";
Но не смотря на это огромное колличество путей прописано в самих скриптах, потому всё же прийдётся сделать
Код: Выделить всё
ln -s /usr/local/etc/asterisk/ /etc/asterisk
ln -s /usr/local/share/asterisk /var/lib/asterisk
mkdir /var/www/
chmod 777 /var/www/
ln -s /usr/local/www/freepbx/ /var/www/html
И зачем я только пути в начале правил... ну да ладно - приступаем к установке вебморды
Код: Выделить всё
server# ./install_amp
Checking for PEAR DB..OK
Checking for PEAR Console::Getopt..OK
Checking user..OK
Checking if Asterisk is running..running with PID: 89050..OK
Checking for /etc/amportal.conf../etc/amportal.conf does not exist, copying default
Creating new /etc/amportal.conf
Enter your USERNAME to connect to the 'asterisk' database:
[asteriskuser]
Enter your PASSWORD to connect to the 'asterisk' database:
[amp109] ВашПароль
Enter the hostname of the 'asterisk' database:
[localhost]
Enter a USERNAME to connect to the Asterisk Manager interface:
[admin]
Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111] AMPMGRPASS
Enter the path to use for your AMP web root:
[/usr/local/www/freepbx]
PHP Warning: filesize(): stat failed for /var/log/asterisk/freepbx_debug in /usr/local/install/freepbx-2.10.0/amp_conf/htdocs/admin/libraries/utility.functions.php on line 641
Created /usr/local/www/freepbx
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[192.168.1.1] 192.168.10.100
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
[extensions]
Enter directory in which to store AMP executable scripts:
[/usr/local/share/asterisk/bin]
Created /usr/local/share/asterisk/bin
Enter directory in which to store super-user scripts:
[/usr/local/sbin]
дальше было много всего непонятного
Ну вот - что-то он сделал. в конце написал что надо перезупустить апачь - воспользуемся советом
Код: Выделить всё
server# /usr/local/etc/rc.d/asterisk stop
Stopping asterisk
server# /usr/local/etc/rc.d/asterisk start
Starting asterisk.
server#
Теперь хотелось бы увидеть уже то, ради чего старались, но пока что рано - надо настроить апачь на то чудо, что мы воздвигли. У меня на сервере ничего не стоит, потому не долго думая в файле
/usr/local/etc/apache22/httpd.conf вместо юзера www прописал юзера asterisk
Ну как-то же ему надо усправлять астериском, не от пользователя же веба )))
В этой же файл вносим ещё одно изменение - открываем виртуалхосты
Код: Выделить всё
# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf
по сути мы просто разкоментировали, что бы этот файл подключался - нужно это что бы прописать нашу вебморду (можно и по дургому - симлинком или там просто в корень переместить - я выбрал такой путь)- в файле
/usr/local/etc/apache22/extra/httpd-vhosts.conf
Код: Выделить всё
<VirtualHost *:80>
ServerAdmin roman@serevr.ru
DocumentRoot "/usr/home/www/freepbx"
ServerName freepbx.server.ru
ServerAlias www.freepbx.server.ru
ErrorLog "/var/log/www/freepbx-error_log"
CustomLog "/var/log/www/freepbx-access_log" common
<Directory "/usr/home/www/freepbx/">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
после этого апачь следует перезапустить, заодно применятся те модули php, которые вы наверняка наставили, когда скрипт пытались запустить )))
Код: Выделить всё
gw# /usr/local/etc/rc.d/apache22 stop
Stopping apache22.
Waiting for PIDS: 6735.
gw# /usr/local/etc/rc.d/apache22 start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
gw#
Но и это ещё не всё... дело в том, что у меня стоит php5.4 для которого явно не адаптирована данная версия FreePBX так что для работы надо поправить файлик
/usr/local/www/freepbx/admin/modules/recordings/functions.inc.php а именно найти там
$_REQUEST и заменить на
$REQUEST - то есть удалить нижнее подчёркивание - таких мест у вас в файле будет 3 шт
ну а теперь можно и посмотреть на вебморду )))))
Вывод:
1) Установка проходит очень сложно - мне так и не удалось избивиться от всех ошибок
2) В портах нет, потому многое приходится додумывать
3) Мусорит по всей системе - особенно это заметно при обновлении - там вообще не действуют те новые пути, что мы прописали - она ломится на старые
4) Затирает не только старые файлы конфига астериска, но и удаляет те изменения, которые вы внесли не через неё
5) Так и не удалось настроить русский язык в интерфейсе
Итого, для работы совершенно бесполезная вещь, так как сложность присутствует и в установки, и в обновлении и в работе.
Ну и на последок немного картинок как это выглядит:
- Стартовая страничка
- 1.jpg (18.98 КБ) 17738 просмотров
- Вебинтерфейс голосовой почты
- 2.jpg (33.08 КБ) 17738 просмотров
- Стартовая страничка управления
- 3.jpg (163.17 КБ) 17738 просмотров