monitorix 3.4.0 error: O arquivo 'monitorix.conf.path' não foi encontrado

1

Estou executando o monitorix no CentOS usando meu servidor apache (em oposição ao servidor interno) com a seguinte adição ao virtualhost:

Alias /monitorix /usr/share/monitorix
<Directory /usr/share/monitorix>
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
    AllowOverride All
</Directory>
<Directory /usr/share/monitorix/cgi>
    AddHandler cgi-script .cgi
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options +ExecCGI +FollowSymLinks
    Allow from all
    AllowOverride All
</Directory>

Além disso, a seguinte configuração para o monitorix:

base_dir = /usr/share/monitorix/
base_lib = /usr/lib/monitorix/
base_url = /monitorix
base_cgi = /monitorix/cgi

quando eu abro o link , obtenho a interface HTML exibindo corretamente a versão Monitorix v3.4.0. então a configuração do httpd parece funcionar bem.

quando clico no botão [OK], recebo este erro:

FATAL: Monitorix is unable to continue!

File 'monitorix.conf.path' was not found.

Please make sure that 'base_dir' option is correctly configured and this CGI (monitorix.cgi) is located in the 'base_dir'/cgi/ directory.

And don't forget to restart Monitorix for the changes to take effect!

meu arquivo de log http mostra isso:

[Fri Mar 28 10:26:01 2014] [error] FATAL: File 'monitorix.conf.path' was not found! at /usr/share/monitorix/cgi/monitorix.cgi line 210.\n

que me diz que o CGI funciona bem também. Os caminhos no httpd confirg também parecem estar ok e combinar os caminhos na configuração do monitorix também parecem estar corretos.

Mas de alguma forma o caminho não está OK. Eu tentei o base_dir com e sem barras, mas isso não ajudou.

o arquivo /usr/share/monitorix/cgi/monitorix.cgi antes da linha 210 tenta

open(IN, "< monitorix.conf.path");
my $config_path = <IN>;
chomp($config_path);
close(IN);

o arquivo /usr/share/monitorix/cgi/monitorix.conf.path existe também.

Eu não sei PERL muito bem, alguém pode me dizer o que está errado aqui?

    
por uncovery 28.03.2014 / 03:56

2 respostas

1

Este Perl CGI monitorix.cgi simplesmente não consegue encontrar seu arquivo de configuração chamado monitorix.conf.path .

Como você mostra apenas um fragmento do arquivo Perl, apenas adivinha:

  • ou não há nenhum padrão monitorix.conf.path e você teve que criar um em /usr/share/monitoryx/cgi/
  • ou o Perl CGI está procurando em /usr/share/monitoryx/ , não base_dir/cgi/ , como é explicado na mensagem de erro que você recebeu ao clicar no botão.

Claro, isso é tudo de melhor suposição. Ainda há uma chance de o Perl CGI procurar seu arquivo de configuração em um lugar totalmente diferente.

    
por 28.03.2014 / 04:13
0

Eu encontrei o problema: mod_perl foi ativado e mexido com o cgi para encontrar um arquivo localizado no mesmo diretório.

graças a Mikaku do # freenode.net #monitorix canal de IRC para resolver isso!

    
por 28.03.2014 / 09:00