Nagios 安裝啟動成功,但 Web 介面左側選單點擊無反應、CGI 頁面 404,核心原因是 CGI 執行檔路徑與 Apache 配置不匹配。
/usr/local/nagios/sbin/。ScriptAlias /nagios/cgi-bin/ 指向 /usr/local/apache/cgi-bin/(或 /var/www/cgi-bin/)。/usr/local/nagios/share/config.inc.php 中 $cfg["cgi_base_url"] 指向錯誤路徑。# 1. 複製所有 CGI 執行檔
cp /usr/local/nagios/sbin/*.cgi /usr/local/apache/cgi-bin/
# 2. 確認 Apache 配置包含 ScriptAlias
# /etc/httpd/conf/httpd.conf 或 /etc/apache2/conf-available/nagios.conf
ScriptAlias /nagios/cgi-bin/ /usr/local/apache/cgi-bin/
# 3. 重啟 Apache
systemctl restart httpd # 或 apache2
# 編輯設定檔
vi /usr/local/nagios/share/config.inc.php
# 修改 cgi_base_url 指向實際 sbin 目錄(需 Apache 允許執行)
$cfg["cgi_base_url"] = "/nagios/cgi-bin"; # 若 Apache ScriptAlias 指向 sbin
# 或
$cfg["cgi_base_url"] = "/nagios/sbin"; # 若直接 Alias 到 sbin
# 同步修改 Apache 配置
Alias /nagios/sbin/ /usr/local/nagios/sbin/
<Directory /usr/local/nagios/sbin>
Options ExecCGI
AllowOverride None
Require all granted
</Directory>
./configure --with-cgi-url=/nagios/cgi-bin --with-httpd-conf=/etc/httpd/conf.d
make all && make install && make install-webconf
https://IP/nagios/。/cgi-bin/)。/var/log/httpd/error_log 確認權限或路徑問題。nagios:nagios,Apache 運行用戶(apache/www-data)需有執行權限。Options +ExecCGI,檔案需 chmod 755。setsebool -P httpd_enable_cgi 1 或調整標籤。Nagios CGI 路徑不匹配是經典安裝坑。方案 B(修改配置指向實際目錄)最乾淨,避免檔案重複與升級同步問題。記得同步調整 Apache Alias/ScriptAlias 與目錄權限。