Java小强个人技术博客站点    手机版
当前位置: 首页 >> 开源 >> OnlyOffice安装-破解

OnlyOffice安装-破解

280 开源 | 2026-1-31

ONLYOFFICE是由 Ascensio System SIA 推出的一款功能强大的在线协作办公套件,包括文档(Word)、电子表格(Excel),演示文稿(PowerPoint)和表单(Forms)编辑器,并且在最新的7.5版本中,还添加了PDF编辑器,都在同一个软件。在7.1版本以上,ONLYOFFICE还可以免费把PDF转Word。

不仅提供了 桌面、移动端应用,还支持 集成/内嵌 到 第三方系统 内部(内嵌示例)。

ONLYOFFICE Docs.jpg


官网:https://www.onlyoffice.com/ 

开源地址:https://github.com/ONLYOFFICE 


正如上篇文字所说,社区版有一个很大的限制就是,只能20人同时在线使用

如果你要解除这个限制,要么多节点搞集群,要么付费,或者国内正常操作,破解。

但是这套软件的破解,绝对不是说它是开源的,你就能直接破解的。

但是,有人去做这件事,Docker仓库中就有人分享了这么一个镜像,而且它还是跟着主版本实时更新的,地址:

https://hub.docker.com/r/thomisus/onlyoffice-documentserver-unlimited 

截止发稿时2026年1月31日,版本为: Version: 9.2.1.1。


那我直接拉取安装是不是就可以了,当然不可以,不然你直接去搜去得了我还废什么话。


首先是拉取这个镜像

# 拉取最新版
docker pull thomisus/onlyoffice-documentserver-unlimited
# 拉取指定版本
docker pull thomisus/onlyoffice-documentserver-unlimited:9.2.1

然后跑起来一个容器,这里把容器内的80端口映射为了主机的22331端口

sudo docker run -i -t -d -p 22331:80 \
  -e ONLYOFFICE_HTTPS_HSTS_ENABLED=false \
  --name my_onlyoffice \
  thomisus/onlyoffice-documentserver-unlimited:latest

跑起来后,默认会挂载这些数据卷

数据卷 容器目录

/var/lib/docker/volumes/docker_id/_data /usr/share/fonts/truetype/custom

/var/lib/docker/volumes/docker_id/_data /var/lib/onlyoffice

/var/lib/docker/volumes/docker_id/_data /var/lib/postgresql

/var/lib/docker/volumes/docker_id/_data /var/lib/rabbitmq

/var/lib/docker/volumes/docker_id/_data /var/lib/redis

/var/lib/docker/volumes/docker_id/_data /var/log/onlyoffice

/var/lib/docker/volumes/docker_id/_data/var/www/onlyoffice/Data


默认安装后,其容器内部只启动了主服务,我们要进去,把所有服务都启动起来

# 进入容器
docker exec -it 9c8b27b40c8c /bin/bash
# 启动核心服务
sudo service supervisor start
# 启动软件各个模块
supervisorctl restart all
# 查看启动状态
supervisorctl status

然后你会看到如下模块已经启动

ds:adminpanel                    RUNNING   pid 112129, uptime 1:47:55
ds:converter                     RUNNING   pid 112126, uptime 1:47:55
ds:docservice                    RUNNING   pid 112125, uptime 1:47:55
ds:example                       RUNNING   pid 112128, uptime 1:47:55
ds:metrics                       RUNNING   pid 112127, uptime 1:47:55


这个时候,你仍然无法访问,因为Nginx没有启动,原因是这个镜像做的时候,Nginx里面使用了一个cache_tag模块,但是实际Nginx没有安装

下面我们来解决这个问题,首先是在容器内安装编辑工具

sudo apt update
sudo apt install vim -y

查看是那个文件使用了这个模块

cd /etc/nginx
# 查询文件中有cache_tag的
grep -R "cache_tag" . -n

然后会看到,/etc/nginx/includes/ds-docservice.conf 第6行,使用了$cache_tag变量

然后把那段配置改为

location ~ ^(?<cache>\/web-apps\/apps\/(?!api\/documents\/api\.js$).*)$ {
    set $cache_tag "";  # 定义一个空值,保留下面配置结构不变
    return 302 $the_scheme://$the_host$the_prefix/9.2.1-$cache_tag$cache$is_args$args;
}

然后再启动nginx

sudo service nginx start   # 启动
sudo service nginx stop    # 停止
sudo service nginx status  # 查看状态


如果你不知道这个容器的JWT秘钥是什么,直接在宿主机执行

sudo docker exec 9c8b27b40c8c /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'


剩下的操作,参考:OnlyOffice安装-官方镜像


延伸一点,我们直接写一个HTML来验证服务是否可用,当然其实你可以直接使用那个example,我这不是闲的吗,不想看到这就结束了。


写一个HTML页面

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>OnlyOffice 编辑测试</title>
    <!-- 引入 OnlyOffice 提供的 API JS -->
    <script type="text/javascript" src="http://IP:22331/web-apps/apps/api/documents/api.js"></script>
    <style>
        html, body { height: 100%; margin: 0; }
        #placeholder { height: 100%; width: 100%; }
    </style>
</head>
<body>
    <div id="placeholder"></div>
    <script type="text/javascript">
        // 注意:在正式生产环境,JWT Token 必须由后端生成
        // 这里仅用于快速验证连接性
        window.docEditor = new DocsAPI.DocEditor("placeholder", {
            "document": {
                "fileType": "docx",
                "key": "test_file_",
                "title": "测试文档.docx",
                "url": "http://fileServerIp/需求规格说明书.docx"
            },
            "documentType": "word",
            "editorConfig": {
                "lang": "zh-CN",
                "mode": "edit"
            },
            // 填写您的 JWT 密钥(需确保服务器开启了 JWT 校验)
            "token": "" // 如果服务器开启了强制 JWT,需由后端根据密钥生成 Token 填入此处
        });
    </script>
</body>
</html>

注意了,这里需要配置的token,不是JWT秘钥,不是上篇说的启动日志中的token,是需要拿着JWT秘钥去生成的。JWT秘钥刚才说了怎么获取。

然后访问:https://www.jwt.io/ 

OnlyOffice在线生成token.png

重点是payload内容,Payload:填入你 HTML 代码中 new DocsAPI.DocEditor 的整个配置对象(包含 document 等)。

然后把生成的token写入到刚才html的token中处,打开这个html

onlyoffice测试页面.png

说明服务是可用的。

推荐您阅读更多有关于“ Docker OnlyOffice 秘钥 办公 office 破解 限制 ”的文章

下一篇:OnlyOffice安装-官方镜像

猜你喜欢

发表评论: