莫言 发表于 2020-8-6 00:08:14

宝塔nextcloud挂载onedrive教程

准备环境
| 环境 | 版本 |
| - | - |
| 宝塔Linux正式版 | 7.4.2 |
| PHP | 7.2 |
| MYSQL | 5.5.62 |
| CENTOS | 7x64 |

安装Rclone并关联OneDrive
1. Rclone
NextCloud是不能够直接使用OneDrive的,我们需要利用Rclone(Rclone是一个用于和同步云平台同步文件和目录命令行工具)这个中间件将OneDrive挂载到Centos本地,然后NextCloud才可以使用Centos上挂载的目录。

先登录ssh,输入以下命令:
#安装依赖
yum install fuse -y
#安装主程序
curl https://rclone.org/install.sh | sudo bash2. 获取OneDrive access_token
这一步需要安装Rclone Windows客户端,通过Rclone Windows客户端去请求OneDrive获取对应账户下access_token,这里要说明的是教育版OneDrive是不能使用此方法获得access_token的,如果想使用教育版的OneDrive貌似需要校园管理员开通对应权限才可以。

Rclone Windows客户端下载地址:

1.52.3Win64客户端下载地址

1.52.3Win32客户端下载地址

最新客户端下载地址
下载完毕,将压缩包中的 rclone.exe解压到 C:\Windows\System32文件夹下,这样可以在cmd中直接使用rclone命令。

打开cmd命令,输入:
rclone authorize "onedrive"此时浏览器会弹出 OneDrive 授权页面,授权完成后将得到下方的一串access_token,保存好,备用。
3. 配置Rclone回到ssh管理界面,输入以下命令:#执行rclone config 配置 OneDrive
rclone config
rclone config 命令回显
此处输入 n,代表的是新建一个连接配置。接下来会让你输入一个配置的名字,输入完毕后,会让你选择OneDrive对应的数字编码:OneDrive对应编码
因为Rclone也是随时更新支持平台的,在输入数字的时候一定要看一下,我安装的时候OneDrive对应的数字是 23。接下来会提示要求输入 client_id、client_secret、Edit advanced config ,这三个配置直接回车就可以,默认都是不配置。当命令提示要求输入 Use auto config的时候,这里记的要输入 n 开始配置OneDrive。当命令提示要求输入 result的时候,我们将第二步中获得的 access_token完整的粘贴输入OneDrive对应数字后回显元素
access_token填充完毕后会要求你选择OneDrive类型,此处我是个人版的,输入1。剩余配置
接下来是确认信息的环节,没有错误的话回车即可,直到要求退出环节,输入q就安装配置完毕了。
4. 挂载OneDrive到本地重点:如果你在宝塔上安装NextCloud的站点开通了 防跨站攻击的选项,我们在挂载OneDrive的时候就需要将OneDrive挂载到NextCloud站点的目录下面,不然你在NextCloud中填写路径的时候会报错!!在挂载OneDrive之前我们需要先安装NextCloud,安装过程我就不写了。由于我宝塔中的NextCloud站点的 防跨站攻击选项我没有关闭,所以我将OneDrive挂载到了NextCloud站点的子目录下,见下方命令:mkdir /www/wwwroot/网站目录/onedrive #建立onedrive挂载目录
#挂载命令1(如果你是按照我的教程写的配置)
rclone mount onedrive: /网站目录/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
#挂载命令2(如果你是自定义的配置)
rclone mount 服务名:/远程路径 /本地路径 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
回车后 SSH 会停留在当前命令,如果一切正确无误,不会出现报错。接下来到宝塔首页中你会看到我们挂载成功的一个5G容量的磁盘。挂载OneDrive成功
5. 设置Rclone开机自启并自动挂载OneDrive由于 rclone 仅能在前台运行,SSH 断掉就失效了,此处我们需要建立一个rclone的服务并让其开机自启:vi /usr/lib/systemd/system/rclone.service将以下代码复制到 rclone.service中
Description=rclone
   

User=root
ExecStart=/usr/bin/rclone mount onedrive: /www/wwwroot/网站目录/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
Restart=on-abort
   

WantedBy=multi-user.target退出vi并保存:按 esc按钮,输入 :wq回车。分别在ssh中执行下方1、2行代码。systemctl daemon-reload #加载新的unit 配置文件
systemctl start rclone.service #启动rclone服务
systemctl enable rclone.service #停止rclone服务到此安装挂载结束。

汗水成就梦想 发表于 2021-4-12 21:31:13

看到这帖子真是高兴【东篱雅苑】就是这么666!!

秦山令 发表于 2021-4-12 22:55:06

真是被感动的痛哭流涕……

言身寸 发表于 2021-4-13 00:01:16

感恩无私的分享与奉献 :)       

赌怪 发表于 2021-4-13 07:37:13

激动人心,无法言表!

董燕 发表于 2021-4-13 13:35:31

淡定,淡定,淡定……

吾侯 发表于 2021-4-13 13:36:31

淡定,淡定,淡定……

工厂直招 发表于 2021-4-13 13:36:40

看到这帖子真是高兴【东篱雅苑】就是这么666!!

亚邦系列 发表于 2021-4-13 13:38:49

看到这帖子真是高兴【东篱雅苑】就是这么666!!

雨夜追风 发表于 2021-4-13 19:26:55

激动人心,无法言表!
页: [1] 2 3 4
查看完整版本: 宝塔nextcloud挂载onedrive教程