# （接上期）ONLYOFFICE搭建过程

* 抖音：<https://v.douyin.com/iRaJjoJ6/>
* B站：<https://www.bilibili.com/video/BV1M8411k7Rb/>

> 源码：
>
> <https://github.com/sunzsh/onlyoffice-serverdemo>

然后呢这里边包含很多版本嘛

我们就选这个Docker比较简单

这里边就是一个文档

大家照着这个文档做就行了

其实前面这个域名我没有设

我就直接把它做安装了

推荐大家用这个

这里在配置了几个目录镜像的同时

大家注意两个地方

一个是JWT的密钥一会会用到

另一个是这个主机的端口号

如果你修改了不用

后边在访问的时候会有一点问题

一会我会讲到哈

安装好直接启动就可以访问了哈

用你修改后的这个端口号就可以访问

但是注意这块

其实如果你修改了端口号不是

那你就不能用127.0.0.1或者localhost

为什么呢

大家看啊这下边有一个demo嘛

你就是创建一个demo

然后在这进入这个demo

我已经创建好了啊

然后注意我现在是用127.0.

用localhost的也是一样效果哈

我们来创建一个文档注意

大家看他总是报这个错

他说连接不上

原因就是我们用了127.0.0.1:

但是当你打开文档的时候

他会读取这个路径

然后在他服务内部会调用这个请求

就会找不到这个路径

因为你在Docker里嘛

所以这块一定要用这个

本机的内网IP

我们用一下啊

这是我内网IP

这回我们再来看

大家看他就没有什么问题了

到此呢

我们这个私有化的服务就部署好了

接下来怎么把它

嵌入到我们自己的项目或者网页里呢

就是我们刚装好Docker

启动的这个页面啊

这里边有一个

API的链接我们点进去就在这里

大家看先准备一个div容器

然后呢嵌入这个JS

这个就是我们刚才Docker装的那个IP

加端口就可以了

没有HTTPS就去掉s

然后用这个类库钮一个DockEditor

把这个ID传进去

最后呢传一个config

注意啊这个config是要签名的

正常来说我们在使用的时候为了安全

这个签名一定要在服务端做

就是要用到我们刚才说的JWT TOKEN了

然后把签过名的生成好的这个config

传给我们前端

前端来调这个DocEditor

但是呢大家也不用担心啊

他关于后端的服务的例子他这也都有

有Python的PHP的还有NoteJs加瓦都有

我这里边下了一个NodeJs版本的哈

在这里

然后呢他下载了需要修改几个配置

大家注意这个siteUrl

它官网文档里都有

但是大家一定要注意这个siteUrl

最后这个斜杠一定要有

没有的话

最后访问的时候

无缘无故的就会报错

然后他这个例子

其实连前端（HTML）代码都带了

其实我不需要

我只需要他帮我生成（签名）这个config

那个配置包括签名

所以呢我把他代码简单修改了一下

做了一个这个请求支持跨域请求的

然后直接帮我返回TOKEN（口误，返回带有token的config）

但是注意啊

他这个实例的项目

默认没有开启这个JWT加密

就是这个TOKEN enable要给它改成true

然后这块secret改成我们刚才

创建Docker的时候配的

那个密钥哦

这样的话呢

我们启动这个项目我已经启动了哈

然后呢

我们去另外一个纯的HTML Demo里边

大家注意我们在这

把刚才这个JS类库引进来

然后呢

大家注意这块就是刚才文档里写的

new一个DocEditor对吧

然后config config哪来呢

我们用ajax请求

请求刚才这个链接

大家看一下我直接请求这个链接

就是这个config的内容哈

这就是做的加密

然后我们来看下效果哈

这是word

就是这个

大家看就是那个word

而且呢它的功能也是齐全的

包括这块还能装插件

还有我们可以直接把它转换成

比如说PDF

我们下载一个PDF

嗯大家看这就是下载好的PDF

或者我们直接把它转成图片

下载为PNG

它压缩了

大家看这是下载的图片

那另外两个例子也都是一样的

只不过嵌入了PPT和Excel

它们功能也是齐全的

包括我们可以直接把它下载成PPT

大家看

这样的话就下载成PPT了

最后呢老规矩

我还是会把这个Demo的代码打包

放到GitHub上


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sunzsh.gitbook.io/xiaoshan.bug/jie-shang-qi-onlyoffice-da-jian-guo-cheng.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
