NextCloud 挂载 OSS 对象存储
ossfs 能让您在Linux系统中把 OSS bucket 挂载到本地文件系统中,您能够便捷地通过本地文件系统操作 OSS 上的对象,实现数据的共享。
使用华为云 OSS
参考由华为云官方提供的教程:https://bbs.huaweicloud.com/forum/thread-1001-1-1.html
使用腾讯云 COS
参考由腾讯云官方提供的教程:https://cloud.tencent.com/document/product/436/6883
使用阿里云 OSS
参考由阿里云官方提供的教程:https://help.aliyun.com/document_detail/32196.html
Nextcloud 挂载 OSS 实例(以 CentOS7 挂载阿里云 OSS 为例进行说明)
下载安装 ossfs
- 输入命令:
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.5_centos7.0_x86_64.rpm?spm=a2c4g.11186623.2.13.5a0373588eFamy&file=ossfs_1.80.5_centos7.0_x86_64.rpm
下载ossfs - 输入命令:
yum install -y ossfs_1.80.5_centos7.0_x86_64.rpm
安装ossfs
- 输入命令:
获取OSS-Bucket名称以及access-key-id和access-key-secret
access-key-id和access-key-secret在阿里云右上角的用户头像-->accesskeys内获取
设置 bucket name 和 AccessKeyId/Secret 信息,将其存放在/etc/passwd-ossfs 文件中,注意这个文件的权限必须正确设置为 640。
# 修改bucket-name/access-key-id/access-key-secret echo bucket-name:access-key-id:access-key-secret > /etc/passwd-ossfs # 设置文件权限 chmod 640 /etc/passwd-ossfs
挂载OSS(NextCloud安装完成/未安装)
NextCloud安装完成(数据存放目录和数据已存在)/先安装后挂载
默认情况下nextcloud的数据存放目录在程序根目录下的data文件夹内,目录为
/data/wwwroot/default/nextcloud/data
移动该目录下所有文件到其他空白路径内,命令如下:
# 先停止Apache systemctl stop httpd # 进入nextcloud数据存放目录 cd /data/wwwroot/default/nextcloud/data # 移动改目录下所有文件到/opt目录下 mv * .[^.]* /opt
挂载oss到
/data/wwwroot/default/nextcloud/data
# 修改bucket-name和-ourl后面的访问域名 # ourl网址获取在阿里云控制台-->对象存储OSS--->选择自己创建bucket-->概览-->访问域名(然后根据自己ECS的网络类型选择经典网络/专有网络)--EndPoint(选择内网的地址) ossfs bucket-name /data/wwwroot/default/nextcloud/data -ourl=oss-cn-beijing-internal.aliyuncs.com -ouid=48 -ogid=48 -oumask=007 -o allow_other
查看oss是否挂载成功
# 查看oss是否挂载成功 df -lh
将文件移动回
data
目录,命令如下:# 进入 /opt 目录 cd /opt # 移动目录下所有文件到 data 目录下 mv * .[^.]* /data/wwwroot/default/nextcloud/data # 启动 Apache systemctl start httpd
打开浏览器测试数据是否存在nextcloud是否正常运行,文件是否可以正常预览等
NextCloud未安装(数据存放目录和数据已不存在)/先挂载再安装
先进入nextcloud根目录创建一个data目录,命令如下:
# 进入nextclodu目录 cd /data/wwwroot/default/nextcloud # 创建data文件夹 mkdir data # 修改权限 chown apache: -R *
挂载oss到
/data/wwwroot/default/nextcloud/data
# 修改bucket-name和-ourl后面的访问域名 # ourl网址获取在阿里云控制台-->对象存储OSS--->选择自己创建bucket-->概览-->访问域名(然后根据自己ECS的网络类型选择经典网络/专有网络)--EndPoint(选择内网的地址) ossfs bucket-name /data/wwwroot/default/nextcloud/data -ourl=oss-cn-beijing-internal.aliyuncs.com -ouid=48 -ogid=48 -oumask=007 -o allow_other
查看oss是否成功/检查nextcloud是否正常
# 查看oss是否挂载成功 df -lh
设置OSS开机自动挂载(适用于 CentOS7 及以上的系统)
在/etc/init.d/目录下建立文件ossfs,把以下内容拷贝到这个新文件中。并将其中的your_xxx内容改成您自己的信息。
#! /bin/bash # # ossfs Automount Aliyun OSS Bucket in the specified direcotry. # # chkconfig: 2345 90 10 # description: Activates/Deactivates ossfs configured to start at boot time. ossfs your_bucket your_mountpoint -ourl=your_url -oallow_other
执行命令:
chmod a+x /etc/init.d/ossfs
chkconfig ossfs on
重启服务器测试oss是否开机挂载,使用以下命令查看是否挂载成功,若成功则会显示类似如图所示的结果
df -lh