“运行apache2ctl graceful时出错”让我们在AWS Lightsail Bitnami上加密

时间:2018-02-23 10:43:21

标签: amazon-web-services ssl ubuntu-16.04 lets-encrypt amazon-lightsail

作为家庭中的常驻技术人员,我正在帮助推出新的家族企业网站。在编码和Web开发方面,我的经验非常有限(我在高中时创建了一个基本的html / css网站)。请耐心等待我

到目前为止,我有域名,托管和DNS工作。主机是AWS Lightsail,其中Wordpress在Ubuntu 16.04和Bitnami上运行。现在我正在尝试进行SSL设置,因为我们希望在网站上进行信用卡付款。经过几天的研究,我走上了Let's Encrypt的道路,我正试图在服务器上获取证书。如果我已经犯了某种严重错误,请阻止我。

无论如何,我正在使用来自https://certbot.eff.org/#ubuntuxenial-apache

的说明

我已经取得了一些进展,直到。查看putty的完整粘贴: https://pastebin.com/dhLs7c3A

root@ip-172-26-2-150:/home/bitnami# sudo certbot --apache -d profq.com.au -d www.profq.com.au

总结我跑线: “root @ ip-172-26-2-150:/ home / bitnami#sudo certbot --apache -d profq.com.au -d www.profq.com.au”

问题从第一行开始:

“运行apache2ctl graceful时出错。 httpd没有运行,试图启动 行动'优雅'失败。“

非常感谢任何帮助或建议。谢谢

2 个答案:

答案 0 :(得分:1)

您只是简单地尝试了Bitnami工具,听起来与您描述的内容相关,听起来就像光帆上的wordpress。

要启动Bitnami HTTPS配置工具,请执行以下命令并按照提示进行操作:

sudo /opt/bitnami/bncert-tool

您可能需要运行sudo su才能以root身份运行。

这应该可以轻松解决此问题。

答案 1 :(得分:0)

昨天我遇到了同一问题,由于没有提出解决方案的建议,我将写出解决方法。

显然,此问题不是与Lightsail实例或正在运行的Apache服务器直接相关,而是与Bitnami堆栈有关。以下是安装letsencrypt证书taken from here的步骤。

先决条件 您需要做的第一件事是确保服务器上所有软件包都已更新。您可以使用以下命令来做到这一点。

sudo apt update
sudo apt upgrade

1。安装证书

首先,在要安装Certbot客户端的目录中创建一个目录,然后移至该目录。

sudo mkdir /opt/bitnami/letsencrypt
cd /opt/bitnami/letsencrypt

现在继续从官方certbot发行版安装Certbot客户端。您还需要确保脚本具有执行特权。

sudo wget https://dl.eff.org/certbot-auto
sudo chmod a+x ./certbot-auto

现在运行certbot-auto脚本以完成安装。该脚本可能会显示一些错误,但是您可以忽略它。它会运行并下载所需的所有依赖项。

sudo ./certbot-auto

2。生成证书

一旦安装了Certbot客户端,就可以继续为您的域生成证书。

sudo ./certbot-auto certonly --webroot -w /opt/bitnami/apache2/htdocs/{example} -d www.example.com -d example.com
仅当您不将文件存储在htdocs文件夹本身中时,上述

^ {example}是可选的。 www.example.com和example.com应该是您的域名。

由于没有为www设置CNAME记录,因此在运行此命令后遇到问题。我的网站版本。错误是: DNS问题:NXDOMAIN在www.example.com上查找A 要解决此问题,请转到您的lightail页面,打开Netowkring选项卡,然后为您的站点选择DNS区域。单击DNS记录下的Add record,选择CNAME,在子域中仅输入www,然后在要映射的字段中输入不带www的域。字首。完成上述操作后,上面的命令应该可以顺利通过。

如果您需要获取多个域的证书,请遵循this guide。它基本上是向每个域的主目录添加新路径,从而产生以下命令:

certbot certonly --webroot -w /opt/bitnami/apache2/htdocs/example -d www.example.com -d example.com -w /opt/bitnami/apache2/htdocs/other -d www.other.net -d example.net

3。链接让我们将SSL证书加密到Apache

您可以仅在这些位置复制SSL证书,然后重新启动Apache以启用新文件。但是使用这种方法,您必须在续订证书时再次复制文件。

因此,更好的方法是创建到证书文件的符号链接。每当您续订许可证时,无需执行此额外步骤即可生效。

您可以使用以下命令创建符号链接。

sudo ln -s /etc/letsencrypt/live/[DOMAIN]/fullchain.pem /opt/bitnami/apache2/conf/server.crt
sudo ln -s /etc/letsencrypt/live/[DOMAIN]/privkey.pem /opt/bitnami/apache2/conf/server.key

确保证书文件名和路径正确。如果收到错误消息,说明该文件已存在,请使用以下命令重命名文件。然后重新运行以上两个命令。

mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/serverkey.old
mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/servercrt.old

一旦符号链接到位,就可以重新启动Apache服务器以使其生效。使用以下命令重新启动Apache服务器。您也可以从Lightsail页面重新启动它。

sudo /opt/bitnami/ctlscript.sh restart apache

就是这样。之后,转到https://example.com应该可以,并且您应该会看到证书。

通知。该证书仅有效3个月,因此您需要每3个月手动刷新一次或为此进行cron作业。要刷新它,请按照以下命令进行操作:

sudo apt update
sudo apt upgrade
cd /opt/bitnami/letsencrypt
sudo ./certbot-auto renew
sudo /opt/bitnami/ctlscript.sh restart apache