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

0x00 系统环境

  • 系统:CentOS 7.4 64位
  • 挂载云盘:GoogleDrive
  • 已经成功安装了nextcloud,如果你还没有,这篇文章介绍了如何安装nextcloud
  • 文章地址:https://nico.cc/archives/69/

0x01 下载rclone并配置

1.下载rclone

   wget https://downloads.rclone.org/v1.45/rclone-v1.45-linux-amd64.zip

2.解压到 /opt/ 目录下 ,目录必须存在

   unzip rclone-v1.45-linux-amd64.zip -d /opt/

3.运行配置文件

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

   cd /opt/rclone-v1.45-linux-amd64/
   ./rclone config

4.选择新建 remote :输入n

nextcloud-new-remote

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

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

nextcloud-select-GoogleDrive

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

nextcloud-select-default-1 nextcloud-select-default-2

8.接下来两项都选择 n

nextcloud-advanced-auto-config

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

10.是否team drive? 选择 n

nextcloud-select-team-drive

11.最后两项

nextcloud-rc-end-select

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.920.ai/data//home/wwwroot/cloud.920.ai/data/ 目录下创建一个文件夹,用于存放rclone挂载的GoogleDrive,并给权限

   mkdir /home/wwwroot/cloud.920.ai/data/MyCloud
   chmod 777 /home/wwwroot/cloud.920.ai/data/MyCloud

我的挂载命令为:

   /opt/rclone-v1.45-linux-amd64/./rclone mount GoogleDrive:/  /home/wwwroot/cloud.920.ai/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增加外部存储

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

nextcloud-External-storage

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

②配置填的创建的 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.920.ai/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

参考资料

2019-12-15 03:01:00