首页 小组 文章 搜索 用户

[插件扩展]linux下kangle+easypanel使用Let's encrypt免费证书

2019-06-17 09:54:00
0
963

先需要在easypanel创建好主机并把域名的A记录先绑定到你的vps的ip上,同时能访问到
接下来安装Let's encrypt免费证书
在进行如下安装pip
yum -y install epel-release
yum -y install python-pip
对于centos6还需要安装以下两行

pip install opencv-python
pip install selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

centos7可以不装以上两行

pip install --upgrade pip
pip install argparse
mkdir -p /usr/local/letsencrypt
cd /usr/local/letsencrypt
wget http://yum.osyum.com/linux/lets-encrypt/letsencrypt.conf -O letsencrypt.conf
wget http://yum.osyum.com/linux/lets-encrypt/letsencrypt.sh -O letsencrypt.sh

或者从githubusercontent.com上下载这两个文件

wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.conf 
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.sh

给letsencrypt.sh执行权限

chmod +x letsencrypt.sh
修改配置文件letsencrypt.conf,把example.com替换成自己的域名,DOMAIN_DIR网站准确目录,DOMAINS,生成域名的网址,如有多个网站,可以复制一个,改成b.conf,
vi letsencrypt.conf
默认格式如下:
DOMAIN_KEY="example.com.key" #生成的KEY文件名
DOMAIN_DIR="/home/ftp/w/osyum/wwwroot/" #域名绑定的网站目录,登陆EP面板后在网站目录查看到,注意根目录一定要加上,一般是“/home/ftp/w/osyum/wwwroot/”
DOMAINS="DNS:example.com,DNS:www.example.com" #SSL证书生效的域名.
保存退出
执行sh生成SSL证书文件
./letsencrypt.sh letsencrypt.conf
生成成功后在目录产生 example.chained.crt example.com.key example.crt及example.csr
其中example.chained.crt和example.com.key是我们要用到的文件
回到EP面板中,点击SSL证书,如果没有,就到网站管理---所有网站--找到对应的网站---修改---其它高级选项----端口里添上80,443s点击最下面的确定
把example.com.key中的内容全部复制到密钥里面
把example.chained.crt中的内容全部复制到证书内容里面
点击提交
接下来添加计划任务

yum -y install vixie-cron
yum -y install crontabs

创建一个新的文件下面的example.com,可以把自定义成你自己的域名,后面的/home/ftp/h/home是网站目录。注意查看你的网站需要的目录权限用户和组,cetnos是ll命令,debian是ls -a

vi example.com.sh

写入以下代码

cd /usr/local/letsencrypt
./letsencrypt.sh letsencrypt.conf
mv -f example.chained.crt  /home/ftp/h/home/ssl.crt
mv -f example.com.key  /home/ftp/h/home/ssl.key
chown 1000:1100 /home/ftp/h/home/ssl.crt
chown 1000:1100 /home/ftp/h/home/ssl.key
/vhs/kangle/bin/kangle -r

保存退出

给权限

chmod +x example.com.sh

测试看是否正常

./example.com.sh

申请多个域名证书,还应该创建多个这样的任务,只不过letsencrypt.conf替换成自己的域名的.conf
每月自动更新证书,防止就算失败也有下一个月,复制一下新的证书到目录,保持自动更新

添加计划任务

echo "0 0 1 * * sh  /usr/local/letsencrypt/example.com.sh" >> /etc/crontab 

定时计划任务教程https://www.osyum.com/article/show/62/

重启定时任务

完成

评论