Certbot 在 Ubuntu 16.04 和 XAMPP 上自动生成证书

Certbot generate cert automatically on Ubuntu 16.04 with XAMPP

我遇到了无法通过“--apachectl”执行相同逻辑的情况, 而certbot说是折旧了,然后发现16.04的版本不是最新的, 而且我无法将 OS 升级到 18.04,所以我必须尝试另一种方法来自动生成证书。

我解决了这个案子,如果有帮助,想在这里分享给别人。

XAMPP 我的案例中的虚拟主机

Webroot 路径

/opt/lampp/htdocs/abcd.com/

虚拟主机配置

/opt/lampp/etc/extra/httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot  "/opt/lampp/htdocs/abcd.com"
ServerName abcd.com
<Directory "/opt/lampp/htdocs/abcd.com">
        Options Includes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
</Directory>
ErrorLog "/opt/lampp/htdocs/abcd.com/domain_error_log"
ErrorDocument 404 '404'
</VirtualHost>

.知名度

/opt/lampp/htdocs/abcd.com/.well-known/acme-challenge

1。我们将通过创建执行文件 (.sh)

使用 --manual-auth-hook --manual-cleanup-hook 时的重要步骤

1.1 创建authenticator.sh

sudo nano /opt/lampp/htdocs/abcd.com.authenticator.sh
#----- copy and paste -----
#!/bin/bash
echo $CERTBOT_VALIDATION > /opt/lampp/htdocs/Project/vtl-solutions.com/.well-known/acme-challenge/$CERTBOT_TOKEN
#----- copy and paste -----

sudo chmod -R 777  /opt/lampp/htdocs/abcd.com.authenticator.sh

1.2 创建cleanup.sh

sudo nano /opt/lampp/htdocs/abcd.com.cleanup.sh
#----- copy and paste -----
#!/bin/bash
rm -f /opt/lampp/htdocs/abcd.com/.well-known/acme-challenge/$CERTBOT_TOKEN
#----- copy and paste -----

sudo chmod -R 777  /opt/lampp/htdocs/abcd.com.cleanup.sh

2。我们现在可以运行命令来做

sudo certbot certonly --manual \
 --preferred-challenges=http \
 --manual-auth-hook /opt/lampp/htdocs/abcd.com.authenticator.sh \
 --manual-cleanup-hook /opt/lampp/htdocs/abcd.com.cleanup.sh \
 -d abcd.com

这里是一个细节和执行日志以供参考:

https://github.com/oliguo/Server-Certbot-XAMPP-Ubuntu