当前位置: 首页 > article >正文

OnlyOffice 全面指南:从基础使用到深度自定义

目录
  1. 基础概念
  2. 安装与启动
  3. 常见配置错误与运行报错解决方案
  4. 深度自定义指南
  5. 总结与资源推荐

一、基础概念

1.1 OnlyOffice 是什么?

OnlyOffice 是一款开源的办公套件,提供文档处理、电子表格、幻灯片编辑等功能,支持实时协作和云端存储集成。其核心组件包括:

  • Document Server:负责文档渲染与协作的核心服务。
  • Integration Example:与Nextcloud、OwnCloud等平台集成的示例代码库。
  • 前端编辑器:基于Web的WYSIWYG编辑器界面。
1.2 核心功能特性

实时协作(多人同时编辑)
版本历史与恢复
支持Office格式(DOCX, XLSX, PPTX)及ODF
跨平台兼容性(Windows/Linux/macOS)

二、基础使用文档

2.1 安装与启动

Docker部署(推荐)

docker run -i -t -d -p 9898:80 --name onlyoffice --restart=always -e TZ="Asia/Shanghai" \
-v /usr/local/onlyoffice/logs:/var/log/onlyoffice \
-v /usr/local/onlyoffice/data:/var/www/onlyoffice/Data \
-v /usr/local/onlyoffice/lib:/var/lib/onlyoffice \
-v /usr/local/onlyoffice/db:/var/lib/postgresql \
-e JWT_ENABLED=false onlyoffice/documentserver:latest

如果需要开启jwt验证,则使用下面的命令

docker run -i -t -d -p 9898:80 --name onlyoffice --restart=always -e TZ="Asia/Shanghai" \
-v /usr/local/onlyoffice/logs:/var/log/onlyoffice \
-v /usr/local/onlyoffice/data:/var/www/onlyoffice/Data \
-v /usr/local/onlyoffice/lib:/var/lib/onlyoffice \
-v /usr/local/onlyoffice/db:/var/lib/postgresql \
-e JWT_ENABLED=true \
-e JWT_SECRET=wclflow \
-e JWT_HEADER=token \
onlyoffice/documentserver:latest

检查是否安装成功,访问web页面(如果访问不了,查看是否防火墙问题)

http://容器所在主机IP:9898/welcome/

在这里插入图片描述
出现上图,则表示onlyoffice服务安装成功

关键目录说明

  • /var/log/onlyoffice:日志文件存放位置
  • /var/www/onlyoffice/Data:文档存储与配置文件

前端页面配置:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 此处的ip,我onlyoffice所在的机器ip是192.168.7.46,你要改成你自己的服务IP -->
    <script src="http://192.168.7.46:9898/web-apps/apps/api/documents/api.js"></script>
</head>
<body style="margin:0px;padding:0px;">
    <div id="placeholder" class = "nav" style="width:100%;height:100%;min-height:900px;"></div>
</body>
<script>
    new DocsAPI.DocEditor("placeholder", {
        "document": {
            "fileType": "docx", //文件类型,我用的docx文件,你可以根据需要改其他格式等
            "key": "12qNAFE", //文件key,确保唯一就行,这里的key跟多人协同编辑有关
            "title": "aaa测试.docx", //文件名称
            "url": "http://192.168.2.67:8888/group1/M00/03/38/wKgCQ2aGTaCAMYg8AAAoaT_K4_U80.docx" //文件地址,你可以根据需要改其他地址,前提是本地或外网能够访问的到
        },
 
        "documentType": "word",//文件类型,上面的fileType进行对应匹配
        "type": "desktop",
        "width": "100%",
        "height": "900px",
        "editorConfig": {
            "callbackUrl": ""  // 修改保存后回调地址
        },
        "permissions": {
            "edit": false,  // 可编辑
            "comment": true, // 可评论
            "download": true, // 可下载
            "fillForms": true, // 
            "print": true, // 可打印
            "review": true // 可预览
        },
        "token":"如果你开启了jwt验证,则这里必须填写jwttoken,jwttoken最好由后台提供,后台具体怎么生成jwttoken,百度一下"
    });
