私はnagiosをapaches仮想ホストに移動し、次の構成ファイルを追加しています
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName nagios.example.com
ServerAlias nagios.example.com
DocumentRoot /usr/local/nagios/share
ScriptAlias /cgi-bin/nagios /usr/local/nagios/sbin
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
# Where the stylesheets (config files) reside
#Alias /nagios/stylesheets /usr/local/nagios/share
# Where the HTML pages live
Alias /nagios /usr/local/nagios/share
<Directory /usr/local/nagios/share>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride AuthConfig
Order Allow,Deny
Allow From All
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios3/htpasswd.users
require valid-user
</Directory>
</VirtualHost>
ページを参照すると、次のエラーが表示されます。要求されたURL /cgi-bin/tac.cgi
がこのサーバーで見つかりませんでした。 scriptaliases
ルートをチェックすると、すべてが問題ないようです。メニューの内部をクリックしても、ページの閲覧だけではcgiの問題は持続しません。
設定ファイルは、行をコメントするだけで大丈夫です
Alias /nagios /usr/local/nagios/share
すでにDocumentRootを定義しているため、この行はNagiosを定義するパスと競合しています。
これが100%正しいかどうかはわかりませんが、100%動作します。
<VirtualHost *:80>
ServerName nagios.example.org
ServerAlias nagios
ServerAdmin [email protected]
DocumentRoot /usr/local/nagios/share
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
ScriptAlias /cgi-bin /usr/local/nagios/sbin
Alias /nagios /usr/local/nagios/share
<Directory /usr/local/nagios/share>
Options Indexes FollowSymLinks MultiViews
# SSLRequireSSL
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
<Directory "/usr/local/nagios/sbin">
# SSLRequireSSL
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
ErrorLog /var/log/httpd/nagios_error.log
LogLevel warn
CustomLog /var/log/httpd/nagios_access.log combined
ServerSignature On
</VirtualHost>
多数の方法を調査して組み合わせた後、このレイアウトを見つけました。これが間違っている、またはそうでない理由についてのご意見をいただければ幸いです。
Ubuntu 12.04を実行しています。最初のtac.cgiエラーを修正するには、index.htmlおよびindex.phpファイルの行を次のように編集する必要があります。
frame src="/nagios/cgi-bin/tac.cgi" name="main" />
その後、最初のページが正しくロードされます。