CentOS – Apache和SSL?

嘿所有

我有我的SSL设置问题,当我把SSL引擎到我的Apache不会启动,如果我删除它,它的工作正常。

我无法findApache的日志,所以我可以find这里发生了什么,

可以sommen maby告诉我的问题或链接到Apache的defult日志path?

这里是我的虚拟主机configuration文件。

<VirtualHost *:443> # SSLEngine On SSLProtocol all SSLCertificateFile "/etc/pki/tls/schemecloud.co.uk.csr" SSLCertificateKeyFile "/etc/pki/tls/schemecloud.co.uk.key" SSLCACertificateFile "/etc/pki/tls/rapidssl.crt" ErrorLog "/var/www/error_ssl_log" <Directory /var/www/html> AllowOverride All </Directory> DocumentRoot /var/www/html/ ServerName schemecloud.co.uk </VirtualHost> 

您正在列出SSLCertificateFile的.csr文件。 .csr文件通常包含证书签名请求,这不是您的证书。 你可能有一个.crt文件,你需要把这个指令。

我的CentOS安装的Apache日志path是“/ var / log / httpd /”; 但是,看起来您可能正在使用ErrorLog参数更改该path。

对于你给出的configuration,我怀疑你可能使用了SSLCertificateFile参数的错误文件; “.csr”通常是指证书签名请求,而参数要求的证书文件通常被命名为“.crt”。

另外,你可能会发现这个教程让Apache设置使用SSL有帮助。

我无法findApache的日志,所以我可以找出什么发生在这里,

您在此行覆盖configuration中的默认ErrorLogpath:

 ErrorLog "/var/www/error_ssl_log" 

我build议删除该行,并使用默认的ErrorLog代替。 这样,所有的错误将被logging在同一个地方。 这是一个单一的守护进程,在大多数情况下,它实际上只需要一个错误日志文件。 另外, /var/www/通常是保存网页内容(html文件,图像,错误页面,图标,cgi脚本等)的目录。您可能不希望在其中存储任何错误日志。

要find默认的ErrorLog位置,您需要了解Apacheconfiguration如何工作。

首先在主httpd.conf中search“ErrorLog”。 在CentOS 5上,你会看到这样的一行:

 myhost $ grep ErrorLog /etc/httpd/conf*/*.conf /etc/httpd/conf/httpd.conf:ErrorLog logs/error_log myhost $ 

根据ErrorLog指令的文档:

如果文件path不是绝对的,则假定它是相对于ServerRoot的。

在CentOS 5上,ServerRoot通常是/ etc / httpd

 myhost $ grep ServerRoot "/etc/httpd" /etc/httpd/conf*/*.conf /etc/httpd/conf/httpd.conf:ServerRoot "/etc/httpd" 

这意味着您的默认错误日志位于/etc/httpd/logs/ ,这恰好是/var/log/httpd的符号链接:

 myhost $ ls -ld /etc/httpd/logs lrwxrwxrwx 1 root root 19 Sep 29 2010 /etc/httpd/logs -> ../../var/log/httpd