CentOS6 - Apache2 可以正常工作,但是在安装/启用 SSL 时,由于权限错误,服务器无法启动

Fra*_*k V 5 ssl centos mod-ssl centos6 apache-2.2

我正在尝试在CentOS6上安装带有 SSL 的 Apache 以用作开发服务器。

我一直在遵循此处发布的说明来使 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
Run Code Online (Sandbox Code Playgroud)

我看到报告的证书归我的用户和我的组所有,所以我将其更改为root:root但没有任何区别。我不知道还有什么可以尝试或看什么。谢谢。

注意:我的问题与类似,但错误不同。

sat*_*ace 11

所以对于那些不明白答案实际上是什么的人来说:

这是一个selinux问题。文件可以有不同的 selinux “上下文”,即使常规权限正确,具有错误上下文的文件也将无法被 httpd 守护程序读取。就我而言,解决方案是执行以下操作:

chcon --reference /file/with/correct/context /path/to/certificate/file
Run Code Online (Sandbox Code Playgroud)

这会将上下文从引用的文件复制到证书。如果您没有可以引用的文件,则设置正确上下文的稍微棘手的方法(因为必须键入)是:

chcon unconfined_u:object_r:httpd_config_t:s0 /path/to/certificate/file
Run Code Online (Sandbox Code Playgroud)