docker搭建onlyoffice及使用

打印 上一主题 下一主题

主题 686|帖子 686|积分 2058

centos8.5安装docker


  • 安装
yum install -y docker


  • 检测 Docker 是否安装乐成
yum list installed | grep docker


  • 设置开机自启
systemctl enable docker


  • 启动
systemctl start docker


  • 查看版本
docker -v

docker安装onlyoffice


  • 拉取镜像pull OnlyOffice,建议指定版本号,其他版本在项目中大概碰到问题。
  1. sudo docker pull onlyoffice/documentserver:7.3
复制代码

  • 运行
将本机的9000端口映射到docker的80端口上,访问时通过服务器ip:9000访问,并且用 -v 将本机机==/home/onlyOffice==文件夹挂载到docker的 /var/www/onlyoffice/documentserver/web-apps/wsData文件下,后续直接通过http请求读取对应的文件夹。JWT_SECRET填写自己定义的密钥,JWT_ENABLED设置为true开启token验证。
方式一:指定密钥和开启token
docker run -i -t -d -p 9000:80 -v /home/myOnlyOffice:/var/www/onlyoffice/documentserver/web-apps/wsData --env JWT_SECRET=VI71S3cGtXg96HgFWzQhblz1KwMc1Jzk -e JWT_ENABLED=true onlyoffice/documentserver:7.3

方式二:
docker run -i -t -d -p 9000:80 -v /home/myOnlyOffice:/var/www/onlyoffice/documentserver/web-apps/wsData onlyoffice/documentserver:7.3
推荐方式一,方式二大概出现重启服务后设置文件重置导致无法设置secret密钥的情况。


  • 测试OnlyOffice服务
访问网址:http://172.17.0.1:9000/example/,需要以IP加端口方式访问,不能用localhost访问。


  • 实行以下下令
根据http://172.17.0.1:9000页面上的提示,实行以下下令
sudo docker exec 856d790c064b sudo supervisorctl start ds:example
sudo docker exec 856d790c064b sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf


  • 若提示文档不能被保存,则关闭防火墙后重启docker,然后启动onlyoffice即可。


  • 若提示安全令牌不正确,则使用以下下令检查secret密钥是否设置:
sudo docker exec 856d790c064b /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
如果设置了则会表现密钥。


  • 查看OnlyOffice版本号




参考文档:
Docker安装实践(超简朴) + 安装OnlyOffice_onlyoffice docker-CSDN博客
linux安装natapp映射工具

在当地电脑安装虚拟机,在虚拟机上安装centos后。由于当地电脑暂时不能毗连网线只能毗连wifi,尝试了各种网络适配器的毗连方式,当地电脑均不能毗连虚拟机上的linux(当地电脑和虚拟机上的linux不在同一个网段),但是虚拟机上的linux可以ping通当地电脑和外网IP,所以通过natapp外网映射工具作为中间桥梁让当地电脑毗连到虚拟机上的IP和端口用来测试onlyOffice。natapp的部署流程如下:

  • 注册natapp并设置ip和端口;
  • 在官网NATAPP-内网穿透 基于ngrok的国内高速内网映射工具下载linux版的客户端,将客户端文件(natapp)放在/download目次下;
  • 给该客户端文件授权可实行的权限:chmod u+x natapp ;
  • 实行下令启动客户端:./natapp -authtoken=XXXX
  • 启动后,控制台会表现天生的外网地点,通过外网访问该地点即可访问到该linux的IP和设置的端口。
启动:/download目次下实行:./natapp -authtoken=32f063241bc276d1

安装字体和修改字号

安装字体:


  • 准备字体文件


  • 复制c:\windows\fonts文件夹中想要安装的字体,如“仿宋 常规”




  • 粘贴到新建的“仿宋 常规”文件夹中




  • 使用FontCreator软件制作字体
点击File->Open打开字体文件(ttf格式,如果是ttc格式,按照软件提示点击下一步将文件转成ttf格式后重新进行本步骤打开对应的ttf文件即可),点击Font->roperties,修改FontFamily为字体名称,点击ok;
点击File->Export Font as->Export Desktop Font(ttf/otf),保存字体文件为ttf格式,导出文件如下图所示:





  • 使用Xftp将存放导出字体的fonts文件夹上传到“/home/fonts”目次下


  • 进入OnlyOffice容器
  1. docker exec -it 856d790c064b /bin/bash
