NextCloud——结合rclone打造个人私有云存储

Torrk 2020-09-13
362

0x00 系统环境

  • 系统:CentOS 7.4 64位

  • 挂载云盘:GoogleDrive

  • 已经成功安装了nextcloud,如果你还没有,这篇文章介绍了如何安装nextcloud

  • 文章地址:https://conimi.com/archives/69

0x01 下载rclone并配置

  • 官网地址: https://rclone.org/downloads/

  1. 下载rclone

wget https://downloads.rclone.org/v1.45/rclone-v1.45-linux-amd64.zip
  1. 解压到 /opt/
     目录下 ,目录必须存在

unzip rclone-v1.45-linux-amd64.zip -d /opt/
  1. 运行配置文件

先进入 /opt/rclone-v1.45-linux-amd64/
 目录,运行rclone

cd /opt/rclone-v1.45-linux-amd64/
./rclone config
  1. 选择新建 remote
     :输入n



  1. 输入名字(随便取):GoogleDrive

  2. 选择 12
    ,(注意:不同版本的rclone序号可能不一样,请仔细辨别)



  1. 接下来几项都是默认,直接回车即可



  1. 接下来两项都选择 n



  1. 将生成的链接复制到浏览器中打开,使用Google账号登录,点击允许,然后会生成一串代码,复制后输入命令行,回车


  2. 是否team drive? 选择 n



  1. 最后两项



0x02 挂载


挂载Google Drive 到服务器上,用法:rclone mount remote:path /path/to/mountpoint [flags]


/opt/rclone-v1.45-linux-amd64/./rclone mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

说明

DriveName
是第二步中填写的 name

Folder
 是指谷歌云盘里的文件夹,如果需要将整个谷歌云盘挂载,填 /

LocalFolder
为服务器上的本地文件夹,为了避免麻烦,这个文件夹最好放在NextCloud 的用户数据文件夹data下,否则,还需要修改用户组和权限,甚至可能在nextcloud网页端无法挂载成功


特别注意:我最开始的数据目录路径为:/home/wwwroot/cloud.conimi.com/data/
 在 /home/wwwroot/cloud.conimi.com/data/
 目录下创建一个文件夹,用于存放rclone挂载的GoogleDrive,并给权限


mkdir /home/wwwroot/cloud.conimi.com/data/MyCloud
chmod 777 /home/wwwroot/cloud.conimi.com/data/MyCloud

我的挂载命令为:

/opt/rclone-v1.45-linux-amd64/./rclone mount GoogleDrive:/  /home/wwwroot/cloud.conimi.com/data/MyCloud --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000


如果出现类似的错误:Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found in $PATH
,安装fuse即可

yum install fuse
  • 如果没有出现错误信息的话,就是挂载成功了,可以新开一个窗口,输 df -h
     查看挂载情况

0x03 nextcloud增加外部存储


  • 在配置的外部存储里面添加一个本地存储

①允许用户挂载外部存储勾上


②配置填的创建的 LocalFolderl路径


③如果前面出现上图所示绿色,表示挂载成功,否则请再仔细检查LocalFolder的路径

0x04 开机自动挂载(CentOS)


在 /usr/lib/systemd/system/
 目录下创建一个 rclone-mount.service

touch /usr/lib/systemd/system/rclone-mount.service

内容如下,根据实际情况修改


[Unit]
Description=rclone

[Service]
Environment='REMOTE_PATH=GoogleDrive:/'
#GoogleDrive:/ 表示 name:云盘文件夹路径,斜杠 / 表示将整个云盘挂载到本地,注意冒号


Environment='LOCAL_PATH=/home/wwwroot/cloud.conimi.com/data/MyCloud/'
#挂载到服务器本地的路径


Type=simple
User=root
ExecStart=/opt/rclone-v1.45-linux-amd64/./rclone mount ${REMOTE_PATH} ${LOCAL_PATH} --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
ExecStop=fusermount -qzu ${LOCAL_PATH}
Restart=on-failure

[Install]
WantedBy=multi-user.target


设置开机自启


systemctl enable rclone-mount.service


0x05 参考资料


  • 在Debian/Ubuntu上使用rclone挂载Google Drive网盘:https://www.moerats.com/archives/481/

  • nextcloud如何挂载本地目录?:https://www.zhihu.com/question/267841887

  • 使用rclone开机自动挂载谷歌云盘Google drive:https://lab.bnxb.com/zhishi/27538.html


文章转载自Torrk,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论