在群晖上搭建个人图床 - EasyImages

什么是图床?

图床,网络相册或叫在线相册,为运行、储存以及翻阅、分享于互联网的相册,由于在线相册不是实质的相册并且容易搜索、查阅以及保管,目前大部分照片为储存于在线相册中。通俗来讲就是将图片链接化,打开的链接图片直接显示出来

为什么要搭建图床?

想到以后博客的更新和编写 MarkDown 文档,网站的背景图片等都有需要用到图床的地方,就萌生了搭建的个人图床的想法。

选择哪个程序来搭建图床

关于图床程序上的选择,一开始看了教程,打算选择商业级别的图床程序—— Chevereto,但是GitHub上的 Chevereto-free 版本已经停止更新了,便退而求其次选择兰空图床 Isky-pro,然而这个也不行,因为需要设置站点的运行目录指向程序的public文件夹,但是群晖的Web station套件并没有这个功能,于是最终敲定为本篇文章的主角—— EasyImages

EasyImages 的特点以及运行环境要求

特点:

  • 支持API
  •  支持仅登录后上传
  •  支持设置图片质量
  •  支持压缩图片大小
  •  支持文字/图片水印
  •  支持设置图片指定宽/高
  •  支持上传图片转换为指定格式
  •  支持限制最低宽度/高度上传
  •  支持上传其他文件格式
  •  在线管理图片
  •  支持网站统计
  •  支持设置广告
  •  支持图片鉴黄
  •  支持自定义代码
  •  支持上传IP黑白名单
  •  支持上传日志IP定位
  •  支持限制日上传次数
  •  支持创建仅上传用户
  •  对于安装环境要求极低
  •  对于服务器性能要求极低
  •  理论上支持所有常见格式

推荐运行环境:Nginx + PHP≥7.0 + linux

兼容:最低PHP 5.6,推荐PHP≥7.0及以上版本,需要PHP支持Fileinfo,iconv,zip,mbstring,openssl扩展,如果缺失会导致无法上传/删除图片 文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要HTML5支持)来添加上传文件,支持上传大图片,优先使用HTML5旧得浏览器自动使用Flash和Silverlight的方式兼容

群晖上需要用到的套件

PHP8.2

Web station

开始搭建个人图床

下载图床程序

打开 EasyImages 的Github的项目下载地址单击此跳转,如果链接打不开需要开启网络代理工具来访问该链接。点击 Assets 再点击 Source code(zip) 这个选项将文件下载下来。

解压文件以及赋权

下载完成之后打开群晖的File Station套件下将下载好的文件上传到/web目录下鼠标右键选择解压缩——解压缩至此目录,得到一个文件夹名称为 EasyImages+版本号,可以根据个人喜好重命名。点进去就可以看到有许多的文件夹以及文件

选择/i/的文件夹鼠标右击选择属性—权限——高级选项——排除继承权限——新增用户或组选择 Everyone ——权限勾选读取和写入打开网站根目录下的/app文件夹找到 upload.php 这个文件鼠标右击选择属性—权限—高级选项—排除继承权限——新增——用户和组同时选择 Everyone 和 Users ——权限选择读取——完成

另外还需要增加一项自定义权限重复刚才的步骤:首先选择 upload.php 这个文件鼠标右击选择属——查看拥有者(拥有者会显示登录群晖的账号)—权限—高级选项—排除继承权限——新增——用户和组选择刚才查看的拥有者

读取权限全选择,写入权限除了删除都勾选,点击完成。这个时候弹出的提示框选择是,这样权限就配置完了
upload.php 文件权限配置完成的示意图:

创建PHP配置以及网页服务

打开群晖的Web station套件选择脚本语言设置为 EasyImages 创建一个PHP语言配置,点击新增,名称描述按自己想法来填写,PHP 版本我这里演示的版本为8.2,我就选择 PHP8.2 ,没有 PHP 的需要到群晖套件中心下载。

扩展名选择 gd,iconv,zip,openssl 当然也可以全部选择避免出现其他的问题,选择好之后剩下步骤一路选择下一步和新增不需要额外注意什么即可创建好 EasyImages 的脚本语言

