当我想在centOS 6.7上重启httpd searvice时,我有以下错误:
/etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: (13)Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log.
Unable to open logs
[FAILED]
这是error_log:
ls -Z /etc/httpd/logs/error_log
-rw-r--r--. root root unconfined_u:object_r:var_t:s0 /etc/httpd/logs/error_log
我也禁用了selinux。
有什么问题?
答案 0 :(得分:5)
httpd
可能以用户apache
或用户httpd
的形式运行。您的日志是拥有的,只能由root
写入。更改日志文件的所有权以使其工作。
这应该可以解决问题:
~# chown apache.apache /etc/httpd/logs/error_log
答案 1 :(得分:1)
也许您应该将该forder的组更改为apache,不建议将root用作服务器内容的所有者。无论如何apache应该在http开始之后自己改变...
来自httpd Wiki:
在开始之前,我们需要了解Apache HTTP服务器 (httpd)作为特定用户和组运行。
在Linux以及大多数其他类Unix系统上,httpd都是以 " root"用户; UID = root,GID = root。这是必要的,因为只有 此用户可以绑定到端口80和443(实际上低于1024的任何内容)。
http启动并绑定到其端口(由Listen定义) 在httpd.conf中的语句,它将用户更改为指定的 httpd.conf中。典型地:
用户:apache
组:apache请注意基于Debian的系统,包括 Ubuntu,使用" www-data"代替。
作为一种可能的解决方案,您应该将自己添加到组apache
中usermod -a -G apache (username)
然后:
chgrp apache (folderPath)
chmod g+rwxs (folderPath)
无论如何,这很奇怪...告诉我这是否解决了你的问题,如果我没有编辑它,只要你提供进一步的信息:)
答案 2 :(得分:-3)
只需以超级用户身份运行:
service httpd start
启动httpd:(13)权限被拒绝:httpd:无法打开错误日志文件/ etc / httpd / logs / error_log。
无法打开日志[FAILED]
sudo service httpd start
启动httpd:[确定]