リモートコマンドでapacheの再起動

いつもお世話になっています。

Linuxにおいてzabbix(1.8.3)のアクションのリモートコマンドの機能を使用して、apacheの再起動を行おうとしています。

zabbix_agentがコマンドを実行できるように、visudoで以下の記述を追加し、
zabbix ALL=(ALL) NOPASSWD: ALL

sudo -u zabbix service httpd restart
で作動確認してみましたが、以下のようなメッセージが出力され、

(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down

起動できません。port80 はroot権限が必要なのでListen portを変更するしかないのでしょうか?
どなたかリモートコマンドでapacheの起動を行っているかたがいらっしゃいましたらよろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

もし、通常のポート番号80番でhttpdを起動されたいのであれば、root権限が必要です。
その為には、sudoコマンドで-uオプションを利用してzabbixを指定されているのが不要なのではないでしょうか?

以下のURLにも設定例が紹介されていますのでご参照下さい。
http://www.zabbix.jp/modules/bwiki/index.php?SoftwareDesign200805-200806

ユーザー tthogho1 の写真

早速の回答ありがとうございます。

確認して、再度報告いたします。

ユーザー tthogho1 の写真

1.visudoで以下を追記
zabbix localhost=(root) NOPASSWD:/etc/init.d/httpd

2.リモートコマンドに以下を記述
{HOSTNAME}:sudo /etc/init.d/httpd restart

してみましたが、sudo /etc/init.d/httpd restart
自体は対象サーバに送られているのがエージェントのログ上分かりましたが、再起動されていません。(エラーメッセージは載っていない)
もうちょっと調べます。

追記
エラーメッセージは載っていないと書いてしまいましたが、
ログに Password: と出力されていたのでPasswordを聞かれているようです。

また、{HOSTNAME}:sudo /etc/init.d/httpd restart
ではなく、{HOSTNAME}:/etc/init.d/httpd restart
にすると、以下のエラーがログに出力されます。
httpd を停止中: [失敗]^M
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain na
me, using 10.32.147.217 for ServerName
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

ユーザー TNK の写真

visudoで追記する行を以下のように変更してみてください。
<code>
zabbix ALL=(root) NOPASSWD:/etc/init.d/httpd
</code>
これで駄目なら、/var/log/secureなどに何らかのエラーログが出力されていると思いますので、その内容をお教え下さい。

ユーザー tthogho1 の写真

いつもありがとうございます。

再起動できるようになりました。