安装testlink时,出现”testlink/gui/templates_c、testlink/logs、testlink/upload_area不可写‘解决办法

在Testlink安装到最后,'...目录是否可写(由于用户运行webserver进程)’过程出错,如下图所示

1.首先想到/var/www/html/testlink/gui/templates_c、/var/www/html/testlink/logs、/var/www/html/testlink/upload_area这些目录没有写权限

所以先去给赋了些权限

chmod  -R 777 /var/www/html/testlink/gui/templates_c
chmod  -R 777 /var/www/html/testlink/logs
chmod  -R 777 /var/www/html/testlink/upload_area

然鹅!!!所有目录都有了写权限,仍然没有解决这个问题,又陷入了深深的思考中.....

2. 最终,经过探索,原来是SELinux阻止/usr/sbin/httpd 对/var/www/html/testlink/gui/templates_c进行写操作,以前只知道有SELlinx,最多也是接触过SELinx的关闭.所以最简单的方法就是关闭SELinux。

    那如果不关闭SELinux又该怎样做呢?

    SELinux极大的增强了Linux系统的安全性,能将用户权限关在笼子里,如httpd服务,因此能有效的防范0-day类的攻击。

    a)用如下命令获取默认/var/www目录的SELinux上下文

semanage fcontext -l |grep '/var/www'

  从中可以看到Apache只能访问包含 httpd_sys_rw_content_t标签的文件,如果希望Apchae使用某个目录作为网站文件目录,就需要给这个目录下的文件增加httpd_sys_content_t标签。

   b)那么,首先在这个目录下的文件添加默认标签类型

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testlink/gui/templates_c'

  c)然后用新的标签类型标注已有文件,Apache就可以使用改目录下的文件构建网站了

restorecon -v '/var/www/html/testlink/gui/templates_c'

 d)按同样的方法,修改/var/www/html/testlink/logs和/var/www/html/testlink/upload_area。

 

猜你喜欢

转载自www.cnblogs.com/yaqiong-hu/p/9621034.html
今日推荐