一.介绍
Cloudreve这个我最早是在QQ群里看到的,有人发了一张图片,发现界面看上去很棒,我之前做了一个自建私人云盘的系列文章,在写的过程中搜集了很多相关的程序,毫不夸张的说我可能把国内外这方面的程序都起码是过了一遍的,然而这个看上去这么棒的程序我怎么会漏掉呢。
于是在百度上谷歌上到处搜索,然而当时作者还没有发帖,官网的搜索引擎Rank也很低,我只找到一个.com的网站,还是显示的域名正在出售,正在疑惑之时突然想起,这也许是有人新开发的程序,由于有中文,所以或许是国人开发的,于是尝试去GitHub搜索,果不其然,发现了它的Repo。
高兴之余突然发现作者的名字有点眼熟,点开他的Repo列表一看,原来是树洞的作者,惊了。然后也在Repo里看到了Demo网站,访问后感觉确实不错。
然后当天晚上就在Hostloc以及V2ex等网站上看到了作者发帖介绍他的新程序_(:з」∠)_,我也算是抢先了。
说了这么多废话,我还是来介绍下Cloudreve吧。Cloudreve基于ThinkPHP构建的网盘系统,能够助您以较低成本快速搭建起公私兼备的网盘。
目前已经实现的特性:
- 快速对接多家云存储,支持七牛、又拍云、阿里云OSS、AWS S3、自建远程服务器,当然,还有本地存储
- 可限制单文件最大大小、MIMEType、文件后缀、用户可用容量
- 图片、音频、视频、文本、Markdown、Ofiice文档 在线预览
- 移动端全站响应式布局
- 文件、目录分享系统,可创建私有分享或公开分享链接
- 用户个人主页,可查看用户所有分享
- 多用户系统、用户组支持
- 初步完善的后台,方便管理
- 拖拽上传、分片上传、断点续传、下载限速(*实验性功能)
- 多上传策略,可为不同用户组分配不同策略
- 用户组基础权限设置、二步验证
- WebDAV协议支持
安装需求:
- LNMP/AMP With PHP5.6+
- curl、fileinfo、gd扩展
- Composer
虽然是才放出来不久,但是从一开始功能就是相当多的了,我比较喜欢自建远端存储以及断点续传的功能,当然WebDAV这种也是必不可少的啦,Office的在线预览算是锦上添花。其实各种分享以及权限限制在树洞外链上其实也以及比较完善了,但是树洞对云存储过于依赖了,本地化的反而不足,由于一堆云在数据量和流量大的情况下比购置服务器或者VPS贵多了,所以实在是不适合。
二.安装
安装的话和常规的下载安装包解压不太一样,虽然如果非要这样也是可以的,Cloudreve使用Composer实现快捷的安装与配置。
当然,在安装之前还是请配置LNMP的环境,各种一键包和面板均可,然后新建vhost并创建新的数据库以及用户,我这边以OneInStack举例
#这儿的php路径请自行确认
curl -sS https://getcomposer.org/installer | /usr/local/php/bin/php
mv composer.phar /usr/local/bin/composer
#安装开发版,目前还在开发阶段,所以也没有啥稳定版啊啥的,不过也没啥大问题其实
cd /path/to/vhost/root/
#请注意这一步还会检测PHP的模块,如果缺少fileinfo请自行安装
composer create-project hfo4/cloudreve:dev-master
然后会有个配置指引,按照说明输入数据库信息以及网址就行,我这边一开始创建的Mysql用户是只允许localhost访问的,用127.0.0.1不行,后来又加了个127.0.0.1能访问的用户才行
接着我们需要修改下程序的位置,以及目录的权限,主要是runtime目录以及public目录
#默认在vhost根目录下使用composer获取会把程序放在cloudreve文件夹中,我们需要 直接用根目录的话要么修改vhost配置,要么把里面的文件移出来,这个看你选择了
cd /path/to/vhost/root/
mv cloudreve/* .
mv cloudreve/{.htaccess,.travis.yml} .
rm -rf cloudreve
#如果你打算使用二部验证功能,请额外运行如下命令添加依赖
composer require phpgangsta/googleauthenticator:dev-master
composer require endroid/qrcode
#设置所有者以及权限
chown -R www:www *
chmod -R 755 runtime public
这样就OK了,接着由于ThinkPHP框架的要求,我们需要设置下伪静态,Apache由于.htaccess文件的关系只要启用mod_rewrite.so模块并确保AllowOverride All就能够自动处理,而Nginx需要手动添加如下内容到vhost配置文件中。
当然,你也可以在面板或者一键包创建vhost的时候选择ThinkPHP伪静态
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
接着重启下Nginx然后就OK了,对了,还得配置下Cron,来定时处理一些任务
#自己改域名
echo "* * * * * curl http://pan.example.com/Cron" >> /var/spool/cron/root
chmod 600 /var/spool/cron/root
service crond reload
service crond restart
然后访问 http://pan.example.com/Admin 登陆就行
初始用户名:admin@cloudreve.org
初始密码:admin
登陆后可以右上角进管理面板,改改用户名、邮箱、密码啥的,如果是私人使用也可以把注册功能关掉
剩下的还有启用Sendfile支持和配置远程存储我就不提了,因为文档相当完善。
本站提供的是3.8版本的开源捐助版本,捐助版本和社区版本相比多了以下功能 。
捐助版独占特性
捐助版完整独占特性列表
捐助版与社区版同步更新,会在每次版本更新时酌情加入新的独占功能。
- 为同一用户组绑定多个存储策略,用户可自由切换
- 在存储策略之间转移文件
- 容量包购买
- 用户购买
- 积分充值
- 激活码(兑换用户组、容量包、积分)
- 创建付积分下载的分享
- 第三方支付对接(PAYJS、支付宝当面付、微信扫码支付)
- QQ 互联登录
- 保存其他用户分享到自己网盘
- 为不同目录绑定不同存储策略
- 分享举报、处理
- 为新注册的用户指定初始文件
- 站点公告模块
- 注册邮箱后缀白名单/黑名单
- (持续更新中…)