MENU

在Cpanel中使用acme.sh申请Google Trust Services证书的方法

最近闲逛LowEndTalk的时候看到buyshared的虚拟主机又开始销售了,考虑到之前搬迁到xrea之后隔三差五出现问题以及buyshared稳定运行了114514年和比较便宜的价格之后下单了,搬迁之后发现cpanel只能选择自己上传证书和申请let证书,考虑到let将根换成r3之后旧设备各种不信任,以及GTS的舒适感便有了在cpanel上使用gts的想法.

要求

  • 必须开启ssh功能
  • 必须有cron功能

最早是想自己糊一个cron运行的php请求api获取验证文本写路径然后验证之后模拟表单操作cpanel,但翻找acme.sh的时候发现了deploy/cpanel_uapi.sh这个文件,然后搜了一下文件名,发现确实是用来给cpanel设置证书的脚本,于是便直接用acme.sh了

安装acme.sh

和正常vps/dedi server安装方法一样,从cpanel的ssh中执行curl https://get.acme.sh | sh -s email=你的邮箱
安装后关掉当前窗口再打开一次,让环境变量生效

获取API密钥信息和设置acme.sh的默认ca server

申请默认的zerossl时这一步可以忽略.

首先在GCP控制台启用Public Certificate Authority API,然后再点击右上角的Google Cloud Shell图标打开gcp的控制台
然后在控制台中输入gcloud beta publicca external-account-keys create之后稍等弹出授权提示,点击授权之后控制台中返回external account key的信息

然后到cpanel的ssh里运行如下命令注册一个账户

acme.sh  --register-account  -m 你的邮箱 --server google \
    --eab-kid 你的gcp控制台中的keyId \
    --eab-hmac-key 你的gcp控制台中的b64MacKey

其中邮箱随意,可以和你的gcp账户不一样
注意:每一个external account key只能使用一次,如果有多个机器需要申请多个external account key,邮箱可以重复使用.

然后运行如下命令将默认ca服务器设置为google

acme.sh --set-default-ca --server google

申请和安装证书

运行如下命令申请证书

acme.sh --issue -d 你的域名 -w 你的网站目录

网站目录需要使用绝对路径,可以在cpanel的ssh中切换到你的网站目录,然后输入pwd查看绝对路径
申请时如果提示403之类的信息检查输入的网站目录是否正确,一般cpanel的网站目录是/home/你的cpanel用户名/你设置的网站目录,如果域名套了cloudflare需要关掉cdn(既然用cdn了,cpanel为何不设置个自签名证书或者cloudflare生成的那个呢)

申请完成后运行如下命令安装证书

acme.sh --deploy  -d 你的域名 --deploy-hook cpanel_uapi

acme.sh会自动设置cron,证书安装之后会依赖cron进行自动更新.
此外,如果之前在cpanel中开启了let自动签发的话需要关闭,否则在let更新时会覆盖acme.sh签发的证书.

其它不相关的

这个blog从2014年至今己经经历过一次换域名和各种换皮,中间甚至从wordpress换成了typecho,还有几乎半年一次的搬迁,
从最早的网站空间搬迁到vps,后来再搬迁到dedi server,然后又搬迁到vps,然后又搬迁到免费空间,然后今天搬到了buyshared.
这几年下来我的想法从最初的"一个比较高端大气上档次的网站要有访问速度快/配置高/延迟低/好看的主题"变成了"有内容/比较稳就行",想起最早工作时看到别人用虚拟主机我都是不屑一顾,但经历了这些搬迁和中途遇到的问题后我总结了一个经验,那就是按照自己的场景选择适合的.
首先,这个blog主要还是记录平时自己的一些操作,和给为数不多的人分享自己的经验的,只有访问量大并且占用资源过大的website才适合使用vps以及dedi server这种专用资源,向本站这种日活为0的站甚至可以在家开个armv6的树莓派1B然后使用clouflare tunnel运行.
此外,对于不常占用资源的website来说,使用专用资源其实某种程度上算是限制自己的最高性能,以buyshared的虚拟主机来说,每台虚拟主机配置为64g ram和2x Intel(R) Xeon(R) CPU E5-2660,当website突然涌入一群人时可以临时占用大部分资源,而如果是专用资源,买同样配置的dedi server最低需要$40/月,如果买xrea那种内存1T ram和2x AMD EPYC 7713P的话那价格恐怕是要升天了,而且如果是买的vps,实际上cpu也不是独占的.
对于维护成本来说,vps需要你自行设置nginx/php/mysql等一切运行环境,dedi server除了运行环境还需要自己注意硬盘健康,如果硬盘出现损坏还需要自行想办法获取数据,然后让服务商更换硬盘后自行恢复.
而如果使用虚拟主机,只需要自己设置好域名和数据库账户以及放好自己的文件和解析域名,商家会自己关注数据备份,硬盘健康,服务器暴毙等各种信息,自己最多只需要再加一个异地备份多一个保险,其余一切问题只需要开一个ticket屌客服一顿,让客服处理.

所以对于这类website还是虚拟主机性价比最高.

996.icu 996.icu