</script>
</html>

三、常见配置错误与解决方案

3.1 端口冲突问题

错误现象:

Address already in use 或无法启动服务
解决方案:

# 查找占用端口的进程
sudo lsof -i :80

# 修改OnlyOffice端口
编辑 /etc/onlyoffice/documentserver/local.json
{
  "server": {
    "port": 8080  # 改为空闲端口
  }
}

3.2 存储权限问题

错误日志:

Error: EACCES: permission denied, mkdir ‘/var/www/onlyoffice/Data’
修复步骤:

sudo chown -R onlyoffice:onlyoffice /var/www/onlyoffice/Data
sudo chmod -R 755 /var/www/onlyoffice
3.3 SSL证书配置错误

典型报错:

SEC_ERROR_UNKNOWN_ISSUER 或页面加载不完全

正确配置方法:

{
  "server": {
    "https": {
      "cert": "/path/to/fullchain.pem",
      "key": "/path/to/privkey.pem"
    }
  }
}

重启服务后执行:

sudo supervisorctl restart all

四、深度自定义指南

4.1 界面主题定制

修改CSS文件实现主题换肤:

css
/* /var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/styles/colors.css /
:root {
–color-primary: #2ecc71; /
修改主色调 */
–header-background: #34495e;
}

4.2 插件开发
  1. 创建插件目录结构:
myplugin/
├── config.json
├── index.html
└── code.js
  1. 示例 config.json:
{
  "name": "WordCounter",
  "guid": "asc.{FFE1F462-1EA2-4396-BF25-7DA4F64C535D}",
  "basePath": "/myplugin/",
  "initData": {"url": "code.js"}
}
4.3 Webhook集成

配置实时通知(以Node.js示例):

app.post('/webhook', (req, res) => {
  const { event, data } = req.body;
  if (event === 'document.changed') {
    console.log(`文档 ${data.key} 被修改`);
  }
  res.status(200).end();
});

!!!➡ 部署后引入onlyoffice后常见错误


http://www.kler.cn/a/536584.html

相关文章:

  • 路由器如何进行数据包转发?
  • 流媒体技术原理
  • 数据结构:顺序表
  • 【字节青训营-7】:初探 Kitex 字节微服务框架(使用ETCD进行服务注册与发现)
  • 个人笔记---关于详解threadlocal 上下文环境存储的最佳数据类型
  • 低代码提升交付效率的公式计算
  • postgreSQL16.6源码安装
  • unity学习29:摄像机camera相关skybox 和 Render Texture测试效果
  • IDEA启动项目慢问题处理
  • 详解代理模式
  • VSCode便捷开发
  • JS逆向案例-ali231补环境 - 14
  • 日本游戏机市场5年来首次陷入萎缩;特斯拉招人推进人形机器人量产;任天堂专利显示Switch2手柄可用作鼠标...| 游戏智眼日报
  • AWS SMS短信通知实战:使用 Pinpoint SMS Voice V2 完整指南
  • MFC 应用最小化到系统托盘
  • NetCore Consul动态伸缩+Ocelot 网关 缓存 自定义缓存 + 限流、熔断、超时 等服务治理
  • 如何轻松将Matlab生成的图表嵌入PowerPoint演示文稿
  • 23、深入理解 Java Stream:高效处理数据的利器
  • 什么是高光谱成像相机?
  • .NET周刊【1月第3期 2025-01-19】
  • 网站改HTTPS方法
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-downloads.py
  • PHP云调查考试问卷系统小程序
  • C++开发(软件开发)常见面试题
  • 【QT】控件 -- 多元素类 | 容器类 | 布局类
  • 日志级别修改不慎引发的一场CPU灾难