项目地址:https://letsencrypt.org/
Github:https://github.com/letsencrypt/letsencrypt

一共三种方式安装证书。

若装有VestaCP面板推荐第三种方法;
若为较新的系统(如CentOS 7及以上)推荐第二种;
若为较旧的系统(如CentOS 6及以下)第一种第二种差不多(推荐第一种)。

2016年11月30日更新:

三、VestaCP安装方法:

在管理面板上编辑网站信息,启用SSL支持后勾选Lets Encrypt,保存即可。(面板会自动续期)

(详细见:CentOS下安装VestaCP)

2016年10月08日更新:

二、certbot安装方法:

项目地址:https://certbot.eff.org/
  今天更新SSL证书的时候才发现,官方已经发布了新的工具certbot,使用起来比之前的要稍微简单一些。

# 安装epel库
yum install epel-release
# 安装certbot
yum install certbot
# 之后就和以前的方法的语法一样了,具体参数可以参考下文的正常安装方法
# 生成SSL证书
certbot certonly --agree-tos -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的完整路径
# 或(这种方法需要暂停你的网络服务器)
# certbot certonly --standalone -d example.com -d www.example.com

  生成后的证书在 /etc/letsencrypt/live/ 目录下。

# 续期SSL证书
certbot renew --quiet

# 卸载certbot(letsencrypt)
yum -y remove certbot

一、letsencrypt安装方法:

CentOS 6.x及以下,需要先升级python到2.7+。

1.首先安装git工具

yum -y install git

2.获取并安装项目git包

git clone https://github.com/letsencrypt/letsencrypt.git
cd letsencrypt

3.生成SSL证书

  邮箱可选,用来在证书快要到期时发送提醒邮件。

./letsencrypt-auto certonly --agree-tos -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的完整路径

  或(这种方法需要暂停你的网络服务器)

./letsencrypt-auto certonly --standalone -d 域名1 -d 域名2等等

  生成后的证书在 /etc/letsencrypt/live/ 目录下。

4.续期SSL证书

./letsencrypt-auto certonly --renew-by-default -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的路径;

5.卸载letsencrypt

cd ~
rm -rf letsencrypt .local
rm -rf /etc/letsencrypt /var/lib/letsencrypt /var/log/letsencrypt /tmp/*

  然后修改网站配置即可。


VestaCP面板

1.登录并启用SSL

  进入面板管理界面

2.添加自动续期

  保存以下代码为文件并更改权限,然后添加计划任务一个月执行一次即可。

# 给证书续期
./letsencrypt-auto certonly --renew-by-default -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的绝对路径 && \
# 复制证书到网站证书目录(请根据实际情况酌情修改)
cd /etc/letsencrypt/live/site.cf/ && \
cat fullchain.pem > /home/admin/conf/web/ssl.site.cf.crt && \
cat privkey.pem > /home/admin/conf/web/ssl.site.cf.key && \
cat fullchain.pem /home/admin/conf/web/ssl.site.cf.ca > /home/admin/conf/web/ssl.site.cf.pem && \
# 复制证书到vesta目录(请根据实际情况酌情修改)
cat fullchain.pem > /usr/local/vesta/ssl/certificate.crt && \
cat privkey.pem > /usr/local/vesta/ssl/certificate.key && \
# 重启vesta以应用新证书
service vesta restart && \
bash /usr/local/vesta/bin/v-restart-service "nginx";