配置Centreon第10步时报:CtiticalNotWritable解决方法

原创作品,转载请指明出处:http://weiskarray.blog.51cto.com/6851740/1401487。

成都网络公司-成都网站建设公司成都创新互联公司10余年经验成就非凡,专业从事成都网站制作、网站建设,成都网页设计,成都网页制作,软文发布平台广告投放等。10余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:13518219792,我们期待您的来电!


本人在配置Centreon的时候碰到了各种问题,也上网搜了很多解决方案,有些错误在网上获得很大的帮助并解决了。但是有些并没有解决。就如题目中所提到的这个问题,在网上并没有找到正确的解决方案,最终是跑去读源代码找出问题所在的并解决。所以把解决方案记录下来,希望对大家有帮助。


错误提示第一种情况:

首先大家先看提示界面

WritableCentreonConfigurationFile(centreon.conf.php)Critical:NotWriteable
/etc/centreon/ asterisk:asterisk(755)Should be nagios:nagios(755)
GenerateCentreon configuration file OK
/etc/centreon/centreon.conf.php asterisk:asterisk(755)Should be nagios:nagios(755)
GenerateCentstorage configuration file OK
/etc/centreon//conf.pm asterisk:asterisk (755) Should benagios:nagios (755)


      如果是上面这种情况,只需按照给出的提示修改即可。即把”/etc/centreon/”目录及目录下文件的权限改为755,所有者与用户组改为nagios:nagios,如下

        chmod–R 755 /etc/centreon

        chown–R nagios.nagios /etc/centreon

(注:不同的安装设置可能会要求修改成不同的用户名与用户组,只需根据提示进行即可)


注意一下,就是权限修改的时候一定要修改成755(修改成其他或777都不行),下面是第10步设置的源文件代码:

if((strcmp($perms,'755') == 0 )  && (!strcmp($_SESSION['apache_user'],$uid['name'])) && (!strcmp($_SESSION['apache_group'], $gid['name'])) ){

             echo 'OK';

                $msg = '';

                  }else {

             echo 'Critical: Not Writeable';

             $msg =  $uid['name'] .':'.$gid['name'].' ('.$perms. ')';

             $msg .=  '
Should be '.$_SESSION['apache_user'].':'.$_SESSION['apache_user'].' (755)';

                      $return_false = 1;

       }

      所以一定要修改成755!(我安装的版本是2.2.2的,其他更新的版本是不是这样大家可以自己看一下)

经过所提示的进行修改,这种情况下的错误基本上就能解决了。


第二种情况:

WritableCentreonConfigurationFile(centreon.conf.php)Critical:NotWriteable
/etc/centreon/ asterisk:asterisk(755)Should be:(755)
GenerateCentreon configuration file OK
/etc/centreon/centreon.conf.php asterisk:asterisk(755)Should be:(755)
GenerateCentstorage configuration file OK
/etc/centreon//conf.pm asterisk:asterisk (755) Should be: (755)

这种情况就行提示中的“Should be:(755)”没有了用户名与用户组!!

       通过上面的源文件代码大家已经看到进行用户名、用户组的条件判断与输出提示都是经过SESSION来完成的,而这没有输出任何东西,所以问题就出在这——说明PHP的SESSION不可用!


大家可以进行一下简单的测试,看看所安装PHP的SESSION功能是不是可用的。

下面就用两个实例来说明吧:

文件1 test1.php

                 

                  session_start();

                  $_SESSION['name']="Havi";

                  echo"".$_SESSION['name']."";

                  ?>

文件2: test2.php

                 

                  session_start();

                  echo"This is ".$_SESSION['name'];

                  ?>


经过上面的测试如果在test2.php中没有显示出“Havi”, 则说明确实是SESSION不可用的话,就说明大家遇到的问题确实是跟我的一样了。

在这里按照了下面的进行SESSION不可用问题:

第一个可能原因:

       查看/etc/php.ini文件中session.use_trans_sid参数是否被设为了零。所以一个办法是在配置文件php.ini里把 session.use_trans_sid的值改成1。

第二个可能原因:

是对服务器保存session的文件夹没有读取的权限,可以在php.ini文件(Linux系统下)中查看session保存的地址:

session.save_path: var/tmp

所以就是检查下var/tmp文件夹是否可写。

写一个文件:test3.php来测试一下:

                 

                  echovar_dump(is_writeable(ini_get("session.save_path")));

                  ?>

如果返回bool(false),证明文件夹写权限被限制了。

所以,可以把var/tmp权限进行修改,也可以指定新的路径,直到test3.php返回true。在此就不细说了。


把PHP的SESSION问题解决了,大家重新进行配置,到第10步的时候就不会出现错误提示啦!

希望对大家有帮助!



分享名称:配置Centreon第10步时报:CtiticalNotWritable解决方法
网站URL:http://hbruida.cn/article/jhocci.html