群晖+picgo搭建私有图床
一、前言
前些天整理了一篇picgo+github搭建图床的教程,可以看这里:如何在Markdown中插入图片并顺利共享
但后续使用的时候遇到了两个问题,一是之前使用的Markdown编辑工具Taio在代码块中编辑#开头的注释时,退格键在一些情况下会将整行都选中,再按一次就全删掉了,对于我这种写东西不顺畅,打字不准确的人来讲,实在是太难受了,我也没想着提issue,直接寻找替代方案;二是GitHub图床毕竟是第三方的,而且我也不清楚目前的使用方式,对网络的要求是否较高。
于是参考两篇博文使用群晖+Picgo搭建个人图床搭配Typora进行Markdown写作以及解决:PicGo插件安装失败,搭建了私有图床。下面介绍一下详细的搭建流程。
二、环境介绍
服务器是群晖220+,系统版本DSM 7.1.1-42962 Update 1
(如果有想要购买群晖的朋友,也可以私信我噢),搭建FTP服务,提供图片的存储与读取服务。
我日常使用的终端是一台Apple芯片的Mac OS,PicGo客户端就在这上面进行安装和配置。
三、开整
3.1群晖的配置
- 创建共享文件夹www,配置默认即可,若已有请忽略,在共享文件夹www下创建文件夹images
- 创建使用FTP服务的用户,设置名称和密码,名称我设置为images,群组默认users即可,共享文件夹访问权限先勾上全部禁止访问,再单独勾上www文件夹的可读写即可,下一步,配额不管,应用程序先勾上全部拒绝,再选择允许FTP即可,速度限制不管,点击下一步,完成
- 安装套件Web Station并启动,在网页服务门户中,新增一个虚拟主机,门户类型基于端口,端口可以选择HTTPS并自定义端口号,如999;下一步,文档根目录选择上面创建的images,下一步,下一步,新增,提示http群组需要配置权限,点确定即可
- 在控制面板,文件服务中,FTP下,配置如下图,FTP服务所使用的端口编号就填21,被动式FTP端口范围可以自定义,注意红框标出的高级设置中,请勾选更改用户根目录,并点击选择用户,点击新增,选择第2步创建的用户,和第1步创建的共享文件夹,确定,确定,保存,应用
- 来试一下,在images文件夹下放入一张图片,并试着访问:
https://你的域名:端口号/图片名称
,如https://biosyxh.cn:999/ASUS.png
,很可能访问是失败的,有两个原因:一是你和群晖在一个局域网中,域名可能无法解析到您的群晖的局域网ip,二是你还需要端口如999暴露到公网中。第一个问题我使用Surge配置本地DNS映射,强制指定我的域名由DNS服务器223.5.5.5来解析,第二个问题请自行解决(路由器的端口映射或者内网穿透等方案均可,仅个人在内网环境下使用,也无需让他人在公网环境访问您的Markdown中的图片的情况下,你可以使用局域网ip而不用域名),下面我假设你已经能通过域名端口和图片名称的形式访问到这张图片。
3.2 PicGo的安装和配置
- PicGo 的项目地址请点击这里[Molunerfunn/PicGo](https://github.com/Molunerfinn/PicGo),请自行安装,如果Mac OS系统下提示「文件已损坏」,请根据项目[FAQ](https://github.com/Molunerfinn/PicGo/blob/dev/FAQ.md)中第13步解决,接下来的步骤请根据自身计算机环境操作,我的步骤请仅作为参考
- 安装FTP上传插件
#安装node.js
brew install node
#新建目录,并安装PicGo用于FTP上传的插件mkdir -p ~/Documents/picgo cd ~/Documents/picgo npm install picgo-plugin-ftp-uploader
- 然后打开PicGo的主窗口,点击插件设置,点击右上角的图标,找到上面创建的picgo目录,打开目录node_modules,选择文件夹picgo-plugin-ftp-uploader(不要再双击打开了,选中即可),并点击右下角的打开,然后看到它在转圈,转了好久好久……不管了,直接重启它,提示要访问Documents中的文件,单击好,至此插件就安装好了
- 简单配置一下,点击PicGo设置,我选择将快捷键设置为Command+U,开机自启,上传后自动复制URL,使用内置剪贴板上传都打开,显示的图床只保留FTP上传
- 在目录picgo下新建一个文件config.json,内容参考如下,其中
images
作为一个标识,在后续配置中使用,url、host、port请根据自己前边的配置填写,username和password填写之前创建的用户的用户名和密码
{
“images”: {
“url”: “https://biosyxh.cn:999”,
“path”: “/{year}/{month}/{day}{fullName}",
“uploadPath”: "/pictureBed/{year}/{month}/{day}{fullName}”,
“host”: “biosyxh.cn”,
“port”: 21,
“username”: “images”,
“password”: “*******”
}
} - 在PicGo主窗口中,点击图床设置,选择FTP上传,网站标识填写配置文件中自定义的标识,如images,配置文件填写
/Users/你的计算机的用户名/Documents/picgo/config.json
,点击确定,并点击设为默认图床 - 在主窗口上传区,选择自己想要生成的链接格式,或者选择Custom并在PigGo设置的自定义链接地址中设置,然后实际操作时,可以在截屏后(许多截图工具截图后会拷贝到剪贴板中),按下自定义的上传快捷键,然后图片链接就在剪贴板中了,粘贴到Markdown中,当文档发送给别人,或者发布到网上时,就可以正常展示了。
结束语
本教程到此为止,如果有遇到什么问题,可以私信或者在评论区告诉我。另外打个广告,想学习编程的同学朋友,可以考虑来马士兵教育与我一起学习,快来私信我吧!