温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

配置Centreon 第10步时报: Ctitical Not Writable 解决方法

发布时间:2020-06-11 22:07:16 来源:网络 阅读:4846 作者:weisk 栏目:移动开发

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


本人在配置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 be nagios: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 '<b><spanclass="go">OK</font></b>';

                $msg = '';

                  }else {

             echo '<b><spanclass="stop">Critical: Not Writeable</font></b>';

             $msg =  $uid['name'] .':'.$gid['name'].'&nbsp;('.$perms. ')</b>';

             $msg .=  '<br />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

                  <?php

                  session_start();

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

                  echo"<ahref=\"test2.php\">".$_SESSION['name']."</a>";

                  ?>

文件2: test2.php

                  <?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步的时候就不会出现错误提示啦!


希望对大家有帮助!


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI