如何手动安装 letsencrypt apache 模块?

如何手动安装 letsencrypt apache 模块?

Letsencrypt 可能很酷,但我只是不喜欢运行一个对我的生产机器进行许多未知和未记录(可能不可逆)修改的脚本。我想了解它的工作原理以及如何完全手动安装它,而不是使用任何自动加密脚本或工具。

因此,我使用他们的工具获取了证书,并手动将其安装到我的 apache 中,为此,我不得不暂时关闭它并运行他们的内置网络服务器,以验证该域名是否属于我。不幸的是,整个 letsencrypt 的文档非常糟糕,它全是关于自动化的东西,这些东西应该使用一些黑魔法或其他东西开箱即用,无需用户干预,因此它根本没有描述它在后台的实际工作原理 :(

现在我发现,为了更新证书,我要么需要再次关闭我的 Web 服务器(这不会发生),要么我可以安装一些特殊的 Apache 模块,我猜它在这里:https://github.com/letsencrypt/letsencrypt/tree/master/letsencrypt-apache不幸的是,根本没有关于如何做到这一点的任何文档。

我发现,如果我运行带有更多选项的黑魔法工具,它就会帮我安装。但我并不想这样,我想手动安装,这样我就能知道并看到我实际上在系统中做了哪些更改。

我该怎么做?我该如何编译模块并配置它以使其工作?我知道 letsencrypt 使用一种称为“ACME”的东西来验证域是否属于您,但除此之外我找不到更多信息。

答案1

现在我发现,为了更新证书,我要么需要再次关闭我的网络服务器(这不会发生),要么我可以安装一些特殊的 Apache 模块

这些都不是真的。

  • 使用的验证协议在ACME 规范草案最简单的方法是“http-01”,您需要通过 HTTP 提供特定的文本文件。

  • 如果你已经有一个正在运行的 Web 服务器,使用--webroot模式并告诉 LE 将其 http-01 验证文件直接放在你的/var/www/html或类似的东西下。这不需要任何大多数时候都需要特殊配置。

  • 如果你不想自动配置,请使用letsencrypt certonly。这和 webroot 模式在入门页:

    要使用“webroot”插件获取证书,该插件可与任何 Web 服务器软件的 Webroot 目录一起使用:

    letsencrypt certonly --webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is

    此命令将获取 example.com、www.example.com、thing.is 和 m.thing.is 的单个证书;它将文件放在 /var/www/example 下以证明对前两个域的控制,并将第二对域的控制放在 /var/www/thing 下。

  • letsencrypt-apache不是 Apache 模块;它是LE 客户端,仅用于自动安装第一个 LE 证书,而不必手动安装。(基本上就是你所说的不要想。)

答案2

在“高级”选项卡下,

https://certbot.eff.org/#centosrhel6-apache

./path/to/certbot-auto --apache certonly

然后你就可以修改你httpd.confssl.conf你自己了。

抱歉,我不知道如何手动运行 ACME 协议。

相关内容