一.介绍
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举例
1 2 3 4 5 6 7 8 |
#这儿的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目录
1 2 3 4 5 6 7 8 9 10 11 |
#默认在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伪静态
1 2 3 4 5 6 |
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } |
接着重启下Nginx然后就OK了,对了,还得配置下Cron,来定时处理一些任务
1 2 3 4 5 |
#自己改域名 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支持和配置远程存储我就不提了,因为文档相当完善,下面给链接
- https://github.com/HFO4/Cloudreve/wiki/启用Sendfile下载支持
- https://github.com/HFO4/Cloudreve/wiki/远程存储服务端搭建
参照着来就OK,如果安装中还有其他问题可以看看FAQ
如果有什么意见或建议可以去GitHub开issue,看了眼最近的issue作者可能会在下个大版本更新中添加Aria2实现离线下载功能,还是比较期待的。
Senraの小窝原创文章,转载请注明来自:自建云盘系列——Cloudreve(树洞外链作者的又一力作)
博主,你说的QQ群号码是多少?你自己有QQ群吗?请赐教,有空多交流呀,谢谢。
我没建QQ群,有问题可以直接留言
在The full-url to access to your Cloudreve 这里 填 域名能用ip吗?
尝试搭建了一个,用ip的,访问不了,
提示The requested URL /admin was not found on this server.
额,你确定你伪静态配好了?
能试下远程存储对接么?刚出的时候试用过,在对接远程存储的时候一直没成功。
是自己的远程存储后端还是七牛、oss之类的云存储
自建的远程存储
如何配置伪静态啊
很简单啊,我都写了。
在“当然,你也可以在面板或者一键包创建vhost的时候选择ThinkPHP伪静态”的下面就是Nginx的伪静态了
博主:cloudreve的图片外链地址怎么获取?
分享功能试试?
您好博主,我Cloudreve搭建完毕,但是登陆后,(您最后一张图上面的文字“此文件夹没有文件”处)根目录显示error 500-请求失败,登陆可能已过期,请重新登陆,换过浏览器也不行,重新注册账号登也不行,求解。
没碰到过你这个问题,请确认是否成功配置rewrite或更换目前的最新版本
前面那条没法修改了,我重新发一下!
亲~我win下搭建的,这个伪静态怎么弄啊,百度了半天,搞不懂。
按照度娘的提示:
安装目录下双击打开:httpd.conf,
找到httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so)
#号给去掉
AllowOverride none改成AllowOverride all
这个都搞好了。
一直停在环境检测~~~尴尬啊!!!
检测那里第二条:URL Rewrite 服务器需正确配置URL重写规则(伪静态),否则各个页面将会返回404错误 必须
后面版本空的 状态也是空的 既没有满足也没有不满足,跳过直接下一步点了 就是没反应。
修改后需要重启apache