转到Web station的网页服务选择新增,选择本机脚本语言网站PHP版本选择刚刚创建脚本语言时选择 PHP8.2 版本,配置文件选择对应的配置文件名称然后点击下一步
配置常规配置的名称需要注意的是英文只能输入小写而且不支持中文输入,描述则随意填写,文件根目录则选择解压压缩包之后的文件路径,HTTP 后端服务器选择 Nginx ,选择下一步,再点击新增即可创建完成。

转到Web station的网络门户选择新增,门户类型选择网页服务门户,服务选项选择上个步骤创建好的网页服务名称

门户类型选择基于端口,我这里演示的端口是 HTTPS+5243 端口 ,当然也可以选择 HTTP+5243 或者其他的不冲突的端口,HSTS 不勾选因为它会让域名强制使用HTTPS来访问,点击新增即可。

这样内网环境就配置好了~但是图床不可能只运行在内网环境下,所以还需要做外网环境的配置
关于外网的环境配置,因为每个人的网络环境以及需求都不一样,所以我就提供一个思路——我没有公网 IPv4 所以我是使用的是VPS+宝塔面板搭建的 Frp 内网穿透,我只需要在群晖上配置好我的 Frpc 配置并且在 VPS 上开放好对应的端口同时上传好在阿里云上申请到的免费 SSL 证书然后做好域名的反向代理就可以通过域名访问了,而且不需要在域名后面添加端口号,如果不需要HTTPS访问的话可以不做 SSL 证书的配置。家庭宽带有公网 IPv4 且运营商没有封禁443端口的情况下只需要通过路由器或者群晖的 DDNS 功能同时配置好反向代理也一样可以实现只需输入域名访问搭建好的图床,但是大部分地区的运营上都封禁80/443端口

图床安装环境检测

配置好外网访问之后,我们需要通过域名来访问刚搭建好的图床来配置一下 EasyIamge 的安装环境检测
如果看到还有两个红色 X ,就说明目录权限还没有配置正确,需要根据上面的文件以及文件夹的权限配置方法重新配置,同时也可以根据下面提示的命令在 shh 中输入进去配置权限。文件夹的路径和文件夹名称的不同,所显示的命令的也不同,所以不要按照下图红框的代码输入!!!

如果权限没问题就会像下面这样显示

点击下一步之后开始配置网站基础设置,需要检查网站域名和图片链接域名是否正确,不正确自行修改正确即可。管理账号及密码根据个人情况填写好,右下角的删除安装目录不建议删除。确认设置都没问题之后点击开始安装,稍等片刻就会自动跳转到登录页面输入账号密码登录进去就大功告成啦!!!

图床注意事项

先不要急着半场开香槟~在我使用体验下来发现有一个 BUG 就是每次修改了的设置保存之后都会出现账号退出登录的问题,然后重新输入正确的账号以及密码都会显示账号不存在???于是我打开了网站根目录下的 /config 并打开 config.php 编辑发现 user 这一行内容,缺少了两个英文格式单引号。

1
2
3
4
5
6
#这是正确的格式
'user'=>'2740255247',
'password'=>'9507b8615426ecb2c953641369cc6bc3ebf1d22294668e495340afd22210555d',
#这是修改之后错误的格式,缺少了两个英文格式的单引号
'user'=>2740255247,
'password'=>'9507b8615426ecb2c953641369cc6bc3ebf1d22294668e495340afd22210555d',

这个时候需要手动把缺少的两个英文格式单引号添加上去之后再输入正确的账号密码就成功登录进去了~

如果没有出现这个 BUG 就最好了

如果上传的图片不想让图片被重命名的话就需要在设置——上传设置——已上传文件的命名方式选择源名

其他的设置就需要按照个人喜好设置了,就不在这里过多的阐述了。

现在是 打屁时间~

这是我第一次写这么长且带图片的教程类博客,对于 WordPress 的文章编辑页面使用不够熟悉。这篇文章起稿时间是 2023_10_05 号,拖沓了这么久也是终于写出来了。国庆假期结束回来上班之后一直都挺忙的,所以才拖沓了半个月之久。但!还是非常感谢我能写到里!也非常感谢能看到这篇文章的你~
后面再更新一些好玩的,好看的吧,日常的也行就当写日记周记嘞