证书管理工具之letsencrypt

1 SSH 进入服务器

以具有 sudo 权限的用户身份通过 SSH 连接到运行您的 HTTP 网站的服务器。

2 安装 snapd

您需要安装 snapd 并确保按照任何说明启用经典 snap 支持。
按照snapcraft 网站这些说明安装 snapd

(1)将 EPEL 添加到 CentOS 7

可以使用以下命令将 EPEL 存储库添加到 CentOS 7 系统:

$ sudo yum install epel-release

(2)安装 snapd

将 EPEL 存储库添加到您的 CentOS 安装后,只需安装snapd包:

$ sudo yum install snapd

当出现以下图片安装失败,原因为图中可以看到EPEL 存储库存储库中的snapd版本为2.49,但是最新版本为2.51,只有最新版本才有rpm包,因此获取失败,主要因为yum版本过低,应该升级yum版本即可yum -y upgrade;yum -y update

1627006806810

如下yum版本和内核版本可以成功安装snapd

1627006157537

可以看到存储库中的snapd是最新版本2.51,安装成功

1627006992635

安装后,需要启用管理主 snap 通信套接字的systemd单元:

$ sudo systemctl enable --now snapd.socket

要启用经典snap 支持,请输入以下内容以在/var/lib/snapd/snap和之间创建符号链接/snap

$ sudo ln -s /var/lib/snapd/snap /snap

注销并重新登录或重新启动系统以确保正确更新 snap 的路径。

3 确保您的 snapd 版本是最新的

在机器上的命令行上执行以下说明,以确保您拥有最新版本的snapd

$ sudo snap install core

1627007070131

$ sudo snap refresh core

1627007140412

4 删除 certbot-auto 和任何 Certbot OS 包

如果您使用aptdnfyum等操作系统包管理器安装了任何 Certbot 包 ,则应在安装 Certbot snap 之前将其删除,以确保在运行命令 certbot 时使用的是 snap,而不是从您的操作系统包安装经理。执行此操作的确切命令取决于您的操作系统,但常见示例是sudo apt-get remove certbotsudo dnf remove certbotsudo yum remove certbot

如果您之前通过 certbot-auto 脚本使用过 Certbot,您还应该按照此处的说明删除其安装。

5 安装certbot

在机器上的命令行上运行此命令以安装 Certbot。

sudo snap install --classic certbot

6 准备 Certbot 命令

在机器上的命令行执行以下指令,确保certbot命令可以运行。

sudo ln -s /snap/bin/certbot /usr/bin/certbot

7 选择您希望如何运行 Certbot

  • 要么获取并安装您的证书…

    运行此命令以获取证书并让 Certbot 自动编辑您的 Nginx 配置以提供服务,只需一步即可打开 HTTPS 访问。

    sudo certbot --nginx

1627010116619

  • 或者,只需获得证书

    如果您感觉更保守并希望手动更改 Nginx 配置,请运行此命令。

    sudo certbot certonly --nginx

http://archery-sec9002.eniot.io/

8 测试自动续订

您系统上的 Certbot 软件包带有一个 cron 作业或 systemd 计时器,它们将在您的证书到期之前自动更新您的证书。除非您更改配置,否则您无需再次运行 Certbot。

您可以通过运行以下命令来测试证书的自动续订:

sudo certbot renew --dry-run

9 如果该命令正确完成,您的证书将在后台自动更新。

确认 Certbot 工作:要确认您的站点设置正确,请在浏览器中访问https://yourwebsite.com/并在 URL 栏中查找锁定图标。

CentOS/RHEL 7 上的 Nginx

centos中安装snapd

文章目录