Onedrive对接说明
启动Cloudreve任务队列
由于Onedrive策略上传方式为服务器中转,需要额外再服务器上运行一个任务处理进程。请确保您的Cloudreve版本大于或等于1.1.1。
进入Cloudreve后台管理面板 - 其他 - 任务队列;
点击随机生成Token
,点击保存设置
并复制下生成的64位Token备用;
根据你的操作系统版本和架构,到https://github.com/HFO4/CloudreveTaskQueue/releases 下载对应的Cloudreve任务队列处理程序;此处以64位Linux为例,下载taskqueue_X.X_linux_amd64.tar.gz
并解压。注意:此程序后续会进行更新,请不要照搬以下命令中的下载链接
wget https://github.com/HFO4/CloudreveTaskQueue/releases/download/X.X/taskqueue_X.X_linux_amd64.tar.gz
tar -zxvf taskqueue_X.X_linux_amd64.tar.gz
- 赋予执行权限
chmod +x ./taskqueue
- 编辑
conf.yaml
文件,具体说明如下:
#第2步中生成的Token
token: SOME_THING_HARD_TO_GUESS
#格式为:您的站点地址/Queue
api: http://127.0.0.1/Queue
#启动的进程数量
taskNum: 4
#轮询间隔
Duration: 20
- 启动任务队列
./taskqueue
- 如果屏幕上打印出如下信息,则表示配置正确:
Cloudreve Queue Go Version 1.0
Author: AaronLiu <abslant@foxmail.com>
2018/10/20 18:27:29 [INFO] Config information: {XXX https://XXX/Queue 4 1}
2018/10/20 18:27:29 [INFO] Basic Info: {"basePath":"XXX"}
2018/10/20 18:27:29 [Info] Thread 1 start
2018/10/20 18:27:30 [Info] Thread 2 start
2018/10/20 18:27:31 [Info] Thread 3 start
2018/10/20 18:27:32 [Info] Thread 4 start
- 使用
nohup
、screen
或其他方式使其在后台运行,一下步骤以screen
为例:
screen
./taskqueue
Ctrl+A D
Windows下的步骤
对于Windows系统,从第3步开始,下载对应架构的zip包,按照第5步提示修改config.yaml
,之后再CMD中启动taskqueue.exe
即可
配置Onedrive上传策略
前往Cloudreve后台 - 上传策略 - 添加 - Onedrive
点击位于 应用 ID(Client ID)
一项左侧的超链接,跳转并登录微软账户创建应用。注意:如果你手动创建应用,请授权回调地址:您的网站/Admin/oneDriveCalllback
复制上一步微软给出的应用机密和应用ID,并填写到上传策略表单中
继续填写其他信息,点击“保存并继续”
跳转到Onedrive授权页后,登录你要用于存储的Onedrive账号(暂不支持国内世纪互联版),授权应用即可
Q&A
Onedrive策略哪些步骤是直传。那些需要经过服务器?
上传是经过服务器中转,下载不经过服务器。
Onedrive策略是否支持离线下载?
支持。
绑定账号时报错The reply uri specified in the request isn't using a secure scheme
.
站点必须启用HTTPS,并在基本设置-站点URL中更改为正确的HTTPS链接,保存后重新点击添加上传策略页面中的链接创建应用并绑定账号
安装及初次使用FAQ
1.Composer安装Cloudreve时提示The requested PHP extension ext-XXX * is missing from your system
这是PHP扩展未达到要求所致,Cloudreve
需要curl、fileinfo、gd
扩展支持,请先安装并启用这些扩展。
2.安装成功后页面404/No input file specified.
URL重写规则未配置好,请检查。
3.安装后首页提示“遇到错误”
请依次检查:
application/database.php
是否存在,如果不存在请手动创建写入数据库信息runtime
及其子目录是否有写入权限- 其他原因,编辑
application/config.php
打开debug
模式,查看详细报错
4.头像无法显示/本地策略图像无法预览
检查fileinfo扩展是否被安装并启用
5.本地存储策略文件上传到4mb时卡住5.本地存储策略文件上传到4mb时卡住
public/uploads/chunks
目录没有写入权限,请分配写入权限
6.使用云存储策略时回调失败/获取的文件外链URL不对
依次检查:
- 后台-设置-基本设置中的站点URL是否正确
- 服务器时间是否正确
- 有些服务器可能会将Authorization头自行解- 析掉,比如apache2,因此需要设置成不解析这个头部。以apache2为例,具体设置方法请参考 https://help.aliyun.com/document_detail/31927.html?spm=a2c4g.11186623.6.637.wPbiue
- Cloudreve应用是否能被外网访问
7.开启二步验证时的二维码无法显示
执行
composer require phpgangsta/googleauthenticator:dev-master
composer require endroid/qrcode
安装说明安装说明
- 通过Composer安装
- 通过Docker安装
- 通过官网安装包安装
通过Composer安装通过Composer安装
1.安装Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
详细安装说明请参阅http://docs.phpcomposer.com/00-intro.html
2. 使用Composer安装Cloudreve
#安装开发版
$ composer create-project hfo4/cloudreve:dev-master
#等待安装依赖库后,会自动执行安装脚本,按照提示输入数据库账户信息
___ _ _
/ __\ | ___ _ _ __| |_ __ _____ _____
/ / | |/ _ \| | | |/ _` | '__/ _ \ \ / / _ \
/ /___| | (_) | |_| | (_| | | | __/\ V / __/
\____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___|
Ver XX
================================================
#按提示输入信息
......
#出现如下提示表示安装完成
Congratulations! Cloudreve has been installed successfully.
Here's some informatioin about yor Cloudreve:
Homepage: https://pan.aoaoao.me/
Admin Panel: https://pan.aoaoao.me/Admin
Default username: admin@cloudreve.org
Default password: admin
3. 目录权限
runtime
目录需要写入权限,如果你使用本地存储,public
目录也需要有写入权限
4. 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;
}
}
5.后续操作5.后续操作
到此步时,系统已基本可以正常运行,但还需要进行一些后续操作.
- 登录后台(初始用户名admin@cloudreve.org 初始密码 admin 后台URlhttp://你的域名/Admin,登录后到设置 - 基本设置中检查站点URL是否正确)
- 到用户管理页修改初始用户密码
- 如果你需要使用二步验证功能,请在程序目录下依次执行composer require phpgangsta/googleauthenticator:dev-master composer require endroid/qrcode安装二步验证扩展
- 添加Cron定时任务
* * * * * curl http://你的域名/Cron
- 如果你打算使用本地上传策略并且不准备开启外链功能,请将public/uploads目录设置为禁止外部访问、禁止脚本执行
通过Docker安装
你可以使用由 @ilemonrain
维护的Docker
镜像:
https://hub.docker.com/r/ilemonrain/cloudreve/
通过官网安装包安装
1. 获取安装包
到https://cloudreve.org/download.php 下载最新的安装包
2.导入数据库
前往 您的域名/CloudreveInstaller
的安装向导,根据提示检查环境、填写数据库信息并执行安装。
获取帮助
安装过程中和安装后初次使用遇到的问题请参阅:
离线下载对接说明
Cloudreve
的离线下载功能是基于Aria2实现的,在启用离线下载功能前,请先在服务器上安装Aria2
。具体流程可参考网络,在此不再赘述。
1.使用配置文件启动Aria2
新建aria2.conf
,在此文件中根据你的需求填写aria2
的相关配置,其中需要特别注意的几项是:
#是否启用RPC服务,请设置为true
enable-rpc=true
#RPC服务的端口,默认为6800
rpc-listen-port=6800
#设置PRC服务的密钥,在接下来的步骤中会用到
rpc-secret=SomeThingHardToGuess
保存后使用此配置文件启动aria2服务:
#/home/aria2.conf为配置文件路径
aria2c.exe -conf-path=/home/aria2.conf
2.配置离线下载
Cloudreve
后台的离线下载配置页,按照提示填写各项配置
常见问题及注意事项
注意:
- 如果需要终止
aria2
进程,请确保所有离线下载任务已完成或被取消。如果需要强制终止,请不要忘记删除aria2创建的session
文件中留下的记录,或者将下载创建的临时文件删除以避免下次启动时发生冲突。 - bt下载可能需要你手动在配置文件中填写tracker服务器以获得更佳的下载速度
- 请添加cron定时任务,系统每隔半分钟会刷新所有进行中任务的状态,你可以在后台-其他-定时任务中更改此间隔
常见问题:
- 离线下载容量配额如何处理?
下载开始时系统不会对容量进行检查。当aria2成功获取到文件大小,并且被Cloudreve获取到状态时,系统会检查用户是否可以下载此文件,如果容量不足,系统会强行终止任务;如果任务文件的大小无法被获取,系统会实时检查已下载内容大小,并在任务完成时检查容量;如果正在进行中的任务已经超出容量配额,用户将不能再创建新任务。 - 无法创建离线下载任务?
根据错误提示,如果提示为请求失败
请检查aria2及其RPC服务是否启动,配置信息是否正确。如果为其他提示,请参阅aria2文档排查原因。 - 下载完成后文件管理器中未出现文件,日志中提示Permission denied
请以和php进程相同的用户身份启动aria2,并且确保php拥有对下载文件目录的读写权限。或者使用https://forum.cloudreve.org/d/168 的解决方案
启用Sendfile下载支持
启用sendfile模式后,可大大降低用户下载文件时服务端的压力,目前本功能仅对本地类型策略有效。使用前请先在后台-设置-杂项中启用X-Sendfile传输模式,并根据你使用的服务器软件选择正确的Header,并更改服务器配置:
ApacheApache
到https://www.apachelounge.com/download/
- 下载并安装
mod_xsendfile
- 在站点配置文件中加载并启用模块:
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所在的)服务器上,但在此之前,你需要手动搭建远程服务端。
远程服务端搭建
以下操作均在远程服务端(即存放文件的服务器)上进行。
- 克隆代码
git clone https://github.com/HFO4/cloudreve-remote-server.git
cd cloudreve-remote-server
- 填写配置文件
vim config.php
将ACCESS_KEY
的值更改为与Cloudreve
后台添加远程上传策略时系统随机生成的AccessToken
,保存。
权限
为chunks、uploads、tuhmbs
赋予读写权限,同时为了安全考虑,可将uploads目录配置为禁止执行PHP脚本、禁止直接访问。
添加远程上传策略
- 进入后台-上传策略-远程服务器
- 默认已生成随机
AccessToken
,可复制填入远程服务端的config.php
中 - “服务端URL”即为远程服务端程序所在目录的url,比如'https://yourdomain.com/server/'
- 保存并绑定用户组测试上传
常见问题
上传大文件提示 “分片缓冲区已满,请等待系统回收”
手动清理chunks下的文件即可
上传文件提示“文件转移失败”
检查chunks、uploads
目录是否有写入权限
其他问题诸如HTTP错误等
通过Composer安装通过Composer安装?
使用了可道云,感觉部署炒鸡简单,不知道Cloudreve有没有实例网址
https://pan.g-disk.net/百度搜到的