Notes
この文書では、ウェブサーバに Apacheが動いていていることを前提としています。もし他のウェブサーバが稼働している場合は、それ用に変更しなくてはならないでしょう。また、同様にNagiosが/usr/local/nagiosにインストールされていることとして進めていきます。
CGIを稼働させるためのスクリプトエイリアスの設定
CGIが動くようにエイリアスの設定をしなくてはなりません。デフォルトのインストールではhttp://あなたのサーバ/nagios/cgi-bin/でNagiosのCGIが動くものという前提になっています。ただし、これはコンフィグスクリプトで--with-cgiurlオプションを使用すると変更可能です。いずれにせよ、ウェブサーバの設定ファイル(例:httpd.conf)に次のような設定を追加します。(ウェブサーバの設定ファイルの場所はシステムによって違うでしょう…)
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/ <Directory "/usr/local/nagios/sbin/"> AllowOverride AuthConfig Options ExecCGI Order allow,deny Allow from all </Directory>
重要! ScriptAliasの行は次に説明するAliasの行より前にないといけません。 そうでないとApacheは各行を異なるものとして解析してしまいます。
重要! もしNagiosをマルチユーザシステムにインストールした場合、CGIと外部コマンドとの間により強いセキュリティを提供するため CGIWrapを導入したいと思うかも知れません。もしあなたがCGIWrapを使うと決めた場合、ScriptAliasは同じように記述しなくてはいけませんが、上に記載した記述とは異なるでしょう。この件に関してより詳しい情報はここに記載されています。
ウェブサーバからHTMLファイルをブラウズ可能にするために、Apacheの設定ファイルを以下の様に設定します・・・
次の行をウェブサーバの設定ファイル(例:httpd.confに追加してください:
Alias /nagios/ /usr/local/nagios/share/ <Directory "/usr/local/nagios/share"> Options None AllowOverride AuthConfig Order allow,deny Allow from all </Directory>
この設定はhttp://あなたのサーバ/nagios/というURLでHTMLのウェブインタフェイスやドキュメントにアクセス可能にすることを意味しています。またエイリアスの設定はコンフィグスクリプトで指定した--with-htmlurlと同じ値にする必要があります。(デフォルトでは/nagios/になっています)。
重要! AliasディレクティブはCGIを動かすためのScriptAliasディレクティブの後ろに記述しなくてはなりません。もし、ScriptAliasの前に記述してしまったらCGIにアクセスしたときに404のエラーがでてしまいます。
ウェブサーバの再起動
Apacheの設定ファイルを編集し終えたら、次のようにウェブサーバを再起動してください。
/etc/rc.d/init.d/httpd restart
変更の検証
Apacheの設定を変更した部分がきちんと稼働しているかどうかチェックを忘れないようにしてください。ブラウザでhttp://あなたのサーバ/nagiosにアクセスして、Nagiosのウェブインタフェイスが表示されるか確認してください。CGIはなんの情報も表示しませんが、Nagiosの設定をすべて完了したら正しく表示されるでしょう。
BASIC認証の設定
ウェブインタフェイスの設定が正しくできたら、今度はCGIファイルへのアクセス制限をかけるため、ユーザ認証の設定を行う必要があります。この件に関する詳細はこちらを参照してください。