NAS部署兰空图床及PicGO配置
1. 镜像下载
首先打开docker应用,在镜像仓库分别下载以下2个镜像:
- halcyonazure/lsky-pro-docker
- mysql/mysql-server
2.创建容器
使用刚才下载的2个docker镜像分别创建容器。
在这之前,先在本地的文件系统中创建两个文件夹。
lsky_pro
创建容器进行必要的参数配置
mysql
创建mysql镜像
必要的参数配置
创建好容器后,进入容器终端,对mysql进行一些基本的配置
1)修改 root
用户的 host
,以便root用户能够从非本机ip登录:
UPDATE mysql.user SET host = '%' WHERE user = 'root';
FLUSH PRIVILEGES;
2)设置root密码
ALTER USER 'root' IDENTIFIED BY '密码';
3)创建一个数据库,用于存储图床的数据
CREATE DATABASE lksky;
3. 配置lsky
浏览器访问,根据向导进行配置
安装向导结束后,登录系统,获取token
获取到token如下
4. 配置PicGo
1)下载地址
https://github.com/Molunerfinn/PicGo/releases
2)下载安装后,安装lsky插件
点击图床设置,配置兰空图床相关信息
Auth token填写前面获取的token,主要要再前面加上Bearer ,用空格隔开
3)配置好后,遇到以下报错
报错日志:
"message": "unable to verify the first certificate",
"stack": "Error: unable to verify the first certificate\n at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)\n at TLSSocket.emit (node:events:394:28)\n at TLSSocket._finishInit (node:_tls_wrap:944:8)\n at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12)",
原因是https证书问题,部署完成后,默认的https证书是自签名证书,是不受信任的
解决办法
申请证书颁发机构的免费证书,缺点是有效期只有一个月,但是我们可以通过ACME帮我们在证书到期时,自动更新证书。
1)注册登录FreeSSL
2)在证书自动化菜单添加域名
点击下一步后,得到主机记录和记录值
登录自己购买域名的平台(这里用的是腾讯云),进行域名解析配置
接下来继续回到FreeSSL操作,申请证书
打开docker终端,依次执行以下命令安装acme客户端
apt update
apt install cron socat
curl https://get.acme.sh | sh -s email=my@example.com
-------------------------------------
如果执行上面的命令安装失败,参考:
中国大陆用户请参考:https://github.com/acmesh-official/acme.sh/wiki/Install-in-China
继续在docker终端执行在freessl复制的命令
可以看到acme给我们申请的证书在本地的存储路径
我们可以在/etc/apache2/sites-enabled/default-ssl.conf路径,看到证书的默认配置
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
以上两个文件路径,就是默认的证书文件,因此,我们需要继续使用acme执行以下命令,实现用acme申请的证书文件进行替换,并且在后续能通过计划任务更新证书自动进行替换
acme.sh --install-cert -d example.com --key-file /etc/ssl/private/ssl-cert-snakeoil.key --fullchain-file /etc/ssl/certs/ssl-cert-snakeoil.pem --reloadcmd "service apache2 orce-reload"
至此,使用acme自动更新https证书已全部完成,我们可以访问看看
再使用picgo上传图片至兰空图床,报错问题已解决
- 感谢你赐予我前进的力量