nagios о проблемах Virtualhost CGI
Я переместил свои nagios на apache virtualhost и добавил следующий файл конфигурации
<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 не сохраняется, только при просмотре страницы.
3 ответа
Ваш файл конфигурации выглядит нормально, просто прокомментируйте строку
Alias /nagios /usr/local/nagios/share
Поскольку вы уже определяете DocumentRoot, эта строка вступает в противоречие с вашим путем, определяющим Nagios.
Я использую Ubuntu 12.04, и чтобы исправить первоначальную ошибку tac.cgi, вы должны отредактировать строку в файлах index.html и index.php следующим образом.
frame src="/nagios/cgi-bin/tac.cgi" name="main" />
После этого начальная страница будет загружена правильно.
Я не уверен, что это на 100% правильно, но это на 100% работает.
<VirtualHost *:80>
ServerName nagios.example.org
ServerAlias nagios
ServerAdmin webmaster@example.org
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>
Я нашел этот макет после исследования и объединения многочисленных методов. Любой вклад будет оценен, почему или почему это может быть неправильно.