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

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

无论如何,我正在使用以下说明:https://certbot.eff.org/#ubuntuxenial-apache

我已经取得了一些进展,直到。查看腻子的完整粘贴:
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 时出错。
httpd 未运行,正在尝试启动
'优雅' Action 失败。”

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

最佳答案

我昨天遇到了同样的问题,由于没有建议解决方案,我将写下我是如何修复它的。

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

先决条件
您需要做的第一件事是确保服务器上的所有软件包都已更新。您可以使用以下命令执行此操作。

sudo apt update
sudo apt upgrade

1. 安装 CERTBOT

首先,创建一个要安装 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
要修复它,请转到您的 Lightsail 页面,打开 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. 将 Let's Encrypt SSL 证书链接到 Apache

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

所以更好的方法是创建一个指向证书文件的符号链接(symbolic link)。每当您续订许可证时,它无需此额外步骤即可生效。

您可以使用以下命令来创建符号链接(symbolic link)。
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

一旦您的符号链接(symbolic link)就位,您可以重新启动 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

关于amazon-web-services - "Error while running apache2ctl graceful"让我们在 AWS Lightsail Bitnami 上加密,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48945960/

10-11 05:19