分享 | 交流
让学习成为一种习惯

Cloudreve 开源网盘搭建记实

Cloudreve是一款基于ThinkPHP构建的开源网盘系统,能够助您以较低成本快速搭建起公私兼备的网盘

目前已经实现的特性

  • 快速对接多家云存储,支持七牛、又拍云、阿里云OSS、AWS S3、自建远程服务器,当然,还有本地存储
  • 可限制单文件最大大小、MIMEType、文件后缀、用户可用容量
  • 图片、音频、视频、文本、Markdown、Ofiice文档 在线预览
  • 移动端全站响应式布局
  • 文件、目录分享系统,可创建私有分享或公开分享链接
  • 用户个人主页,可查看用户所有分享
  • 多用户系统、用户组支持
  • 初步完善的后台,方便管理
  • 拖拽上传、分片上传、断点续传、下载限速(*实验性功能)
  • 多上传策略,可为不同用户组分配不同策略
  • 用户组基础权限设置、二步验证
  • WebDAV协议支持

演示

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

演示网站:http://pan.liushike.com/

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

首页

cloudreve.png

我的文件

cloudreve-0.png

我的分享

cloudreve-4.pngcloudreve-5.png

用户主页

cloudreve-6.png

用户设置

cloudreve-2.png

后台面板

cloudreve-3.png

文件下载页面

cloudreve-7.png

是不是很漂亮呢?那么心得就行动吧!

简要安装说明

安装需求

  • LNMP/AMP With PHP5.6+
  • curl、fileinfo、gd扩展
  • Composer

通过Git安装
1. Clone本项目
git clone https://github.com/HFO4/Cloudreve.git
cd Cloudreve

2. 使用Composer安装扩展包
composer install

3. 配置MySQL
#将根目录下的mysql.sql到入到你的数据库,编辑application/database_sample.php文件,填写数据库信息,并重命名为database.php
可以不手动改文件,上一步执行完之后再执行一次composer install,会有一个配置步骤,按提示填写即可。

4. 目录权限
runtime目录需要写入权限,如果你使用本地存储,public 目录也需要有写入权限
chmod u+w runtime public public/uploads/chunks

5. URL重写
对于Apache服务器,请确保
httpd.conf配置文件中加载了mod_rewrite.so模块
AllowOverride None 将None改为All`

项目目录下的.htaccess已经配置好重写规则,如有需求酌情修改.

对于Nginx服务器,以下是一个可供参考的配置:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}

如果你的应用安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。
location /youdomain/ {
if (!-e $request_filename){
rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=/$1 last;
}
}

6.后续操作
到此步时,系统已基本可以正常运行,但还需要进行一些后续操作.

登录后台(初始用户名admin@cloudreve.org 初始密码 admin 后台URlhttp://你的域名/Admin,登录后到设置 – 基本设置中检查站点URL是否正确)

到用户管理页修改初始用户密码

如果你需要使用二步验证功能,请在程序目录下依次执行

composer require phpgangsta/googleauthenticator:dev-master
composer require endroid/qrcode

安装二步验证扩展

cloudreve-8.png

添加Cron定时任务:
crontab -e
* * * * * curl http://你的域名/Cron

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

启用Sendfile下载支持

启用sendfile模式后,可大大降低用户下载文件时服务端的压力,目前本功能仅对本地类型策略有效。使用前请先在后台-设置-杂项中启用X-Sendfile传输模式,并根据你使用的服务器软件选择正确的Header,并更改服务器配置:

Apache

  1. https://www.apachelounge.com/download/ 下载并安装mod_xsendfile
  2. 在站点配置文件中加载并启用模块:
LoadModule xsendfile_module modules/mod_xsendfile.so
XSendFile On 
XSendFileAllowAbove On

注:如果下载下载的文件为空文件,则说明后台Sendfile Header选项 选择有误。若

Nginx

在站点配置文件中添加
location /protected_files {
internal;
#此处为public/uploads目录的绝对路径
alias /home/wwwroot/file.cloudreve.org/public/uploads/;
}

 cloudreve-9.png

安装报错

1.Composer安装Cloudreve时提示The requested PHP extension ext-XXX * is missing from your system

这是PHP扩展未达到要求所致,Cloudreve需要curlfileinfogd扩展支持,请先安装并启用这些扩展。

2.安装成功后页面404/No input file specified.

URL重写规则未配置好,请检查。

3.安装后首页提示“遇到错误”

请依次检查:

  • application/database.php是否存在,如果不存在请手动创建写入数据库信息
  • runtime及其子目录是否有写入权限
  • 其他原因,编辑application/config.php打开debug模式,查看详细报错

4.头像无法显示/文件无法上传

检查fileinfo扩展是否被安装并启用

5.本地存储策略文件上传到4mb时卡住

public/uploads/chunks目录没有写入权限,请分配写入权限

5.使用云存储策略时回调失败/获取的文件外链URL不对

依次检查:

6.开启二步验证时的二维码无法显示

执行
composer require phpgangsta/googleauthenticator:dev-master
composer require endroid/qrcode

短评

博主是oneinstack一键包安装的环境,在经过简单的上传、下载、分享测试后,暂时还没有发现有什么问题,网盘上传支持分块上传,界面漂亮,功能强大,具体的还是自己去体验吧,该网盘目前来说还是很不错的,毕竟也是少见的开源网盘程序,如果觉得好用,记得在GITHUB上给作者一个star!

未经允许不得转载:留时刻运维网 » Cloudreve 开源网盘搭建记实

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

留时刻 - Linux系统教程,运维经验分享

加入我们给我留言