CentOS 7 提示 No package certbot-nginx available 的解决办法

Let's encrypt 证书申请工具 Certbot 最近进行了更新,在 CentOS 7 + Nginx 环境下有了专门的插件。因此,安装 Certbot 不再推荐使用

sudo yum install certbot

转而使用

sudo yum install certbot-nginx

本来这是一个进步,但我们在阿里云的ECS上运行这个命令,却遇到了问题:

No package certbot-nginx available

也就是说,certbot-nginx 这个包在阿里云的默认 yum 源里是不可用的。

怎么办呢?我们来开启一下测试源,这个源包含额外的软件包。
如果要永久开启,命令如下:

yum-config-manager --enable epel-testing

然后来更新一下系统:

yum update

如果要临时开启,可以在更新的时候加参数,像这样:

yum update --enablerepo=epel-testing

但是,更新系统时又遇到了问题:

Error: Package: python2-certbot-0.18.2-2.el7.noarch (epel-testing)
           Requires: python2-psutil >= 2.1.0
Error: Package: python2-certbot-0.18.2-2.el7.noarch (epel-testing)
           Requires: python2-zope-component

有两个组件不满足要求,我们修复一下。
第一个是已安装但版本低,卸载了重装:

pip uninstall psutil
sudo yum install gcc python-devel python-pip
pip install psutil

第二个是没安装,直接装一下:

rpm -Uvh epel-release*rpm
yum install python-zope-component

安装完了再尝试更新一次:

yum -y update

然后安装 certbot-nginx:

sudo yum install certbot-nginx

成功。

注意:如果使用第三方面板部署环境,Nginx 配置文件一般不在默认位置,无法被 certbot-nginx 插件识别。这时候 certbot-nginx 就没什么用了,我们还是使用 certbot。

本文链接:

https://dev.euyyue.com/note/361.html
1 + 4 =
快来做第一个评论的人吧~