Cloudreve——基于对象存储的网盘系统

已经写过了不少奇奇怪怪的网盘系统,不过大部分都是千篇一律,只不过在某些功能或界面上有区别,今天介绍的是来自国内开发者写的一个基于对象存储的公私兼备的网盘系统。由aoaoao.me的作者所写,这位作者最著名的项目就是树洞外链(https://github.com/HFO4/shudong-share),功能强大也好看,相信对这方面有点研究的都用过他的东西,后来免费版没再更新有些可惜。沉寂了很久作者终于放出一个大招——Cloudreve。项目已经发布一个月了,博主一直在摸鱼偷懒就没写,抢首发大失败,今天就抽空补上吧!

一、程序介绍

官方网站:http://cloudreve.org/

Github开源:https://github.com/HFO4/Cloudreve

Telegram社群:https://t.me/joinchat/ChJY90fAOmaJNRROZxCXRQ

功能介绍:

Cloudreve——基于对象存储的网盘系统

毕竟是国内开发者所写,功能就是接地气,不管是基础的功能还是对接对象存储对于国内用户很方便。老外写的网盘系统即使可以对接对象存储,但是什么AWS S3啊、GDrive,速度不快,计费不清楚,英文文档部分人接触困难,所以使用方面还是有坑的。让人家去为了你对接阿里云、七牛专门写一个又不现实。国内开发的对接国内服务商的对象存储服务就方便快捷很多,何况对象存储成本越来越低,比直接购买服务器成本低很多。

对象存储目前著名的就是阿里云OSS、腾讯云COS、七牛、又拍云等,价格也非常低,例如腾讯云赠送50GB COS空间,七牛http有一定的免费额度,又拍也一样,阿里云的OSS在赶上活动的时候几毛钱就能买到两年时长的40GB的存储空间。这些大厂首先就是安全速度快,国内无论如何都有无可比拟的速度优势,大厂也不容易跑路,你选个容易翻车的VPS或者服务器说不定哪天就挂了,小厂oneman容易跑,大厂又贵也不一定有合适的机房。搭建一个程序基本需要512-1GB的内存,20G以上的空间,稳定的都得需要每个月5USD以上,独服就更别说了。国内服务商目前提供的免费额度已经足够个人使用,如果你是中小企业或者大流量的现在对象存储的价格都非常低,综合成本不高,甚至每个月几块钱到几十块钱就可以做到超大容量和流量的存储。

二、程序安装

作者首发第一版是需要安装Composer来安装的,但是可能有BUG或坑比较多,对于普通用户来说安装体验不友好,作者又重新打包了一个完整包,不用安装Composer扩展了。本文以Oneinstack为例,LNMP环境,同时也支持Apache。

(1)在搭建好LNMP环境后新建主机和普通建站一样即可,推荐使用oneinstack的addons扩展,安装fileinfo组件,也推荐上SSL。如果不懂composer扩展oneinstack也提供了一键安装。

Cloudreve——基于对象存储的网盘系统

(2)首先到官方网站下载:http://cloudreve.org/download.php

(3)将根目录下的“mysql.sql”导入到你的数据库,编辑application/database_sample.php文件,填写数据库信息,并重命名为database.php。

(4)上传安装包到服务器

(5)runtime目录需要写入权限,如果你使用本地存储,public 目录也需要有写入权限,给他们权限,755权限即可。

(6)设置URL重写:
httpd.conf配置文件中加载了mod_rewrite.so模块,AllowOverride None 将None改为All,项目目录下的.htaccess已经配置好重写规则,如有需求酌情修改。
对于Nginx服务器,以下是一个可供参考的配置:

location / {
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
}

(7)登录后台,后台URL:http://你的域名/Admin(初始用户名admin@cloudreve.org,初始密码 admin ,登录后到设置 – 基本设置中检查站点URL是否正确)
(8)到用户管理页修改初始用户密码
(9)如果你需要使用二步验证功能,请在程序目录下依次执行composer require phpgangsta/googleauthenticator:dev-master composer require endroid/qr-code 安装二步验证扩展
(10)添加Cron定时任务:

* * * * * curl http://你的域名/Cron

(11)如果你打算使用本地上传策略并且不准备开启外链功能,请将public/uploads目录设置为禁止外部访问、禁止脚本执行

至此,安装工作已完成。

三、程序使用

(1)用户界面

首先访问一下用户后台页面,可以直接查看所有文件。基础的上传、新建文件夹、搜索等都在右上角的四个按钮里。

Cloudreve——基于对象存储的网盘系统

基础的使用操作,下载、分享、删除等,对于常用的图片、音视频都能预览。

Cloudreve——基于对象存储的网盘系统

个人主页,可以查看最热门的分享。

Cloudreve——基于对象存储的网盘系统

可以搜索你分享的文件,以免太多找不到。

Cloudreve——基于对象存储的网盘系统

还有图片集可以作为一个简单的图片集合查看器,不过因为里面没图所以我就没截图。

安装两步验证扩展可以实现两步验证,非常安全。

Cloudreve——基于对象存储的网盘系统

WebDAV,没想到也做了支持,有需要的可以很方便使用了。

Cloudreve——基于对象存储的网盘系统

文件分享,支持公开和私密分享,链接格式也和百度盘一样。

Cloudreve——基于对象存储的网盘系统

(2)管理员界面

再进入管理员后台,网站整体情况一目了然。后台可以直接查看最近的更新,直接从Github下载更新增量包方便更新。

Cloudreve——基于对象存储的网盘系统

第一个是基础设置,站点名称、统计代码这些,必须设置好站点URL,否则文件分享等链接都是错误的。

Cloudreve——基于对象存储的网盘系统

注册访问设置,可以选择是否对外开放,设置验证码和邮件验证,考虑的很全面。

Cloudreve——基于对象存储的网盘系统

邮件发送设置,发送邮件的相关设置。

Cloudreve——基于对象存储的网盘系统

配置文件,可以自己做些修修改改。

Cloudreve——基于对象存储的网盘系统

杂项设置,对于可编辑文件大小、热门分享数量等做一些个性化设置。

Cloudreve——基于对象存储的网盘系统

对于文件下载可以启用Sendfile来降低负载,选择正确的服务器环境,再到伪静态那设置一下就行,参考官方wiki:启用Sendfile下载支持

模板,对整个系统可以做一些个性化改动。

Cloudreve——基于对象存储的网盘系统

文件管理,对于用户的文件进行管理,同时安装上传的方式、日期、大小都能分类快速筛选,非常细致!

Cloudreve——基于对象存储的网盘系统

管理用户,这就不多说了。

Cloudreve——基于对象存储的网盘系统

用户组,默认分了几个分类,这个比较重要,如果你的网盘有多种存放策略必须用用户组来设置。例如设置VIP用户可以上传到OSS,游客只能本地存储等。对于每个组别都能设置是否多线程、是否开启某些功能和初始的容量等。

Cloudreve——基于对象存储的网盘系统

Cloudreve——基于对象存储的网盘系统

上传策略,著名的几大对象存储都做了支持,另外支持本地存储和远程服务器存储,满足不同人群的需要。

Cloudreve——基于对象存储的网盘系统

Cloudreve——基于对象存储的网盘系统

对接远程服务器的方法,参考官方wiki:远程存储服务端搭建

对于没有支持OneDrive、GDrive和腾讯云COS作者目前有以下的答复:
 Onedrive暂时无法实现直传暂时不能支持,Gdrive需要扶墙才能实现各种操作,对于部分用户太麻烦也有了限制,目前还在考虑。腾讯云COS和onedrive一样无法实现直传,暂时不支持。

(3)栗子:对接阿里云OSS存储。

阿里云的OSS一直买了都是吃灰,毕竟站点用的腾讯云服务器,备份啥的都在COS上很方便,阿里云OSS一直没用,这回终于派上用场了。

对接又拍、七牛的操作相对简单,填写API信息、Bucket信息、域名就行了,阿里云需要一些特殊操作在系统也有提示,安装系统提示就行了。

Cloudreve——基于对象存储的网盘系统

对接阿里云OSS注意事项
阿里云OSS创建空间后请进行如下操作,否则无法正常上传。
转到 空间管理 – 基础设置 – 跨域设置;
创建规则,其中来源填写“*”,允许 Methods全部勾选,允许 Headers填写“*”,其他保持默认,点击确定保存.

再回到阿里云OSS控制台创建个Bucket就行了,可以绑定个自己的域名,CNAME解析即可生效,如果有阿里云CDN可以使用CDN加速。

Cloudreve——基于对象存储的网盘系统

请注意Bucket的权限设置!目前发文时的1.0.3版本存在BUG,必须在网盘上传策略设置和OSS设置Bucket权限为“私有”才能正常使用,理论上是需要设置公读的,所以可能在下个版本就修好了,以后修好了本文再更新。

然后balabala填写对信息,检查一下就行了。例如“空间域名”、“上传域名”要搞清楚,本文就啰嗦一下,以免因为多写了一个符号搞失败:

注意事项
cloudreve在这两个填空留了一个”http(s)://”,你如果是http域名记得把括号和s删了,如果是https域名记得把括号删了。
空间域名可以填写阿里云给你的长长的域名或自己的,需要在末尾加一个”/”,如果你开了CDN需要写成CDN的域名。
上传域名末尾不用加”/”,但是域名必须OSS的空间域名,如果你开了CDN也得写成空间域名。

添加上传策略后,转到用户组设置,设置用户组使用什么上传策略即可正常使用了,默认都是存储到本地。

四、使用总结

补坑完成,目前Cloudreve对于个人来说还是挺不错的,何况是刚刚起步发展前途和新功能扩展上也非常让人值得期待,而且对接对象存储节省了我的成本加快了下载速度。不过也因为是刚刚起步所以BUG是难免的,例如阿里云OSS的私有权限就困扰了我半天才发现是个BUG…

有BUG的话就去TG或Github提交反馈吧。

五、参考文档

本文的撰写参考了以下文档,感谢原作者的贡献:

(1)Cloudreve的完整安装包(不需要Composer)

(2)官方WIKI:https://github.com/HFO4/Cloudreve/wiki

(3)使用 Cloudreve 搭建一个基于对象储存的个人网盘


Telegram频道:https://t.me/zrj96 欢迎关注,获取最新资讯。

原创文章,作者:zrj766,如若转载,请注明出处:https://www.zrj96.com/post-706.html

欢迎关注本站Telegram频道获取最新资讯:点击加入

(8)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
zrj766zrj766
上一篇 2018年2月28日 11:08
下一篇 2018年4月7日 16:57

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

评论列表(7条)

  • 天目山
    天目山 2020年10月28日 17:08

    网盘玩家前来报道!我来安利个网盘
    可以试试可道云kodbox,基本上国内对象存储都可以挂载,操作体验方面更丝滑流畅一些。

  • 沐童
    沐童 2019年4月21日 23:00

    你好 请问这个网盘 总是提示 未登陆用户无法下载 怎么才能解决让游客不登录也可以下载呢?

    • zrj766
      zrj766 2019年4月30日 11:42

      @沐童这个需要问开发者,Github里开issue。

  • 韩牛奶
    韩牛奶 2018年8月10日 20:19

    博主,我这边安装好了,但是,登录,注册,后台点了没反应。一直停留在主页。。。QQ1655466387 麻烦解决一下、

  • wordpress企业主题
    wordpress企业主题 2018年3月27日 09:55

    很强大,感谢博主分享

  • 挖站否
    挖站否 2018年3月23日 20:18

    不错,劫持WebDAV,很强大。

  • wwClouds云服务
    wwClouds云服务 2018年3月23日 04:29

    大赞!

    终于找到一个能用的