复制代码


  • 删除容器下的原有字体,留意:若不需要删除原有字体则不实行本步骤
  1. cd /usr/share/fonts/
  2. rm -rf *
  3. cd /var/www/onlyoffice/documentserver/core-fonts/
  4. rm -rf *
复制代码


  • 退出容器
  1. exit
复制代码


  • 在容器外面将字体复制到容器中,留意:文件夹一定要是“fonts”,需要覆盖容器下的“fonts文件夹。


  1. sudo docker cp /home/fonts 856d790c064b:/usr/share
复制代码


  • 进入容器
  1. docker exec -it 856d790c064b /bin/bash
复制代码


  • 实行以下下令更新AllFonts.js文件
  1. cd /usr/bin
  2. ./documentserver-generate-allfonts.sh
复制代码


  • 打扫浏览器缓存后即可看到安装的字体




修改字号:


  • 将容器中的app.js复制到根目次
  1. docker cp 856d790c064b:/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js ./
复制代码


  • 使用Xftp传输到当地后打开,把以下内容复制到{value:8,displayValue:"8"}前面,共3处:
  1. {value:42,displayValue:"初号"},{value:36,displayValue:"小初"},{value:26,displayValue:"一号"},{value:24,displayValue:"小一"},{value:22,displayValue:"二号"},{value:18,displayValue:"小二"},{value:16,displayValue:"三号"},{value:15,displayValue:"小三"},{value:14,displayValue:"四号"},{value:12,displayValue:"小四"},{value:10.5,displayValue:"五号"},{value:9,displayValue:"小五"},{value:7.5,displayValue:"六号"},{value:6.5,displayValue:"小六"},{value:5.5,displayValue:"七号"},{value:5,displayValue:"八号"},
复制代码


  • 将修改后的app.js文件覆盖到容器中:
  1. docker cp /app.js 856d790c064b:/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js
复制代码


  • 重启容器
docker restart 856d790c064b


  • 打扫浏览器缓存后即可看到安装的字号




常见问题:

问题:启动项目后打开文件的时间提示token is not correctly

处理:
onlyoffice服务搭建过程中未添加自定义密钥,则会自动天生随机密钥。要获取默认密钥,请运行以下下令:
  1. sudo docker exec 856d790c064b /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
复制代码
将获取到的密钥设置到项目中的application.properties文件:files.docservice.secret=6JLcrUAHV8SSMsk6fTG5iH0HwfMx8iau1
启动项目后打开文件的时间提示文件无法保存,请检查毗连或联系管理员

处理:启动项目后,访问项目时不要使用127.0.0.1大概localhost,应使用IP地点访问如:http://172.16.1.111:9001


其他问题

若需要重新设置密钥,则按如下教程进行:

将设置文件复制到设定目次
  1. sudo docker cp 856d790c064b:/etc/onlyoffice/documentserver/local.json /home/myOnlyOffice
复制代码

修改设置文件后覆盖到文档目次
  1. sudo docker cp /home/myOnlyOffice/local.json  856d790c064b:/etc/onlyoffice/documentserver/
复制代码

进入容器
  1. docker exec -it 856d790c064b /bin/bash
复制代码
查看设置文件
  1. cat /etc/onlyoffice/documentserver/local.json
复制代码
为 OnlyOffice 设置密钥(JWT令牌) - ROYWANG

windows杀掉端口

查看端标语对应的历程号:
netstat -ano | findstr 8080

杀掉历程:
taskkill /f /pid 28808

springboot整合OnlyOffice

项目地点:
https://gitee.com/yinqi2030/JavaSpringOnlyOffice.git
在JavaSpringOnlyOffice\src\main\resources\application.properties文件中需设置的参数如下:
files.storage=E:\\yqfiles
server.port=9001
files.docservice.url.site=http://xabs7i.natappfree.cc/ #onlyoffice服务地点
files.docservice.secret=6JLcrUAHV8SSMsk6fTG5iH0HwfMx8iau #secret密钥
启动项目访问:http://ip:9001/即可对在线文档进行操作了

VUE组件封装方式调用onlyoffice服务

