在众多免费SSL证书中,Let's Encrypt免费证书是用户使用较广、商家支持较多的一家,其中主要原因还在于部署比较简单,很多商家或者文案都有提供自动部署的方法教程。前几天老左收到来自某个网友的留言,是否可以分享一篇基于VestaCP面板给站点安装SSL证书的文章。这不老左准备抽出一点时间在VestaCP面板中部署Let's Encrypt免费SSL证书试试看。
VestaCP面板应该也算是众多免费面板中使用较多的,国内、国外网友使用的还是不少,而且面板也自动支持可选简体中文。正好前一段时间在GITHUB上看到"letsencrypt-vesta"可以自动在VestaCP中部署Let's Encrypt证书,所以这篇文章准备就依此试试看。
老左之前也有相关的Let's Encrypt文章:
1、OneinStack一键包快速自动配置Let's Encrypt免费SSL证书方法
2、LNMP V1.4一键快速部署Let's Encrypt免费SSL证书
第一、VestaCP面板部署Let's Encrypt证书准备
1、在这篇文中,老左选择的是CentOS7 64bit系统环境,因为系统默认自带python2.7+版本,而这个快速安装环境需要 基于python2.7+才可以。
2、备份数据,如果我们不熟悉或者拿不准的,我们可以先在测试机上安装试试,如果能成事那就再到生产环境安装。如果有网站数据,建议备份数据到本地,以防万一。
3、将需要安装SSL证书的域名解析到当前服务器中,以及在VestaCP面板中添加WEB站点,因为在安装过程中需要自动检测是否解析正确。
第二、VestaCP自动部署Let's Encrypt设置参数
1、安装git
yum install git -y
2、下载工具
cd /usr/local
git clone https://github.com/letsencrypt/letsencrypt.git
git clone https://github.com/interbrite/letsencrypt-vesta.git
3、创建webroot工具目录
mkdir -p /etc/letsencrypt/webroot
4、生效软链接
ln -s /usr/local/letsencrypt-vesta/letsencrypt.conf /etc/httpd/conf.d/letsencrypt.conf
这里我是直接默认安装的VESTA环境,是用的apache,如果我们是nginx则配置还是不同的。具体可以参考这里:https://github.com/interbrite/letsencrypt-vesta
5、同样设置证书软链接生效
ln -s /usr/local/letsencrypt/letsencrypt-auto /usr/local/bin/letsencrypt-auto
ln -s /usr/local/letsencrypt-vesta/letsencrypt-vesta /usr/local/bin/letsencrypt-vesta
6、重启生效
service httpd restart
第三、VestaCP自动部署Let's Encrypt配置域名自动安装
以上我们都部署完毕,这里我们可以根据自己需要的站点自动安装SSL证书。
letsencrypt-vesta username domain
根据这个格式,给需要安装证书的直接运行,比如letsencrypt-vesta admin laobuluo.com,我们需要注意一点,因为在过程中需要安装和部署,以及验证域名,所以稍微需要一会会时间,中间还有一次需要输入Y回车的。
只有看到上图限时的成功界面才说明安装完毕。我们可以看到自动有90天,这个我们暂时不管,后面再说自动续约问题。我们还没有设置完毕。
我们需要到VestaCP面板后台当前站点,在SSL支持选项中启动Let's Encrypt。保存完毕之后,我们再去前台打开这个域名HTTPS,可以看到SSL已经生效。
第四、设置自动续约Let's Encrypt
crontab -e
8 2 1 */2 * /usr/local/bin/letsencrypt-vesta USERNAME DOMAIN
前提是我们当前服务器已经安装crontab,然后在设置自定脚本,红色部分修改成我们的域名和用户名。
第五、VestaCP自动安装Let's Encrypt小结
1、通过上面这个工具可以比较快速的在VestaCP面板中安装Let's Encrypt证书,部署完毕工具后,可以根据需要自动安装证书,但也需要在面板中启动SSL才生效。
2、工具的详细文档可以参考:https://github.com/interbrite/letsencrypt-vesta