По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Сегодня хотим поговорить про модуль «Web Callback» для FreePBX 13. Модуль является платным и стоит $50. Платеж единоразовый. В сравнении с популярными сервисами обратного звонка, покупка модуля окупается в среднем за полгода. Интересно? Тогда читайте ниже: настройка и адаптация стиля под свой сайт.
Процесс настройки
Данный модуль находится в меню Applications. Он позволяет легко и просто добавить HTML “Позвоните Мне” код на ваш веб-сайт. Посетители просто вводят свой телефонный номер для соединения с нужной вам очередью или ринг-группой. Далее, этот модуль позволяет выставить префикс для поступающего номера, что позволит определить, что вызов идет именно с модуля обратного звонка. Так же можно указать правила набора номера, для определения номеров, на которые можно совершить вызов. Как только вы установите направление для вызова и подтвердите настройки модуля, вы получите HTML-код для добавления на вашу страницу.
Итак, пошаговый процесс создания кода для помещения на веб-страницу:
Нажмите на + Add Web Callback
Заполните поля:
Описание полей:
Name – Название коллбэка
CID Prepend – Префикс при определении номера, в данном случае – «CALLBACK»
Number Prepend – Префикс при наборе номера
Dial Matches – Маска, для определения номеров, которые можно набирать
Icon – Выбор иконки из предложенных
Valid Message – Сообщение, которое высвечивается при правильном наборе
Invalid Message – Сообщение, которое высвечивается при неправильном наборе
Error Message – Сообщение, которое высвечивается, если произошла какая-либо ошибка
Destination – Направление вызова, в данном случае – ринг-группа с названием “web callback”
HTML Code – Код, который появится после сохранения настроек
Нажмите Submit
Далее нужно только добавить получившийся код на сайт и пользоваться. Только надо учитывать два момента: первый – данный модуль надо купить у Shmooze и иметь публичный адрес вашей АТС/или пробрасывать порты.
Изменения стиля формы обратного звонка
После того как мы создали форму обратного звонка на сайт, нам необходимо доработать ее внешне, так как встроенные формы имеют не привлекательный дизайн. Открываем файл /etc/schmooze/wcb.html и добавляем в него следующий код:
<style type="text/css">
#frame {
background-image: url('/admin/images/webcallback.png');
background-repeat: no-repeat;
background-size: 200px;
height: 65px;
cursor: pointer;
cursor: hand;
}
#webcallbackinput {
position: relative;
left: 66px;
top: 30px;
width: 125px;
}
</style>
<div id="frame">
<input type="text" name="num" placeholder="Укажите ваш номер" id="webcallbackinput" value="">
<input type="hidden" id="dest" value="http://1.2.3.4:12345/wcb.php">
<input type="hidden" id="i" value="1">
</div>
<div id="link"></div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#frame').click(function(){
if ($('#webcallbackinput').val()) {
var valid_msg = 'Спасибо. Мы уже звоним Вам!';
var invalid_msg = 'Ошибка. Пожалуйста, укажите все параметры согласно требованию полей';
var but = $(this);
$.ajax({
url: $('#dest').val(),
type: 'post',
data: {p: $('#webcallbackinput').val(), i: $('#i').val()},
cache: false,
success: function(data, b, c) {
data = $.parseJSON(data);
switch (data.Response) {
case 'Error':
switch (data.Message) {
case 'Originate failed':
alert(invalid_msg);
break;
default:
alert(data.Message);
break;
}
break;
case 'Success':
alert(valid_msg);
break;
default:
break;
}
},
error: function(a, b, c) {
alert(invalid_msg);
}
})
}
})
});
</script>
Обратите внимание, чтобы форма работала корректно, вам необходимо указать корректное значение параметра value в поле input ниже (это значение было сгенерировано на этапе настройки в поле) и значение параметр id в поле, следующем следом за ним. В нашем примере, id=2:
<input type="hidden" id="dest" value="http://1.2.3.4:12345/wcb.php">
<input type="hidden" id="i" value="1">
В данном примере указано значение http://1.2.3.4:12345/wcb.php , где значение 1.2.3.4 – внешний IP – адрес нашего маршрутизатора, а 12345 – это проброс нестандартного порта в наш Asterisk. Рекомендуем в настройках проброшенного порта указать разрешенные сети (source address), с которых можно подключиться через этот порт. Это необходимо в целях безопасности, если ваш Web – сервер находится не в локальной сети, а например, на хостинге
Так же здесь вы можете настроить сообщения, которые будут показаны пользователю при успешном и неуспешном исходе вызова обратного звонка
var valid_msg = 'Спасибо. Мы уже звоним Вам!';
var invalid_msg = 'Ошибка. Пожалуйста, укажите все параметры согласно требованию полей ';
Что такое логи Linux? Все системы Linux создают и хранят файлы логов информации для процессов загрузки, приложений и других событий. Эти файлы могут быть полезным ресурсом для устранения неполадок системы.
Большинство файлов логов Linux хранятся в простом текстовом файле ASCII и находятся в каталоге и подкаталоге /var/log. Логи создаются системным демоном логов Linux, syslogd или rsyslogd.
В этом руководстве вы узнаете, как находить и читать файлы логов Linux, а также настраивать демон ведения системных логов.
Как просматривать логи Linux
1. Сначала откройте терминал Linux как пользователь root. Это позволит получить root-права.
2. Используйте следующую команду для просмотра папки где находятся файлов логов:
cd /var/log
3. Чтобы просмотреть логи, введите следующую команду:
ls
Команда отображает все файлы логов Linux, такие как kern.log и boot.log. Эти файлы содержат необходимую информацию для правильного функционирования операционной системы.
Доступ к файлам логов осуществляется с использованием привилегий root. По определению, root - это учетная запись по умолчанию, которая имеет доступ ко всем файлам Linux.
Используйте следующий пример строковой команды для доступа к соответствующему файлу:
sudo less [log name here].log
Эта команда отображает временную шкалу всей информации, относящейся к этой операции.
Обратите внимание, что файлы логов хранятся в виде обычного текста, поэтому их можно просматривать с помощью следующих стандартных команд:
zcat - Отображает все содержимое logfile.gz
zmore - Просмотр файла по страницам, не распаковывая файлы
zgrep - Поиск внутри сжатого файла
grep - Найти все вхождения поискового запроса в файле или отфильтровать файл логов
tail - Выводит последние несколько строк файлов
head - Просмотр самого начала текстовых файлов
vim - Просмотр при помощи текстового редактора vim
nano - Просмотр при помощи текстового редактора nano
Важные системные логи Linux
Логи могут многое рассказать о работе системы. Хорошее понимание каждого типа файла поможет различать соответствующие логи.
Большинство каталогов можно сгруппировать в одну из четырех категорий:
Системные логи (System Logs)
Логи событий (Event Logs)
Логи приложений (Application Logs)
Логи обслуживания (Service Logs)
Многие из этих логов могут быть расположены в подкаталоге var/log.
Системные логи
Файлы логов необходимы для работы Linux. Они содержат значительный объем информации о функциональности системы. Наиболее распространенные файлы логов:
/var/log/syslog: глобальный системный журнал (может быть в /var/log/messages)
/var/log/boot.log: лог загрузки системы, где хранится вся информация, относящаяся к операциям загрузки
/var/log/auth.log: логи аутентификации, который хранит все логи аутентификации, включая успешные и неудачные попытки (может быть в /var/log/secure)
/var/log/httpd/: логи доступа и ошибок Apache
/var/log/mysqld.log: файл логов сервера базы данных MySQL
/var/log/debug: логи отладки, который хранит подробные сообщения, связанные с отладкой, и полезен для устранения неполадок определенных системных операций
/var/log/daemon.log: логи демона, который содержит информацию о событиях, связанных с запуском операции Linux
/var/log/maillog: логи почтового сервера, где хранится информация, относящаяся к почтовым серверам и архивированию писем
/var/log/kern.log: логи ядра, где хранится информация из ядра Linux
/var/log/yum.log: логи команд Yum
/var/log/dmesg: логи драйверов
/var/log/boot.log: логи загрузки
/var/log/cron: логи службы crond
Демон системных логов
Логирование осуществляется при помощи демона syslogd
Программы отправляют свои записи журнала в syslogd, который обращается к конфигурационному файлу /etc/syslogd.conf или /etc/syslog и при обнаружении совпадения записывает сообщение журнала в нужный файл журнала. Каждый файл состоит из селектора и поля ввода действия. Демон syslogd также может пересылать сообщения журнала. Это может быть полезно для отладки. Этот файл выглядит приерно так:
Dec 19 15:12:42 backup.main.merionet.ru sbatchd[495]: sbatchd/main: ls_info() failed: LIM is down; try later; trying ...
Dec 19 15:14:28 system.main.merionet.ru pop-proxy[27283]: Connection from 186.115.198.84
Dec 19 15:14:30 control.main.merionet.ru pingem[271] : office.main.merionet.ru has not answered 42 times
Dec 19 15:15:05 service.main.merionet.ru vmunix: Multiple softerrors: Seen 100Corrected Softerrors from SIMM J0201
Dec 19 15:15:16 backup.main.merionet.ru PAM_unix[17405]: (sshd) session closed 'for user trent
Логи приложений
Логи приложений хранят информацию, относящуюся к любому запускаемому приложению. Это может включать сообщения об ошибках, признаки взлома системы и строку идентификации браузера.
Файлы логов, которые попадают в эту категорию, включают логи системы печати CUPS, лог Rootkit Hunter, логи HTTP-сервера Apache, логи SMB-сервера Samba и лог сервера X11.
Логи не в удобочитаемом формате
Не все логи созданы в удобочитаемом формате. Некоторые предназначены только для чтения системными приложениями. Такие файлы часто связаны с информацией для входа. Они включают логи сбоев входа в систему, логи последних входов в систему и записи входа в систему.
Существуют инструменты и программное обеспечение для чтения файлов логов Linux. Они не нужны для чтения файлов, так как большинство из них можно прочитать непосредственно с терминала Linux.
Графические интерфейсы для просмотра файлов логов Linux
System Log Viewer - это графический интерфейс, который можно использовать для отслеживания системных логов.
Интерфейс предоставляет несколько функций для управления логами, включая отображение статистики лога. Это удобный графический интерфейс для мониторинга логов.
В качестве альтернативы можно использовать Xlogmaster, который может отслеживать значительное количество файлов логов.
Xlogmaster полезен для повышения безопасности. Он переводит все данные для выделения и скрытия строк и отображает эту информацию для выполнения действий, запрошенных пользователем.
Как настроить файлы логов в Ubuntu и CentOS
Начнем с примера CentOS. Чтобы просмотреть пользователей, которые в настоящее время вошли на сервер Linux, введите команду who от имени пользователя root:
Здесь также отображается история входа в систему пользователей. Для просмотра истории входа системного администратора введите следующую команду:
last reboot
Чтобы просмотреть информацию о последнем входе в систему, введите:
lastlog
Выполнить ротацию лога
Файлы логов, в конце которых добавлены нули, являются повернутыми файлами. Это означает, что имена файлов логов были автоматически изменены в системе.
Целью ротации логов является сжатие устаревших логов, занимающих место. Ротацию лога можно выполнить с помощью команды logrotate. Эта команда вращает, сжимает и отправляет системные логи по почте.
logrotate обрабатывает системы, которые создают значительные объемы файлов логов. Эта команда используется планировщиком cron и считывает файл конфигурации logrotate /etc/logrotate.conf. Он также используется для чтения файлов в каталоге конфигурации logrotate.
Чтобы включить дополнительные функции для logrotate, начните с ввода следующей команды:
var/log/log name here].log {
Missingok
Notifempty
Compress
Size 20k
Daily
Create 0600 root root
}
Он сжимает и изменяет размер желаемого файла логов.
Команды выполняют следующие действия:
missingok - сообщает logrotate не выводить ошибку, если файл логов отсутствует.
notifempty - не выполняет ротацию файла логов, если он пуст. Уменьшает размер файла лога с помощью gzip
size - гарантирует, что файл логов не превышает указанный размер, и поворачивает его в противном случае
daily - меняет файлы журналов по ежедневному расписанию. Это также можно делать по недельному или ежемесячному расписанию.
create - создает файл логов, в котором владелец и группа являются пользователем root
Итоги
Тщательное понимание того, как просматривать и читать логи Linux, необходимо для устранения неполадок в системе Linux. Использование правильных команд и инструментов может упростить этот процесс.
YUM (Yellowdog Updater, Modified) это менеджер пакетов, используемый в Red Hat, CentOS и других дистрибутивах Linux, использующих RPM Package Manager. Yum используется для установки, обновления, удаления или других манипуляций с пакетами, установленными на этих Linux-системах.
В этом руководстве мы расскажем вам о команде yum update - что она собой представляет, как ее использовать, и о различных командах, которые могут вам пригодиться, для обновления установленных пакетов в вашей системе.
Как работает команда Yum Update?
Yum update - это команда, используемая для обновления приложений, установленных в системе. Если команда выполняется без указания имён пакетов, она обновит все установленные в системе пакеты.
$ yum update
При выполнении этой команды, yum начнёт с проверки своих репозиториев на наличие обновленных версий программного обеспечения, установленных в вашей системе на данный момент. На приведенном ниже Рисунке А показан тип вывода, который вы обычно видите при первом запуске команды yum update.
Как вы можете увидеть,на выводе yum сначала перечисляет запрашиваемые репозитории, которые являются стандартными репозиториями по умолчанию для CentOS: AppStream, Base и Extras.Ниже, приводится список различных пакетов, для которых были найдены обновления.
В конце этого вывода yum отобразит "Сводку транзакций", которая показывает общее количество пакетов, которые должны быть установлены и обновлены.
В данном примере на Рисунке Б, идёт обновление 166 пакетов и установка 6 новых пакетов.
На случай, если вам интересно почему устанавливаются новые пакеты, когда мы должны были только обновить приложения, некоторые новые пакеты программного обеспечения могли стать частью этого дистрибутива Linux, или некоторые обновленные приложения могут полагаться на дополнительные пакеты, которые еще не установлены.
После просмотра списка программного обеспечения, которое yum планирует обновить, вы можете подтвердить эти изменения, набрав "y" и нажав клавишу Enter.
Затем Yum начнёт выполнять обновления, которые могут занять некоторое время в зависимости от скорости вашего соединения и самой системы.
После его завершения вы получите итоговую сводку, как показано на рисунке В, в которой будут перечислены все пакеты, которые были успешно обновлены, а также все ошибки, которые могли возникнуть.
Обновление без проверки gpg
В Linux для проверки подлинности RPM пакетов используются GPG ключи. Если при запуске обычной команды обновления yum вы столкнётесь с ошибкой типа "Package NameOfPackage.rpm is not signed .. install failed!", вы можете с лёгкостью пропустить проверку подлинности RPM пакетов с помощью опции -nogpgcheck.
$ yum update --nogpgcheck
Данный параметр указывает команде yum игнорировать проверку GPG подписей пакетов. И будет полезен в тех случаях, когда у вас есть неподписанный пакет или просто нет ключа GPG.
Обновление из локального репозитория
Можно настроить локальные репозитории для команды yum при выполнении обновлений. Это зачастую делается, если вам нужно использовать yum для обновления пакетов, которые не включены в репозитории по умолчанию, или если вам нужно обновить автономную систему.
Прежде всего, поместите все ваши обновленные RPM-файлы в новую папку. В этом примере мы будем использовать /root/rpms. Затем перейдите в следующую директорию, где вы можете увидеть все файлы репозитория для yum:
$ cd /etc/yum.repos.d
Чтобы настроить собственный репозиторий, создадим новый файл в этом каталоге.
$ vi MyRepo.repo
Непосредственно в вашем repo-файле задайте параметры в указанном формате, меняя строки по мере необходимости:
[MyRepo]
name=My Local Repo
baseurl=file:///root/rpms
enabled=1
gpgcheck=0
Большая разница между локальным и удаленным repo заключается в строке "baseurl", где протокол file:// указывает на локальный файл, в то время как удаленный на протоколы http:// или ftp://.
Как только файл будет сохранен, примените правильные права доступа как показано ниже:
$ chmod 644 MyRepo.repo
Теперь репозиторий может быть готов к использованию. Перед тем, как пытаться выполнить команду yum update убедитесь, что вы очистили кэш yum использую команду:
$ yum clean all
Просмотр обновлений
Yum может отображать доступные обновления безопасности без их установки, с помощью этой команды:
$ yum updateinfo list security
Если в результатах данные не возвращаются, как на рисунке выше, это означает отсутствие обновлений безопасности для всех установленных в вашей системе программных продуктов.
Обновление конкретного пакета
Если вам нужно обновить определенный пакет без запуска обновления для каждого установленного приложения, просто укажите имя пакета в вашей команде yum update.
$ yum update name-of-package
Можно указать несколько пакетов, разделенных пробелом. Вам нужно, чтобы название пакета было указано идеально, чтобы yum смог найти его в своих репозиториях; если вы не уверены в наименовании пакета, сначала проверьте, какие пакеты в настоящее время доступны для обновлений:
$ yum check-update
Обновить все, кроме одного пакета
Если вам нужно выполнить команду yum update, но вы хотите исключить какой-либо пакет из списка обновляемых, вы можете указать опцию -exclude.
Распространённая ситуация, когда администраторы могут счесть это необходимым, связана с обновлениями ядра, так как это основные обновления, которые могут привести к непредсказуемым ошибкам на рабочем сервере. Однако, они всё же могут выполнить команду для обновления менее критичных приложений.
Чтобы исключить пакет (в данном примере связанные с ядром):
$ yum update --exclude=kernel*
Звездочка действует как подстановочный знак, в случае, если существует несколько взаимосвязанных пакетов или вы не знаете полного имени пакета.
В качестве альтернативы:
$ yum update -x 'kernel*'
Исключение нескольких пакетов
Вы можете исключить несколько пакетов с большим количеством опций -exclude.
$ yum update --exclude=kernel* --exclude=httpd
Используйте этот символ, как в примере выше, или же символ -x, столько раз, сколько потребуется.
Проверить, когда было запущено последнее обновление
Для того чтобы увидеть список транзакций с датой и временем их выполнения, воспользуйтесь командой yum history.
$ yum history
На приведенном выше скриншоте, вы можете видеть, что последний раз обновление программного обеспечения yum было 4 января.
Откатить (отменить) обновления
Отличительной особенностью "yum" является то, что она позволяет отменить последнее обновление, тем самым восстанавливая обновленные пакеты до их предыдущих версий.
Каждому действию yum (установка, обновление, удаление и т.д.) присваивается идентификатор транзакции, и этот идентификатор следует указывать при отмене обновления yum.Чтобы посмотреть список идентификаторов операций для недавних действий Yum, воспользуйтесь этой командой:
$ yum history
На скриншоте выше вы можете видеть, что последней операцией, выполненной с помощью yum, была установка пакета httpd. Отмена установки или обновления работает таким же образом, поэтому в этом примере мы отменим последнюю установку httpd. Как показано на скриншоте, эта операция имеет ID 7.
Чтобы отменить это изменение и откатить программу на предыдущую версию, выполните эту команду:
$ yum history undo 7
Как обычно, yum подведёт итоги внесённых изменений и спросит, хотите ли вы продолжить с помощью подсказки Y/N.Если ввести Y, то указанная транзакция будет отменена.
Чистка неудачного обновления Yum
Если не удалось успешно обновить один или несколько пакетов при выполнении команды "yum update", в систему могут быть установлены дубликаты пакетов (2 версии одной и той же программы). Иногда, следуя вышеописанным инструкциям по откату, можно устранить проблему.
Если это не сработает, вы можете удалить дубликаты пакетов вашей системы с помощью данной команды:
$ package-cleanup --dupes
Yum хранит в кэше информацию для пакетов, метаданных и заголовков. Если вы столкнулись с ошибкой,очистка кэш-памяти yum является хорошим первым шагом в устранении неполадок. Для этого используйте следующую команду:
$ yum clean all
Игнорирование ошибок
При обновлении или установке пакета для его корректной работы может потребоваться дополнительное программное обеспечение. Yum знает об этих зависимостях и попытается разрешить их во время обновления, устанавливая или обновляя необходимые дополнительные пакеты.
Если у вас возникнут проблемы с установкой необходимых компонентов, это приведёт к ошибке и не позволит продолжить работу. Это может стать проблемой, если у вас есть другие пакеты, которые необходимо обновить.
Чтобы дать инструкции yum продолжить обновление других пакетов и пропустить пакеты с поврежденными зависимостями, вам следует указать параметр -skip-broken в команде yum update.
$ yum update --skip-broken
Вывести список пакетов, которые нужно обновить.
Выполнение команды Yum update в обычном режиме без дополнительных опций выведет список всех доступных обновлений.
$ yum update
Если вы хотите посмотреть дополнительную информацию о доступных обновлениях пакета, введите эту команду:
$ yum updateinfo
Чтобы посмотреть информацию касательно обновлений безопасности, которые доступны для системы, введите эту команду:
$ yum updateinfo security
Разница между командами yum check update и yum list update
Хотя эти две команды звучат одинаково, но есть разница между проверкой обновлений и списком обновлений в yum.
$ yum list updates
Команда list updates, показанная выше, перечислит все пакеты в репозиториях, для которых доступны обновления. Имейте в виду, что некоторые пакеты в репозиториях могут быть вообще не установлены в вашей системе.
$ yum check-update
Указанная выше команда check-update позволяет проверять наличие обновлений без вмешательства пользователя. Это команда подойдёт в тех случаях, если вы пишите скрипт для проверки обновлений.
Если есть пакеты с доступными обновлениями, команда check-update вернёт значение 100, а если нет доступных обновлений, то значение 0. При обнаружении ошибки возвращается значение 1. Используйте эти значение чтобы надлежащим способом написать свой скрипт.
Уведомление о наличии доступных обновлений
Есть несколько пакетов, которые могут помочь управлять обновлениями yum в вашей системе.Некоторые из них могут даже уведомлять администраторов, если есть обновления, которые можно установить.Один из таких сервисов называется yum-cron.
Для начала установите yum-cron используя yum:
$ yum install yum-cron
Установите службу yum-cron для запуска при загрузке:
$ systemctl enable yum-cron.service
$ systemctl start yum-cron.service
Настройте параметры yum-cron внутри конфигурационного файла с помощью vi или предпочитаемого вами текстового редактора:
$ vi /etc/yum/yum-cron.conf
В этом файле вы можете указать, должны ли обновления применяться автоматически или нет. Если вы хотите только получать уведомления, введите данные электронной почты в файле конфигурации. В любое время, когда появятся обновления для вашей системы, yum-cron отправит вам электронное письмо.
apply_updates = no #don’t apply updates automatically
email_from = root@localhost
email_to = admin@example.com
email_host = localhost
Какой порт использует yum update
При проверке обновлений yum использует порт 80. Если вы загляните внутрь файлов репозитория в вашей системе, то вы увидите, что все ссылки внутри начинаются с http. Таким образом, для нормального функционирования yum на брандмауэре нужно прописать правило и открыть порт 80.
Yum update против upgrade
До сих пор в этом руководстве мы говорили только о команде yum update, но есть и другая очень похожая команда: yum upgrade.
$ yum upgrade
Существует небольшая разница между этими двумя командами. Yum update обновит пакеты в системе, но пропустит удаление устаревших пакетов. Yum upgrade тоже обновит все пакеты в вашей системе, но также удалит устаревшие пакеты.
Это по своей сути более безопасный вариант команды yum update, поскольку вам не нужно беспокоиться о случайном удалении необходимого пакета при обновлении программного обеспечения.
Будьте внимательны при вводе команды yum upgrade, так как она может не сохранить некоторые пакеты, которые вы всё ещё используете. Я надеюсь, что вы найдете это руководство полезным при работе с утилитой yum.