vue3脚手架搭建及运行的流程


  • 安装nodejs
  • 安装淘宝镜像:npm config set registry https://registry.npm.taobao.org
  • 如果之前安装了2.0的脚手架,需要把它卸载掉,在控制台实行npm uninstall vue-cli -g 进行全局卸载
  • 实行下令 npm install @vue/cli -g 下载vue3的脚手架
  • 实行vue create 你的项目名称(留意不要有大写字母)
  • 在项目路径下实行下令安装依赖:npm install
  • 启动项目:npm run serve
  • 启动如果报错ERROR Error: @vitejs/plugin-vue requires vue (>=3.2.13) or @vue/compiler-sfc to be present in the dependency tree. 则将vue升级到最新可用版本,在项目路径下:npm i vue@3.2.26
  • 重新启动项目:npm run serve
运行onlyoffice官方给的整合VUE的案例


  • 从 GitHub 存储库克隆项目:git clone GitHub - ONLYOFFICE/document-editor-vue: Vue component for ONLYOFFICE Document Server
  • 更改 config/default.json 文件中文档服务器的地点:"documentServerUrl": "http://documentserver/";
  • 安装react:npm i react react-dom -D
  • 使用以下下令天生Storybook:npm run build-storybook
  • 启动Storybook:npm run storybook
  • 访问项目:http://localhost:6006/

常见问题

springboot整合onlyOffice后,无法打开在线文档,无法编辑保存在线文档:
因为linux体系关闭了防火墙导致的,开启防火墙后正常。
参考以下两个资料
https://www.cnblogs.com/WangJianqiu/p/17373887.html
启动vue报错 vue (>=3.2.13) or @vue/compiler-sfc_lijun_xiao2009的博客-CSDN博客

Win10体系中的docker安装OnlyOffice

安装docker


  • win10安装docker,条件必须是要安装WSL2。
现在Docker Desktop默认使用WSL 2来运行,而不是以前的Hyper-V。
WSL2 全称是Windows Subsystem on Linux。意思是,在win10,可以直接启动一个Linux。因为docker依赖Linux内核。


  • 下载 Linux 内核更新包
适用于 x64 计算机的 WSL2 Linux 内核更新包
点击下载最新的更新包,下好后双击运行安装即可。


  • 打开体系虚拟机平台和WSL
控制面板->程序->启用或关闭Windows功能




选中这两个。如果提示重新启动电脑的就重启。

  • 通过 管理员身份 运行Windows PowerShell,将WSL2设置为默认版本
wsl --set-default-version 2


  • 去docker官网下载 ,桌面版docker, 下好后直接双击运行安装即可
Docker: Accelerated, Containerized Application Development




  • 打开Docker Desktop
打开后如果弹出如下错误,则更新WSL
wsl --update


重新打开后正常启动。


  • 设置国内加速镜像
点击“settings-->Docker Engine”,在最外层的“{}”中添加逗号后,将如下内容粘贴到大括号里面
  1.   "registry-mirrors": [
  2.     "https://bd7n7e9w.mirror.aliyuncs.com",
  3.     "http://docker.mirrors.ustc.edu.cn"
  4.   ]
复制代码




  • 查看信息
查看版本:docker version
查看详细信息:docker info




  • 更改数据存储位置
Windows版本(Windows 10)WSL 2 版本 docker 默认程序安装到c盘,数据存放于 C:\Users\当前用户名\AppData\Local\Docker\wsl\data\ext4.vhdx 如许会导致docker使用量上去C盘的空间越来越大。为了解决这个问题将数据部分移动到其他盘。


  • 停止docker
点击如下按钮退出


关闭全部发行版
wsl --shutdown

打开cmd窗口。查看停止情况,看state是否为stop
wsl --list -v





  • 备份导出现在已有的数据
wsl --export docker-desktop-data "E:\soft\dockerFile\docker-desktop-data.tar"



  • 删除原有数据
wsl --unregister docker-desktop-data



  • 导入数据到新盘
创建目次存放docker的数据,如“E:\soft\dockerFile\data”目次
wsl --import docker-desktop-data "E:\soft\dockerFile\data" "E:\soft\dockerFile\docker-desktop-data.tar" --version 2





  • 重新启动docker




docker安装OnlyOffice


  • 拉取镜像pull OnlyOffice,建议指定版本号,其他版本在项目中大概碰到问题。
  1. docker pull onlyoffice/documentserver:7.3
复制代码


  • 运行容器
指定secret,并开启JET校验:
docker run -i -t -d -p 9800:80 --restart=always -e JWT_SECRET=VI71S3cGtXg96HgFWzQhblz1KwMc1Jzk -e JWT_ENABLED=true onlyoffice/documentserver:7.3



  • 实行下令
打开网页http://IP:9800/,实行网页中的以下两条下令后即安装乐成。








免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表