OnlyOffice配置minio文件存储

OnlyOffice配置minio文件存储

一、部署minio测试环境

拉取minio镜像

  为了快速验证,此处使用docker安装部署minio服务。先拉取minio最新版镜像资源。

-bash-4.2# docker pull minio/minio:latest
-bash-4.2# docker images | grep minio
minio/minio                      latest              e31e0721a96b        2 years ago         406MB

配置启动配置

  提前创建好目录,在目录中创建configdata目录用于容器内挂载外部文件夹。

-bash-4.2# pwd
/opt/tools/minio
-bash-4.2# ll
总用量 4
drwxr-xr-x. 3 root root  19 413 09:35 config
drwxr-xr-x. 5 root root  50 413 11:30 data
-rw-r--r--. 1 root root 418 47 11:32 docker-compose.yaml

  创建并配置docker-compose.yaml文件,用于配置minio容器启动的相关配置,其中9000端口是控制台(默认管理员:账号:admin,密码:1qaz@WSX3edc),9090端口是API服务访问。

version: "2"
services:minio:image: minio/minio:latestcontainer_name: minioports:- "9000:9000"- "9090:9090"volumes:- "/opt/tools/minio/data:/data"- "/opt/tools/minio/config:/root/.minio"environment:MINIO_ROOT_USER: "admin"MINIO_ROOT_PASSWORD: "1qaz@WSX3edc" command: server /data --console-address ":9000" -address ":9090" restart: always

启动minio服务

  配置docker-compose.yaml之后,在docker-compose.yaml同级目录中执行docker-compose up -d命令启动容器。

-bash-4.2# docker-compose up -d
Recreating minio ... done
-bash-4.2# docker ps | grep minio
91498cf332b6        minio/minio:latest            "/usr/bin/docker-ent…"   13 seconds ago      Up 12 seconds       0.0.0.0:9000->9000/tcp, 0.0.0.0:9090->9090/tcp                                                                minio

  启动minio服务后,访问minio控制台,http://192.168.95.131:9000192.168.95.131为测试机IP),如下图可正常登录访问,则minio服务已正常启动。
minio控制台登录页
minio管理员默认仪表盘

二、创建用户和桶并绑定操作权限

  新部署的环境目前没有用户和桶,需要新创建桶和新创建用户(※创建桶和用户目的是为了用户和桶进行操作绑定,用于不同用户之间的操作隔离。此处不是必须,此处可略过,可直接使用管理员账号创建桶和秘钥进行文件操作)。

创建桶

  此处创建一个名为test的桶(默认就是私有的,无特殊情况无需修改)。
创建桶1
创建桶2
创建桶3

创建桶操作权限

  由于minio默认的操作权限不是指定桶的(权限比较大),此处创建一个权限用于限制用户的操作,使用户只能操作test这个桶。
