開発サーバーとして使用するために、SSLを使用してApacheをCentOS6にインストールしようとしています。
私は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
に変更しましたが、違いはありませんでした。他に何を試すべきか、何を見るべきかわかりません。ありがとう。
注:私の質問は this に似ていますが、エラーは異なります。
したがって、答えが実際に何であるかを理解していない人のために:
これは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