Loading... # ZFile 自建免费公共网盘服务 - 支持阿里云 OSS-OneDrive-FTP-S3 协议等云存储 > ZFile 不仅支持 OneDrive、OneDrive 世纪互联、SharePoint、SharePoint 世纪互联,还同时支持对象存储,你可以将阿里云 OSS、腾讯云 COS、又拍云 USS、UFile、华...... 对于网站存储的需求,大多数人还是以私有网盘为主,目的是为了可以存储属于私人的视频、文档、音频等资料。但是,也有不少的人想要搭建一个公共的网盘,主要目的是可以方便所有人查看、浏览和下载、使用,同时也提供视频在线播放,变成影视站点。 这样的公共网盘服务搭建起来并不是很复杂,但是苦于高昂的存储费用,有的人盯上了超大容量且免费的网盘服务,例如 [OneDrive](https://wzfou.com/tag/onedrive/),团队版甚至可以达到 TB 以上,将 OneDrive 变身为公共网盘,挖站否之前有分享过:[用 GoIndex 将 Google Drive 变身直链网盘](https://wzfou.com/goindex/)。 这篇文章要分享的 [ZFile](https://wzfou.com/tag/zfile/) 不仅支持 OneDrive、OneDrive 世纪互联、SharePoint、SharePoint 世纪互联,还同时支持对象存储,你可以将[阿里云 OSS](https://wzfou.com/tag/aliyun-oss/)、[腾讯云 COS](https://wzfou.com/tag/tengxunyun-cos/)、[又拍云 USS](https://wzfou.com/tag/youpai-uss/)、UFile、[华为云 OBS](https://wzfou.com/tag/huawei-obs/) 等第三方的对象存储服务变成你的公共网盘,供其它用户访问。 另外 ZFile 还支持 FTP,S3 协议,只要是支持 FTP 协议和 S3 协议的网站都是可以使用 [ZFile](https://wzfou.com/tag/zfile/) 对接,总之 ZFile 是一个非常优秀的在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库。前端基于 h5ai 的原有功能使用 Vue 重新开发、后端采用 SpringBoot, 数据库采用内嵌数据库。  更多的[网盘存储](https://wzfou.com/wangpan-cunchu/)服务,这里有: 1. [八大免费的文件对比同步工具 - 免费文件对比分析与复制同步备份软件](https://wzfou.com/files-sync-softs/) 2. [十个国内优秀对象云存储服务使用对比 - 用于网站云存储和 CDN 加速](https://wzfou.com/guonei-yuncunchu/) 3. [十个国外优秀的网盘云存储使用对比 - 免费存储, 单个文件, 自动同步备份和在线文档](https://wzfou.com/guowai-yuncunchu/) **PS:更新记录.** > 1、不想自建网盘的话,你也可以尝试一些大厂开发的网盘,这样会比较稳定:[Aliyundrive 阿里云盘 - 不限速免费网盘 - 支持分享, 手机相册和微信 / QQ 群文件自动备份](https://wzfou.com/aliyundrive/)。2021.8.20 一、ZFile 自建公共网盘准备 对于 Linux 系统,直接使用以下命令安装依赖环境: ``` # CentOS系统 yum install -y java-1.8.0-openjdk unzip# Debian 9 / Ubuntu 14+ apt update apt install -y openjdk-8-jre-headless unzip# Debian 10 (Buster) 系统 apt update && apt install -y apt-transport-https software-properties-common ca-certificates dirmngr gnupg wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ apt update && apt install -y adoptopenjdk-8-hotspot-jre ``` > 如为更新程序, 则请先执行 `~/zfile/bin/stop.sh && rm -rf ~/zfile` 清理旧程序. 首次安装请忽略此选项. 下载项目: ``` cd ~ wget https://c.jun6.net/ZFILE/zfile-release.war mkdir zfile && unzip zfile-release.war -d zfile && rm -rf zfile-release.war chmod +x zfile/bin/*.sh ``` > 下载指定版本可以将 `zfile-release.war` 改为 `zfile-x.x.war`,如 `zfile-2.2.war`。 程序的目录结构为: ``` ├── zfile ├── META-INF ├── WEB-INF └── bin ├── start.sh # 启动脚本 └── stop.sh # 停止脚本 ├── restart.sh # 重启脚本 ``` 启动项目: ``` ~/zfile/bin/start.sh ``` 对于已经在自己的 VPS 主机安装了[宝塔面板](https://wzfou.com/tag/baota-mianban/)的朋友,可以直接使用 Docker 安装的方法。关于宝塔面板的安装教程请看:[宝塔面板安装与使用图文教程](https://wzfou.com/baota-mianban/)。  输入镜像名称 `zhaojun1998/zfile:latest` 获取镜像,然后是**创建容器,**端口映射 `8080-8080`,目录映射 `/root/zfile/db:/root/.zfile/db 和/root/zfile/logs:/root/.zfile/logs` ,如下图:  ZFile 使用 Docker 安装成功。  三、ZFile 自建公共网盘配置 --- 访问地址: > 用户前台: http://127.0.0.1:8080/#/main > > 初始安装: http://127.0.0.1:8080/#/install > > 管理后台: http://127.0.0.1:8080/#/admin 首先,进入到 ZFile 设置账号密码。  然后进入到 ZFile 后台,这里就可以看到有基本设置以及添加存储等。  ### 3.1 阿里云 OSS 进入阿里云对象存储 OSS 控制台,Bucket 列表 - 创建 Bucket, 填写名称,选择地域,读写权限选择**公共读。**  进入 RAM 访问控制。  先创建一个用户。  然后获得 ID 和 Key,记得保存,否则下一秒它就不见了。  再返回点击刚刚创建的用户,给该用户授权,授权如下图:  现在回到 ZFile,点击添加存储,选择 OSS 平台。  填写 **OSS 的名称**和**地域节点**,**AccessKey ID** 和 **Secret,域名等,**配置如下图:  ZFile 添加[阿里云 OSS](https://wzfou.com/tag/aliyun-oss/) 成功。关于阿里云 OSS 使用教程这里有:[阿里云 OSS 使用方法](https://wzfou.com/aliyun-oss-cdn/)。  ### 3.2 OneDrive 在添加存储容器时,选择 OneDrive,然后点击页面的获得令牌,将令牌填写进去就可以了。(点击放大)  ### 3.3 腾讯云 COS ZFile 添加[腾讯云 COS](https://wzfou.com/tag/tengxunyun-cos/) 存储参考阿里云 OSS,这里是腾讯云 COS 的 API 界面。  没有使用腾讯云 COS 的朋友,可以看教程:[腾讯云 COS 作为图片等静态文件 CDN 加速方法 - 自动镜像无缝切换全球加速](https://wzfou.com/tencent-cos-cdn/)。 ### 3.4 又拍云 USS 首先是创建[又拍云 USS](https://wzfou.com/tag/youpai-uss/) 存储。  然后是添加操作员,在这里选择操作员账号和密码,最后在 ZFile 添加存储时选择使用 FTP 协议。  关于又拍云存储,可以看教程:[巧用又拍云 FTP 和坚果云 WebDAV - 打造个人文件备份和数据云存储](https://wzfou.com/upyun-jianguoyun/)。 ### 3.5 华为云 OBS 先创建[华为云 OBS](https://wzfou.com/tag/huawei-obs/) 云存储。  然后到华为云 OBS 创建密钥。如下图:  ### 3.6 七牛云 Kodo 先创建七牛云 Kodo 云存储。  然后在密钥管理中获得 ID 和 Key。  有关于七牛云的使用方法请参考:[七牛云 CDN 镜像存储](https://wzfou.com/qiniu-cdn/)。 ### 3.7 亚马逊 S3 Amazon S3 创建存储。  获取 Amazon S3 密钥。  四、ZFile 自建公共网盘使用 --- ZFile 可以直接将你的[阿里云 OSS](https://wzfou.com/tag/aliyun-oss/)、[腾讯云 COS](https://wzfou.com/tag/tengxunyun-cos/)、[又拍云 USS](https://wzfou.com/tag/youpai-uss/)、UFile、[华为云 OBS](https://wzfou.com/tag/huawei-obs/) 等第三方的对象存储目录下的所有文件展示出来,方便所有人浏览。  ZFile 可以在线播放视频。  ZFile 可以在线播放音乐。  五、使用域名访问 ZFile 网盘 --- **这一步为可选项。**首先,对于用宝塔面板 Docker 方式部署的 ZFile,你需要到宝塔面板后台创建一个网站。  然后为你的网站申请好 SSL 证书,用 SSL 访问会更安全些。当然,你执意不做,这一步也可以省略。  最后直接在宝塔面板后台点击创建反向代 @理,目标 URL 为 ip:8080(ZFile 运行端口)。  现在你就可以使用域名访问 ZFile 了。  以下部分的反向代理配置参考的是 [Cloudreve](https://wzfou.com/tag/cloudreve/) 的绑定域名配置,原理都是一样的,你只需要把端口号换成 ZFile 的 8080 即可:[Cloudreve 绑定域名](https://wzfou.com/cloudreve-wangpan/#ftoc-heading-5)。 如果是 LNMP,打开你的域名 Nginx 配置文件,在网站的`server`字段中加入: ``` location ~ / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://127.0.0.1:5212; # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸 # client_max_body_size 20000m; } ```  如果是 Oneinstack,打开你的域名 Nginx 配置文件,在网站的`server`字段中加入: ``` location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://127.0.0.1:5212; # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸 # client_max_body_size 20000m; } ```  如果是 Apache,在`VirtualHost`字段下加入反代配置项`ProxyPass`,比如: ``` <VirtualHost *:80> ServerName myapp.example.com ServerAdmin webmaster@example.com DocumentRoot /www/myapp/public # 以下为关键部分 AllowEncodedSlashes NoDecod ProxyPass "/" "http://127.0.0.1:5212/" nocanon </VirtualHost> ``` 添加完成后,重启 nginx 或者 Apache,然后你就可以使用域名来访问了。 六、总结 --- ZFile 是一个非常优秀的网盘目录程序,推荐使用宝塔面板安装 Docker 镜像的方式运行 ZFile,为了加快速度,你可以开启缓存。但是开启缓存后,会缓存文件夹中的内容,可以加快访问速度,但同样也可能会导致数据不一致。缓存每 30 分钟刷新一次。 最后修改:2023 年 09 月 10 日 © 允许规范转载 打赏 赞赏作者 赞 如果觉得我的文章对你有用,请随意赞赏