Icinga web安装问题 – 服务器端错误

我已经成功安装并configuration了Icinga 1.3,并且获得了基本的Web界面,并且运行良好。

我现在正试图让icinga-web工作。 我遵循了这里logging的说明:

http://docs.icinga.org/latest/en/icinga-web-scratch.html

当我浏览到icinga-web应用程序,我可以login,但得到一个空白页面。 当我查看源代码时,我看到了页面的所有HTML和标记,以及Chrome开发人员工具中的以下错误:

GET http://nagios.node/icinga-web/appkit/squishloader/javascript 500 (Internal Server Error)

在检查/usr/local/icinga-web/app/data/log/icinga-web-2011-03-16.log我看到这个相同的错误,我对该网页的每个请求:

 [Wed Mar 16 01:29:08 2011] [致命] UnKaught AppKitPHPError:PHP错误
 mkdir()[function.mkdir]:文件存在
 (/usr/local/icinga-web/app/cache/config/compile.xml_development__033d402eaeb08f42e4e3d5f8474e444805e2c7c6.php:1327)
 (/usr/local/icinga-web/app/modules/AppKit/lib/logging/AppKitExceptionHandler.class.php:20)`

根据安装文档,我尝试清除caching:

rm /usr/local/icinga-web/app/cache/config/*.php

然后重新启动Apache,但我似乎无法通过这个。

我今天从git repo上build立了icing-web:

git://git.icinga.org/icinga-web.git

我也尝试从1.3.0焦油球,但仍然得到同样的问题。

有没有人遇到过这个问题?

更新:

这是安装在:

  • Centos 5.2 32位x86
  • Apache 2.2.3(标准回购安装)
  • PHP 5.2.17(从IUS社区包安装)
  • MySQL 5.0(标准回购安装)
  • 安装了IDOUtils – 我用这个快速入门: http ://docs.icinga.org/latest/en/quickstart-idoutils.html

我探讨了这个问题,这个问题似乎在Agavi组件中,具体来说:

lib/agavi/src/filter/AgaviExecutionFilter.class.php

writeCache()方法中:

 @mkdir(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . self::CACHE_SUBDIR . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR , array_slice($groups, 0, -1)), 0777, true); 

我在这段代码中放了一条logging器,看到mkdir试图recursion创build一个目录,例如:

/usr/local/icinga-www/app/cache/content/amF2YXNjcmlwdF9jb250ZW50/QXBwS2l0X1dpZGdldHMvU3F1aXNoTG9hZGVy

我删除了这个,重新启动Apache,但问题仍然存在。

在这一点上,服务器运行PHP 5.2.17。

我升级PHP到5.3.5,这个问题神奇地解决了自己。

出于兴趣,我将PHP敲回到5.2.17,看看该版本中的mkdir()函数的行为与5.3.5中的mkdir()函数之间是否有任何差异。 一个testing脚本显示,PHP做的所有事情都警告说这个文件夹在两个版本中都存在,所以没有发生硬性错误。

另外,奇怪的是,icinga-web开始使用PHP 5.2.17 ….我不知道为什么。 我检查了两个版本的php.ini文件,认为error_reporting设置可能已经改变,但它们是一样的(除了PHP 5.3.5设置为E_ALL & ~E_NOTICE | E_DEPRECATED而5.2.17设置为E_ALL & ~E_NOTICE E_ALL & ~E_NOTICE | E_DEPRECATED ) 。

希望这对任何遇到同样问题的人都有用。

我遇到过同样的问题。 花了我一些时间来find解决scheme。 “AppKitPHPError”相当具有误导性, 真正的原因要简单得多,容易解决。

这只是缺less凭据。 编辑以下两个configuration,填写正确的DBlogin

  • /whereveryouricingarootis/icinga-web/app/modules/Web/config/icinga-io.xml
  • /whereveryouricingarootis/icinga-web/app/modules/Web/config/icinga-io.site.xml

之后你完成了,错误将会消失

玩的开心 !!

ranX