前言
之前安装Cloudreve时,直接将OSS的外网endpoint作为上传策略,导致额外的流量费用。后来我在Cloudreve的仪表盘中更改为内网endpoint,结果就是上传文件出现http错误。上论坛发现原来根本就是不支持内网上传的。
所以我选择将OSS挂载到一个文件夹,在Cloudreve中选择该文件夹作为本地存储策略。
环境
CentOS 8
Cloudreve需部署于阿里云服务器,否则无法内网连接
一、安装ossfs
1.下载安装包
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
2.安装
sudo yum localinstall ossfs_1.80.6_centos7.0_x86_64.rpm
3.配置账号信息
echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
my-bucket
为你在阿里云OSS控制台中创建的bucket名称,后面两项为可以访问OSS的AccessKey账号密码
二、挂载OSS
在你的Cloudreve工作目录中创建一个用于挂载的文件夹
mkdir oss(名称随意)
将Bucket挂载到指定目录
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint
my-mount-point
为刚刚创建的挂载文件夹
my-oss-endpoint
选择OSS的内网endpoint
查看是否挂载成功
df -h
三、设置自动开启
vim /etc/init.d/ossfs
写入以下内容,my_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 my_bucket my_mount_point -ourl=my_url -oallow_other
保存后
chmod a+x /etc/init.d/ossfs
chkconfig ossfs on
四、Cloudreve设置上传策略
选择本机存储,存储目录改为创建的用于挂载的文件夹即可
遇到的问题
错误提示是libcrypto.so.10
缺失
解决方法
dnf install compat-openssl10
查看是否解决
ldd /usr/local/bin/ossfs
参考资料
快速安装_ossfs_常用工具_对象存储 OSS - 阿里云
阿里云ECS服务器扩容,挂载OSS对象存储到ECS实例上作为网络共享磁盘使用
centOS缺少libcrypto.so.10文件
解决 OSSFS 安装错误 ossfs: /lib64/libcrypto.so.10: version `libcrypto.so.10’ not found (required by ossfs)
查看本文的最新版本请访问
https://nuture.group/archives/cloudreve%E4%BD%BF%E7%94%A8%E5%86%85%E7%BD%91%E8%BF%9E%E6%8E%A5%E9%98%BF%E9%87%8C%E4%BA%91oss