Назад | Перейти на главную страницу

Перезапуск Nagios с помощью PHP

Я делаю инструмент, который взаимодействует с NAGIOS, куда должны быть добавлены некоторые файлы конфигурации, поэтому потребуется перезагрузка.

Мне нужно знать, как перезапустить NAGIOS с помощью кода PHP, поскольку этот инструмент написан на PHP ... когда я пытаюсь сделать это, используя:

  shell_exec("service nagios restart");

изменения не происходят, но когда я делаю это вручную с помощью консоли, применяются все изменения, которые я сделал с помощью PHP-скрипта ... после 2-минутного исследования я обнаружил, что прошу Linux выполнить эту команду, пока я вошел в систему как Apache пользователь, поэтому я изменил команду на:

  shell_exec('echo "mypass" | sudo -S service nagios restart');

все еще есть та же проблема ... новые файлы конфигурации не читаются, пока я не перезапущу вручную

любые предложения будут оценены :)

Лучше добавить ваш веб-сервер в sudoers, чтобы он мог перезапускать службу nagios без запроса пароля. Это будет безопаснее, чем вводить пароль в файле PHP. Для этого введите:

$ sudo visudo

Затем добавьте такую ​​строку:

apache_user ALL=NOPASSWD: /path/to/script

Это позволит apache_user выполнять только /path/to/script с участием sudo привилегии с запросом пароля.

Я предполагаю, что с разрешениями все еще что-то не так, войдите в систему как пользователь apache с su apacheusername а затем выполните вашу команду

echo "nagiosxi" | sudo -S service nagios restart

проверить это не дает никаких ошибок. Вы уверены, что используете Nagios как службу?