我正在尝试安装带有 SSL 的 ApacheCentOS6用作开发服务器。
我一直按照此处发布的说明来使 SSL 正常工作:http://wiki.centos.org/HowTos/Https(注意:在我尝试启用 SSL 之前,Apache 一直运行良好。)
当我重新启动 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
但没有什么区别。我不确定还要尝试什么或查看什么。谢谢。
注意:我的问题类似于这但错误不同。
答案1
因此,对于那些不明白这里答案到底是什么的人来说:
这是 selinux 问题。文件可以具有不同的 selinux“上下文”,即使常规权限正确,具有错误上下文的文件也无法被 httpd 守护进程读取。就我而言,解决方案是执行以下操作:
chcon --reference /file/with/correct/context /path/to/certificate/file
这会将上下文从引用文件复制到证书。如果您没有可以引用的文件,设置正确上下文的稍微棘手的方法(因为必须将其输入出来)是:
chcon unconfined_u:object_r:httpd_config_t:s0 /path/to/certificate/file