创建权限1
创建权限2
创建权限3
  配置内容如下,其中版本不要修改。

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": ["s3:GetBucketLocation","s3:GetObject"],"Resource": ["arn:aws:s3:::test"]},{"Effect": "Allow","Action": ["s3:*"],"Resource": ["arn:aws:s3:::test/*"]}]
}

创建用户并绑定权限

  创建用户的时候只需要配置上之前创建的test权限即可。注意当前用户只是控制台的操作用户还不能用于开发测试。
创建用户1
创建用户2
创建用户3

创建用户秘钥

  因为创建了新的用户账号,所以秘钥就不通过默认管理员创建了,此处切换新建的用户登录。
新用户登录1
新用户登录2
创建秘钥1
创建秘钥2
创建秘钥3
创建秘钥4
  秘钥详情如下,至此测试准备内容完成。

{"console": [{"access_key": "YDZXGAREEE0FWVGJLPC8","secret_key": "mVCw1twNhkl80ILKjooL+uIXuM3VancHMMjGtVUw"}]
}

  此处简单的验证下minio的连接访问,为了简便此处使用Node.js环境进行测试。注意安装相关依赖npm install aws-sdk(使用aws-sdk v2版本的原因,是因为配合测试的onlyoffice版本是7.3.3默认用的就是v2版本)。

//引用aws-sdk
const aws = require('aws-sdk');
//配置 minio或s3
const config = {region: "us-east-1",endpoint: "http://192.168.95.131:9090",accessKeyId: "YDZXGAREEE0FWVGJLPC8",//access_keysecretAccessKey: "mVCw1twNhkl80ILKjooL+uIXuM3VancHMMjGtVUw",//secret_keys3ForcePathStyle: true
}
//加载配置信息
aws.config.update(config)
//创建客户端
const s3Client = new aws.S3()
//配置服务地址
s3Client.endpoint = new aws.Endpoint(config.endpoint);
//查看test桶根目录的文件,最多不超过10个文件
s3Client.listObjects({Bucket: 'test', MaxKeys: 10, Delimiter: '/',}, (err, data) => {console.log(data)
})

  查看执行结果,测试连接成功,test桶中没有任何文件,可证明minio测试环境没有问题。

"D:\Program Files\nodejs\node.exe" "D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" test --scripts-prepend-node-path=auto> test3@1.0.0 test
> node aws/v2_test.js(node:31360) NOTE: The AWS SDK for JavaScript (v2) will enter maintenance mode
on September 8, 2024 and reach end-of-support on September 8, 2025.Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check blog post at https://a.co/cUPnyil
(Use `node --trace-warnings ...` to show where the warning was created)
{IsTruncated: false,Marker: '',Contents: [],Name: 'test',Prefix: '',Delimiter: '/',MaxKeys: 10,CommonPrefixes: []
}Process finished with exit code 0

三、修改OnlyOffice配置文件并重启

  修改development-linux.json配置文件,修改其中storage节点的相关配置(默认是本地存储,只需要替换掉默认的配置即可),此处请参考onlyoffice官方文档AWS S3配置说明。
配置修改
  配置详细信息如下(注意minio服务端口是9090,不要跟控制台9000端口搞混)。当服务重启后onlyoffice将会把文件保存到minio文件服务中test桶的files文件夹中。

{"storage": {"name": "storage-s3","region": "us-east-1","endpoint": "http://192.168.95.131:9090","bucketName": "test","storageFolderName": "files","urlExpires": 604800,"accessKeyId": "YDZXGAREEE0FWVGJLPC8","secretAccessKey": "mVCw1twNhkl80ILKjooL+uIXuM3VancHMMjGtVUw","useRequestToGetUrl": true,"useSignedUrl": true,"sslEnabled": false,"s3ForcePathStyle": true}
}

  接下来重启onlyoffice服务(此处使用docker图形化工具Portainer偷个懒)。
重启onlyoffice

四、验证切换minio存储是否生效

  首先启动官方示例Node.js工程。访问http://127.0.0.1:3000(由于本机运行所以此处使用127.0.0.1),此处截图提前先切换了语言为中文。
官方示例1
  接下来新建个文档看看,文件是否保存到了minio中,为了效果看着好点,这里就选了excel。
官方示例2
官方示例3
  注意重点不是这个文档,而是onlyoffice服务是否将文件存储到了minio文件服务中,接下来使用minio控制台查看下test桶中的文件信息。
验证1
验证2

备注

  因为onlyoffice本身就支持aws s3,而minio本身又兼容aws s3。所以才会使用minio来做文件存储,目前onlyoffice仅支持本地存储和aws s3存储。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业业务系统与呼叫中心话务系统的无缝对接实现方案

在当今的商业环境中,企业的业务系统与呼叫中心话务系统的对接显得尤为重要。这种对接不仅提高了企业的运营效率,还增强了客户服务的体验。本文将探讨如何实现企业业务系统与呼叫中心话务系统的无缝对接,并分析其带来的好处。 一、对接的必要性…

用html写一个有趣的鬼魂动画

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>一个有趣的鬼魂动画</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.m…

2024第十五届蓝桥杯 JAVA B组

目录 前言&#xff1a;试题 A: 报数游戏试题 B: 类斐波那契循环数试题C:分布式队列 前言&#xff1a; 没参加这次蓝桥杯算法赛&#xff0c;十四届蓝桥杯被狂虐&#xff0c;对算法又爱又恨&#xff0c;爱我会做的题&#xff0c;痛恨我连题都读不懂的题&#x1f62d;,十四届填空只…

如何在Linux系统部署Joplin笔记并结合内网穿透实现无公网IP远程访问

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具&#xff0c;拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能&#xff0c;…

简单粗暴解决 wampapache 突然无法启动错误1053

问题是因为没有安装:vc_redist_x64 导致的 全网最简单粗暴解决下 DirectX_v4.1修复

芯来科技、IAR和MachineWare携手加速符合ASIL标准RISC-V汽车芯片创新

支持软件开发团队在虚拟硬件平台上进行固件和MCAL开发 芯来科技&#xff08;Nuclei&#xff09;、IAR和MachineWare紧密合作&#xff0c;加速RISC-V ASIL合规汽车解决方案的创新。此次合作简化了汽车电子的固件和MCAL开发&#xff0c;提供了虚拟和物理硬件平台之间的无缝集成。…

SQL单表查询(2)

对查询结果排序 ◆使用ORDER BY子句 – 可以按一个或多个属性列排序 – 升序&#xff1a;ASC&#xff1b;降序&#xff1a;DESC&#xff1b;缺省值为升序 ◆ 当排序列含空值时 – ASC&#xff1a;排序列为空值的元组最后显示 – DESC&#xff1a;排序列为空值的元组最先显…

护眼台灯哪个牌子好?护眼灯十大品牌推荐,绝对真香!

对于有孩子的家庭&#xff0c;特别是阅读爱好者&#xff0c;晚上阅读时的光线问题至关重要。昏暗环境长时间阅读&#xff0c;会严重伤害孩子的眼睛。因此&#xff0c;选择一款合适的护眼台灯显得尤为重要。但市场上品牌众多&#xff0c;护眼台灯哪个牌子好?这往往让人难以抉择…

Linux 5.10 Pstore 学习之(二) 原理学习

目录 编译框架模块初始化pstore子系统ramoops模块初始化实例化注册回调数据结构 pstore_blk模块pstore_zone模块 测试扩展调试 编译框架 目标结构 linux_5.10/fs/pstore/ ├── blk.c ├── ftrace.c ├── inode.c // 核心1 ├── internal.h ├── Kconfig ├── …

(四)C++自制植物大战僵尸游戏启动流程

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/ErelL 一、启动方式 鼠标左键单机VS2022上方工具栏中绿色三角按钮&#xff08;本地Windows调试器&#xff09;进行项目启动。第一次启动项目需要编译项目中所有代码文件&#xff0c;编译生成需要一定的时间。不同性能的电…

CentOS7使用Docker搭建Joplin Server并实现多端同步与公网使用本地笔记

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具&#xff0c;拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能&#xff0c;…

基于springboot实现常州地方旅游管理系统项目【项目源码+论文说明】

基于springboot实现旅游管理系统演示 摘要 随着旅游业的迅速发展&#xff0c;传统的旅游信息查询方式&#xff0c;已经无法满足用户需求&#xff0c;因此&#xff0c;结合计算机技术的优势和普及&#xff0c;针对常州旅游&#xff0c;特开发了本基于Bootstrap的常州地方旅游管…

内存卡乱码?别担心,这里有你的数据恢复秘籍!

一、乱码困扰&#xff1a;内存卡数据成迷团 在数字化时代&#xff0c;内存卡作为我们存储数据的重要工具&#xff0c;承载着大量的照片、视频、文档等重要信息。然而&#xff0c;当有一天我们插上内存卡&#xff0c;发现原本井井有条的文件变成了乱码&#xff0c;那种焦虑和无…

5.Godot节点和功能及Node节点属性分析

1. 节点和功能的关系 节点 Node &#xff0c;用于实现一种功能&#xff0c;例如&#xff0c;Sprite 节点&#xff0c;用于图片的显示一个节点的功能取决于它挂载了哪些子节点&#xff0c;它包含了哪些功能的子节点&#xff0c;就包含了对应子节点表示的功能节点是可选的&#…

在个人电脑上,本地部署llama2-7b大模型

文章目录 前言原理效果实现 前言 我想也许很多人都想有一个本地的ai大语言模型,当然如果能够摆脱比如openai,goole,baidu设定的语言规则,可以打破交流界限,自由交谈隐私之类的,突破规则,同时因为部署在本地也不担心被其他人知道,那最好不过了 那究竟有没有这样的模型呢? llam…

怎么修改图片大小?在线图片处理的方法介绍

在日常生活中&#xff0c;我们经常需要调整图片大小以适应不同的网络上传要求。不管是微信、QQ换头像背景图片&#xff0c;还是各种社交媒体相册&#xff0c;都需要对图片改大小&#xff0c;今天就介绍几个关于修改图片大小的方法&#xff0c;可以不用下载安装就能在线图片处理…

WIFI详解及周边拓展

一、WiFi协议简介 WiFi协议&#xff0c;也称为无线保真技术&#xff0c;是一种允许电子设备通过无线方式在局域网&#xff08;WLAN&#xff09;和互联网上进行通信的技术标准。WiFi协议是基于IEEE 802标准的子系列标准协议&#xff0c;由电气和电子工程师协会制定。随着移动设备…

Docker篇(一)— Docker介绍

目录 什么是Docker应用部署的环境问题Docker解决依赖兼容问题Docker解决操作系统环境差异 小结 什么是Docker 微服务虽然具备各种各样的优势&#xff0c;但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中&#xff0c;依赖的组件非常多&#xff0c;不同组件之间部署时往…

Java多线程的线程状态和线程池参数

一、线程状态 当线程被创建并启动以后&#xff0c;它既不是一启动就进入了执行状态&#xff0c;也不是一直处于执行状态。线程对象在不同的时期有不同的状态。Java中的线程状态被定义在了java.lang.Thread.State枚举类中&#xff0c;State枚举类的源码如下&#xff1a; publi…

ZL-099动物行为学视频分析系统

简单介绍&#xff1a; 动物行为学视频分析系统是一套通过视频摄像机和计算机&#xff0c;采用图像处理技术&#xff0c;自动跟踪和记录动物活动的通用型运动轨迹记录分析系统&#xff0c;可以应用在神经药理&#xff0c;学习记忆药理&#xff0c;药理和新药神经系统一般药理毒理…