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?