apache2
安装localhost时出现以下错误消息
service apache2 reload
/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)
Syntax error on line 52 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateKeyFile: file '/etc/ssl/private/ssl-cert-snakeoil.key' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
...fail!
如何解决这个问题?
答案1
您的问题有两个答案。
第一个是直接解决日志中错误的简短答案:
file '/etc/ssl/private/ssl-cert-snakeoil.key' does not exist or is empty
Apache 停止运行是因为缺少 SSL 证书。只需sites-enabled
使用从文件夹中删除默认 SSL 配置sudo rm /etc/apache2/sites-enabled/default-ssl
,Apache 即可顺利启动。要在调整配置后重新启用 SSL 站点,您可以运行sudo ln -s /etc/apache2/sites-available/default-ssl etc/apache2/sites-enabled/default-ssl
。
第二个答案是正确的答案,即仔细查看 Apache 文档以确定您的配置不正确的原因。由于错误日志中的值看起来像是新安装的 Apache 的默认值,因此我包含了第一个答案,但在完成上述操作后,您应该花一些时间阅读文档。您将学到很多东西,并会发现为什么没有snakeoil.pem
文件以及 snakeoil 证书意味着什么。
您可以在这里找到常规文档:http://httpd.apache.org/docs/2.2/
(或者http://httpd.apache.org/docs/2.4/视情况而定)
您可以在这里找到常规配置文档:http://httpd.apache.org/docs/2.2/mod/quickreference.html
您可以mod_ssl
在这里找到文档:http://httpd.apache.org/docs/2.2/ssl/
答案2
看起来你忘记了 sudo:
sudo service apache2 reload
答案3
您需要为您的服务器创建一个 SSL 证书,并将SSLCertificateFile
(.crt 文件)和SSLCertificateKeyFile
(.key 文件)链接到您的证书和证书密钥。
这是在 Apache 启动时读取的配置文件中完成的。通常它位于/usr/local/apache2/conf/extra/httpd-ssl.conf
。就你的情况而言,它位于/etc/ssl/private/sites-enabled/default-ssl
要创建自签名证书,请按照以下步骤操作指示
如果您已经购买了证书,则只需找到它并复制路径即可。