Typecho更换域名与Let's Encrypt证书
背景
果然免费的东西就是不靠谱,今年年初在freenom.com上免费拿了个*.tk域名,本想着白嫖一年测试一下,结果好不容用爽了,这几天突然全瘫了。详细一查,不仅解析失效了,连后台域名管理记录全没了,不得已,留着老泪重新购买域名
后来一看*.tk要重新买一年居然要9.9刀,真是狮子大开口,后面查了一下*.com的域名才8.8刀,这个奸商.....原来的TK我不要了好吧,果断换*.com的域名啊!
换域名也不是一件简单的事,顾虑到的事情挺多,对于付费购买ssl证书的同志来说确实有点头疼,毕竟真金白银买的证书换一下域名就废了,使用Let's encrypt的同学倒是方便了,重新certbot 重申一下就可以了。另外一件麻烦的事就是Typecho上的资源、文章的地址都还是沿用原有的域名,如果需要使原来的资源可用,需要在数据库上做修改,现在就来看看需要怎么操作
1. Tpyecho修改域名
如果是博客玩得比较多的同学应该会优先处理这一部分内容,这里只需要执行几个SQL语句即可
mysql -uroot -p
>use typecho;
>UPDATE `typecho_options` SET `value` = 'https://${NEW_DOMAIN}' WHERE `typecho_options`.`name` = 'siteUrl' AND `typecho_options`.`user` =0;
>UPDATE `typecho_contents` SET `text` = REPLACE(`text`,'https://${OLD_DOMAIN}','${NEW_DOMAIN}');
>UPDATE `typecho_users` SET `url` = REPLACE(`url`,'https://${OLD_DOMAIN}','${NEW_DOMAIN}');
2. Let's encrypt更新证书
由于更换域名后我们的原有的证书已经无法使用了,需要使用Let's encrypt重新创建,不过在这之前,我们应该先将原有的证书吊销掉,然后再通过certbot重新创建SSL证书
# 吊销原有证书
certbot revoke --cert-path /etc/letsencrypt/archive/${YOUR_DOMAIN}/cert1.pem
# 重新创建证书
certbot certonly --webroot -w /usr/share/nginx/html/typecho -d yourdomain.com -d www.yourdomain.com -d index.yourdomain.com -d web.yourdomain.com
#--webroot需要添加nginx的/目录,用于验证
创建证书后会输出现有的证书与私钥,一般会在以下路径
/etc/letsencrypt/live/${YOUR_DOMAIN}/fullchain.pem
/etc/letsencrypt/live/${YOUR_DOMAIN}/privkey.pem
之后还需要将Ngnix的证书地址配置到此处,不然登录网站会报安全问题。
Cr
Cr
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
555
1
555
1
1
1
1
555
555