По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Знаешь ли ты, что Asterisk Gateway Interface (AGI) делится на 3 различных вида: Enhanced AGI (EAGI), DeadAGI и fastAGI. Каждый из них имеет свои функциональные преимущества – он них и поговорим.
Enhanced Asterisk Gateway Interface (EAGI)
EAGI это более продвинутый AGI, который позволяет обрабатывать аудио – потоки с помощью файлового дескриптора (3). В действительности, с помощью EAGI вы можете создавать собственные приложения, предназначенные для анализа и выполнения различных задач со входящим аудио-потоком.
Ниже приведен пример использования EAGI в диалплане:
exten => helloworld,1,eagi(somescript.eagi)
DeadAGI
Указанное приложение выполняет AGI – совместимый скрипт на «мертвых» каналах (тех, на которых произошло событие hung-up). Основное отличие, что скрипт выполняется в экстеншене h.
Дело в том, что скрипты, выполняемые через AGI – приложение не корректно отрабатывались на каналах, в которых случилось событие hang up.
exten => h,1,DeadAGI(somescript.agi)
FastAGI
Обычное AGI – приложение задействует собственные (серверные) вычислительные мощности для каждого звонка. Безусловно, при высокой телефонной нагрузке, на сервере могут быть проблемы, связанные с нехваткой ресурсов.
Помимо прочего, стандартный AGI имеет ограничения с точки зрения масштабирования. Поэтому, в рамках решения данные проблемы, было создано приложение FastAGI, которое позволяет выполнять скрипт на внешнем сервере, тем самым, «выносить» вычислительную нагрузку с сервера Asterisk на отдельный хост.
IP – АТС Asterisk коммуницирует с сервером, на котором находится исполняемый скрипт с помощью TCP сокетов. Вызвать FastAGI можно следующим образом:
exten => helloworld,1,AGI(agi://192.168.0.123:4567/somescript.agi)
В рамках синтаксиса, мы обращаемся на хост 192.168.0.123 и порт 4567, вызываю скрип с именем somescript.agi. Здесь можно передать различные переменные, как и в обычном AGI.
Apache - популярный бесплатный opensource веб-сервер. Он является частью стека LAMP (Linux, Apache, MySQL, PHP), который обеспечивает большую часть Интернета. Мы уже рассказывали про его установку на Windows и сравнивали его с nginx, а сегодня расскажем про то как установить Apache на Linux.
А про то как установить nginx на Linux, можно прочитать в нашей статье.
Установка веб-сервера Apache на Linux
Установка Apache на CentOS и RHEL
Откройте окно терминала и обновите списки пакетов репозитория, введя следующее:
sudo yum update
Теперь вы можете установить Apache с помощью команды:
sudo yum –y install httpd
httpd - это имя службы Apache в CentOS. Опция –y автоматически отвечает да на запрос подтверждения.
Готово, Apache установлен.
Установка Apache на Ubuntu и Debian
В Ubuntu и Debian пакет и служба Apache называются apache2. Сначала также обновите инструмент управления пакетами apt.
sudo apt update
Теперь устанавливаем Apache:
sudo apt install apache2
Запуск и управление веб-сервером Apache
Apache - это сервис, работающий в фоновом режиме. В Debian и Ubuntu он автоматически запустится после установки, а в CentOS его нужно запустить вручную.
Не забывайте что в командах в CentOS нам нужно использовать httpd, а в Debian и Ubuntu apache2
Запустите службу Apache, введя следующее:
sudo systemctl start httpd
Система не возвращает вывод, если команда выполняется правильно.
Чтобы настроить автозагрузку Apache при запуске используйте команду:
sudo systemctl enable httpd
Чтобы проверить состояние службы Apache:
sudo systemctl status httpd
Чтобы перезагрузить Apache (перезагрузит файлы конфигурации, чтобы применить изменения):
sudo systemctl reload httpd
Чтобы перезапустить весь сервис Apache:
sudo systemctl restart httpd
Чтобы остановить Apache:
sudo systemctl stop httpd
Чтобы отключить Apache при запуске системы:
sudo systemctl disable httpd
Проверить веб-сервер Apache
Задача вашего программного обеспечения Apache - обслуживать веб-страницы по сети. Ваша новая установка Apache имеет тестовую страницу по умолчанию, но вы также можете создать собственную тестовую страницу.
Проверьте тестовую страницу Apache
В окне терминала найдите IP-адрес вашей системы:
hostname -I | awk '{print $1}'
Если вы знакомы с командами ip addr show или ifconfig, вы можете использовать их вместо этого. Подробно про команду ip можно прочитать тут.
Откройте веб-браузер и введите IP-адрес, отображаемый в выводе. Система должна показать тестовую страницу HTTP-сервера Apache, как показано на скриншоте ниже:
Или так, если у вас Ubuntu:
Если ваша система не имеет графического интерфейса, используйте команду curl:
curl [your_system's_IP_address]:80
Примечание. В конце: 80 обозначает порт 80, стандартный порт для интернет-трафика. Обязательно напишите соответствующий IP-адрес вместо [your_system's_IP_address].
Создать HTML-файл для тестирования
Если по какой-либо причине вам нужна или у вас уже есть пользовательская HTML-страница, которую вы хотите использовать в качестве тестовой страницы, выполните следующие действия:
В окне терминала создайте новый индекс файл HTML:
echo My Apache Web Server > /var/www/html/index.html
Отредактируйте файл по своему вкусу и сохраните его.
Теперь вы можете выполнить действия, описанные в предыдущем разделе, и если ваш сервер Apache работает правильно, если он отобразит указанную пользовательскую страницу.
Настройка фаервола для Apache
Фаервол в вашей системе блокирует трафик через разные порты. Каждый порт имеет свой номер, и разные виды трафика используют разные порты. Для вашего веб-сервера вам нужно разрешить HTTP и HTTPS трафик через порты 80 и 443.
В терминале введите следующее:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Еще раз проверьте, правильно ли настроен ваш фаервол:
sudo firewall-cmd --list-all | grep services
Вы должны увидеть http и https в списке разрешенных сервисов.
Если вы пользуйтесь UFW, то можно открыть порты HTTP (80) и HTTPS (443), включив профиль Apache Full:
sudo ufw allow 'Apache Full'
Если вы используете nftables для фильтрации подключений к вашей системе, откройте необходимые порты, введя следующую команду:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Файлы и каталоги Apache
Apache управляется путем применения директив в файлах конфигурации:
/etc/httpd/conf/httpd.conf - основной файл конфигурации Apache
/etc/httpd/ - Расположение всех файлов конфигурации
/etc/httpd/conf.d/ - Все конфигурационные файлы в этом каталоге включены в основной файл настроек
/etc/httpd/conf.modules.d/ - Расположение конфигурационных файлов модуля Apache
Примечание. При внесении изменений в файлы конфигурации не забывайте всегда перезапускать службу Apache, чтобы применить новую конфигурацию.
Логи Apache расположены тут:
/var/log/httpd/ - расположение файлов логов Apache
/var/log/httpd/access_log - показывает журнал систем, которые обращались к серверу
var/log/httpd/error_log - показывает список любых ошибок, с которыми сталкивается Apache
Назначьте каталог для хранения файлов для вашего сайта. Используйте файлы конфигурации, чтобы указать каталог, который вы выбрали. Некоторые типичные места включают в себя:
/home/username/my_website
/var/www/my_website
/var/www/html/my_website
/opt/my_website
В графическом интерфейсе FreePBX существует коммерческий модуль SysAdmin Pro, стоимость которого составляет $25 (на