我正尝试在CentOS6上安装Apache,并使用SSL作为开发服务器。
我一直在这里发布的指示,以获得SSL工作: http : //wiki.centos.org/HowTos/Https (注:Apache工作正常,直到我试图启用SSL。)
当我开始重新启动Apache时,服务器无法启动。 我只是得到一个错误,如下所示:
[Mon Feb 13 18:31:36 2012] [error] (13)Permission denied: Init: Can't open server certificate file /etc/pki/tls/certs/ca.crt
我看到报告的证书是由我的用户和我的小组所有,所以我将其更改为root:root但没有任何区别。 我不知道还有什么要尝试或看什么。 谢谢。
注意:我的问题与此类似,但错误不同。
所以对于任何不明白答案的人来说,
这是一个selinux问题。 文件可以具有不同的selinux“上下文”,即使常规权限正确,httpd守护进程也将无法读取具有错误上下文的文件。 就我而言,解决scheme是要做到以下几点:
chcon --reference /file/with/correct/context /path/to/certificate/file
这将从参考文件复制上下文到证书。 如果你没有文件你可以参考,稍微棘手的方法(因为必须input)设置正确的上下文是:
chcon unconfined_u:object_r:httpd_config_t:s0 /path/to/certificate/file