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
如下yum版本和内核版本可以成功安装snapd
可以看到存储库中的snapd是最新版本2.51,安装成功
安装后,需要启用管理主 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
$ sudo snap refresh core
4 删除 certbot-auto 和任何 Certbot OS 包
如果您使用apt
、dnf
或yum
等操作系统包管理器安装了任何 Certbot 包 ,则应在安装 Certbot snap 之前将其删除,以确保在运行命令 certbot 时使用的
是 snap,而不是从您的操作系统包安装经理。执行此操作的确切命令取决于您的操作系统,但常见示例是sudo apt-get remove certbot
、sudo dnf remove certbot
或sudo 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
或者,只需获得证书
如果您感觉更保守并希望手动更改 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 栏中查找锁定图标。