915 字
5 分钟
搭建私有化大容量图床
前言
经常写博客的朋友都知道,最麻烦的就是静态图片的托管问题。免费的图床经常不稳定,利用大厂做图床又可能随时被添加防盗链导致无法访问(如之前的 Gitee)。
本文就教大家如何搭建一个属于自己的大容量空间图床。
项目介绍
本文采用以下技术方案:
- 兰空图床作为主程序负责图床上传和返回链接
- Openlist作为辅助程序为其提供WebDAV服务
PS:如果你已有大容量WebDAV空间,可以忽略Openlist的配置部分。
上述两个程序皆是开源项目:
PS:本文不提供Openlist部署教程,如需部署请自行查看官方文档:https://doc.oplist.org/
环境配置
按照兰空图床官方文档要求进行环境配置:
PHP 要求:
- PHP >= 8.0.2
- PHP 版本建议使用 8.0 版本(实测更高版本安装完毕会报错)
必需的 PHP 扩展:
- BCMath PHP 扩展
- Ctype PHP 扩展
- DOM PHP 拓展
- Fileinfo PHP 扩展
- JSON PHP 扩展
- Mbstring PHP 扩展
- OpenSSL PHP 扩展
- PDO PHP 扩展
- Tokenizer PHP 扩展
- XML PHP 扩展
- Imagick 拓展
需要启用的函数:
- exec、shell_exec 函数
- readlink、symlink 函数
- putenv、getenv 函数
- chmod、chown、fileperms 函数
安装完成后,请按照上述要求的扩展并解除对应禁用的函数。
创建网站并拉取源码
1、创建网站
在宝塔面板中创建网站及对应数据库,文件夹名称可自定义,如 lskypro。
2、拉取源码并安装依赖
cd /www/wwwrootgit clone https://github.com/lsky-org/lsky-pro.git lskyprocd lskyprosudo composer install3、配置网站
- 将网站目录中的运行目录改为
/public - 关闭防跨站攻击
4、配置伪静态
添加以下内容:
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }}5、安装程序
配置完成后,通过之前创建网站的域名访问并开始程序的安装。安装前会检测环境,如果不符合要求会进行提示,按照提示配置环境后刷新页面即可继续安装。
配置WebDAV
安装完成后,在图床后台进行以下配置:
- 进入储存策略选项
- 点击新建储存策略
- 填写以下信息:
- 角色组:选择你所在的角色组
- 名称:任意名称
- 储存策略:选择
Webdav - 访问域名:图片访问域名,建议设置当前域名的二级目录,如
https://yourdomain.com/img - URL Queries:不用填写
- 连接地址:你的 WebDAV 地址(如果Oplist程序部署在同一服务器,填写
http://127.0.0.1:5244) - 认证方式:选择
Basic - 路径前缀:
/dav - 用户名和密码:你的Oplist账户和密码
重要提醒:在Openlist后台的设置中,需要关闭全局签名选项,包括添加储存里面的启用签名也要关闭,否则会导致访问报错!
配置反向代理
在宝塔面板网站设置中找到配置文件,添加以下内容:
# 反向代理 Openlist 访问链接location ^~ /img { proxy_pass http://localhost:5245/d/pic/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-Port $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_connect_timeout 60s; proxy_send_timeout 600s; proxy_read_timeout 600s; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade;}保存后,所有配置就全部完成了。
测试
访问图床网址并选择任意图片进行上传:
- 如果提示上传成功并返回访问链接
- 同时在Openlist目录中也出现了对应的图片文件
此时就说明图床搭建成功了!
tips:由于Openlist的原因,访问返回的图片链接不会出现预览图片,而是提示下载图片,这不会影响图床的正常使用。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
最后更新于 2024-05-11,距今已过 893 天
部分内容可能已过时
岁语集