Apache 403 Proibido para Nagios no FreeBSD

2

Eu tenho o seguinte arquivo conf em /usr/local/etc/apache24/Includes e quando tento entrar no Nagios GUI, recebo um 403 proibido. Eu acho que isso é um problema de permissões com o Apache acessando dados do Nagios, mas não tenho certeza de como resolver isso. Eu adicionei www user a nagios group e os arquivos estão em /usr/local/www/nagios/cgi-bin/ são executáveis e legíveis pelo nagios group. Eu também tenho cgi_modules habilitado no arquivo httpd.conf

ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/

Alias /nagios /usr/local/www/nagios/
<Directory /usr/local/www/nagios>

   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUSerFile /usr/local/etc/nagios/htpasswd.users
   Require valid-user

</Directory>

<Directory /usr/local/www/nagios/cgi-bin>

   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUSerFile /usr/local/etc/nagios/htpasswd.users
   Require valid-user

</Directory>

Como resolvo esse problema?

Versão do Nagios: 4.3.4

Versão do Apache: 24

FreeBSD 11

Atualização 1:

Eu modifiquei a parte do índice de diretório no arquivo httpd.conf para incluir index.php

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

E vejo a seguinte página da Web

<?php
include_once(dirname(__FILE__).'/includes/utils.inc.php');
// Allow specifying main window URL for permalinks, etc.
$url = $cfg['cgi_base_url'].'/tac.cgi';

if ("yes" == "yes" && isset($_GET['corewindow'])) {

    // The default window url may have been overridden with a permalink...
    // Parse the URL and remove permalink option from base.
    $a = parse_url($_GET['corewindow']);

    // Build the base url.
    $url = htmlentities($a['path']).'?';
    $url = (isset($a['host'])) ? $a['scheme'].'://'.$a['host'].$url : '/'.$url;

    $query = isset($a['query']) ? $a['query'] : '';
    $pairs = explode('&', $query);
    foreach ($pairs as $pair) {
        $v = explode('=', $pair);
        if (is_array($v)) {
            $key = urlencode($v[0]);
            $val = urlencode(isset($v[1]) ? $v[1] : '');
            $url .= "&$key=$val";
        }
    }
    if (preg_match("/^http:\/\/|^https:\/\/|^\//", $url) != 1)
        $url = "main.php";
}

$this_year = '2017';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

<html>
<head>
    <meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<script LANGUAGE="javascript">
    var n = Math.round(Math.random() * 10000000000);
    document.write("<title>Nagios Core on " + window.location.hostname + "</title>");
    document.cookie = "NagFormId=" + n.toString(16);
</script>
    <link rel="shortcut icon" href="images/favicon.ico" type="image/ico">
</head>

<frameset cols="180,*" style="border: 0px;">
    <frame src="side.php" name="side" frameborder="0" style="">
    <frame src="<?php echo $url; ?>" name="main" frameborder="0" style="">

    <noframes>
        <!-- This page requires a web browser which supports frames. -->
        <h2>Nagios Core</h2>
        <p align="center">
            <a href="https://www.nagios.org/">www.nagios.org</a><br>
            Copyright &copy; 2010-<?php echo $this_year; ?> Nagios Core Development Team and Community Contributors.
            Copyright &copy; 1999-2010 Ethan Galstad<br>
        </p>
        <p>
            <i>Note: These pages require a browser which supports frames</i>
        </p>
    </noframes>
</frameset>

</html>

Mas o erro Cannot serve directory /usr/local/www/nagios/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive não foi embora.

    
por pdna 02.10.2017 / 18:12

1 resposta

0

Portanto, o índice do diretório pode ser o problema aqui.

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
</IfModule>

A documentação completa está aqui: link

    
por 03.10.2017 / 00:28