本文演示如何在本地部署免费的`Microsoft Office`文档协作工作平台,功能类似于“`Microsoft Office Online`”、“腾讯文档”等在线文档协作编辑平台。虽然部署类似平台的方案有多种,但是本文介绍的方法兼顾以下特征: * 本地部署,保护私有数据。 * 离线安装。 * 多人协作,达到多人同时编辑和浏览同一个文档的目的。 * 按用户控制文档访问权限。 * 免费。 # 1. 环境及软件版本 服务器使用虚拟机,`DzzOffice`和`OnlyOffice`部署在虚拟机中。 * 操作系统:Windows Server 2019 Datacenter,X64,内存:8GB,IP:192.168.4.222 * 为了简化配置过程,建议先关闭操作系统的防火墙。待部署完成后再启用防火墙。 * `OnlyOffice`版本:社区版 7.2 * `DzzOffice`版本:社区版 V2.3.3 * PHP:8.4.6 * MySQL:社区版 8.4 # 2. 操作系统及工具 ## 2.1 操作系统 操作系统的安装不再赘述。操作系统需要满足以下条件: * `Windows Server 2016`或更高版本。 * 启用`Windows IIS`功能。 * 安装`VC++`运行时库(`Microsoft Visual C++ 2015-2022 Redistributable (x64)`)。见参考文献[1]。 ## 2.2 安装VC++运行时库 从参考文献[1]下载`VC++`运行时库,该版本适用于`VC++ 2015-2022`。 ![image](../../../ff_internal_upload/img/2025/image-20250507090753326.png) ## 2.3 PHP `DzzOffice`需要支持Web服务支持PHP,因此需要为IIS安装和配置PHP。 从参考文献[2]下载适用于Windows的PHP,下图所示,有两个版本可选择: * `Non Thread Safe`(非线程安全) * `Thread Safe`(线程安全) 建议使用`Thread Safe`版本。 ![image](../../../ff_internal_upload/img/2025/image-20250506141826174.png) 下载后解压缩zip包,假设解压后放在目录: `C:\php-8.4.6` 此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> Path,增加PHP路径,下图所示: ![image](../../../ff_internal_upload/img/2025/image-20250506175329444.png) 进入PHP目录,将`php.ini-production`文件复制并改名为`php.ini`。`php.ini`是PHP的配置文件,修改`php.ini`以满足`DzzOffice`要求,修改后的配置项包括: ``` extension_dir = "ext" extension=curl extension=mysqli extension=zip ``` 这些修改是必不可少的,否则后续`DzzOffice`安装将无法进行。 ## 2.4 IIS配置PHP cgi 假设您已经启用了`Windows IIS`服务。本节将配置IIS,以支持PHP。 计算机管理 -> Internat Information Service(IIS)管理器 -> 处理程序映射 -> 添加模块映射,按下图填写以添加`PHP cgi`支持。这样IIS就知道如何处理PHP文件了。 ![image](../../../ff_internal_upload/img/2025/image-20250506180054081.png) 计算机管理 -> Internat Information Service(IIS)管理器 -> 默认文档 -> 添加,将`index.php`添加为默认文档。 ![image](../../../ff_internal_upload/img/2025/image-20250507084600600.png) ## 2.5 MySQL `DzzOffice`还需要`MySQL`作为后台数据库,因此,需要在安装`DzzOffice`之前先安装和启动`MySQL`服务。 从参考文献[3]下载`MySQL`,本文选择社区版8.4版本。 ![image](../../../ff_internal_upload/img/2025/image-20250507085255665.png) 执行`mysql-8.4.5-winx64.msi`按照向导安装`MySQL`,端口默认为`5432`,如无特殊需求可暂不修改。安装成功的确认方法: * Windows服务中可以看到名称为`MySQL84`的服务。 * 任务管理器中可以看到`mysqld.exe`进程正在运行。 # 3. OnlyOffice ## 3.1 安装 `OnlyOffice`有多个版本,本文使用社区版。下载地址见参考文献[4]。 ![image](../../../ff_internal_upload/img/2025/image-20250430172816558.png) 下载后的安装文件名为:`onlyoffice-documentserver.exe`。以管理员身份执行安装程序,先按照提示默认安装就行,可以在安装完成后再按照需求修改配置。参考文献[5]是官方的安装指导,可参阅。 本文示例`OnlyOffice`安装目录为: `C:\Program Files\ONLYOFFICE\DocumentServer` ## 3.2 修改端口 `OnlyOffice`使用nginx作为Web服务,默认端口为80。为了避免与IIS默认端口冲突,下面将nginx端口修改为8088。 修改nginx配置文件(`C:\Program Files\ONLYOFFICE\DocumentServer\nginx\conf\ds.conf`),将`listen`中的`80`修改为`8088`。 ```conf include includes/http-common.conf; server { listen 0.0.0.0:8088; listen [::]:8088 default_server; server_tokens off; ..... ``` 重启nginx服务,如果您不知道如何重启nginx服务,那么直接重启Windows即可。 ## 3.3 启动OnlyOffice服务 完成上述操作后,从浏览器访问以下地址: http://192.168.4.222:8088 如果能够看到以下页面,表示`OnlyOffice`的Web服务已正常。按照页面提示启动`OnlyOffice`集成服务,以便第三方程序可以调用`OnlyOffice`接口服务。 ![image](../../../ff_internal_upload/img/2025/image-20250430174200349.png) 按照提示,使用`Windows cmd`执行命令: ```bat net start DsExampleSvc sc.exe config DsExampleSvc start=auto ``` 1. 第1条命令是启动`OnlyOffice`接口服务。 2. 第2条命令是为了开机自动启动`OnlyOffice`接口服务。 验证`OnlyOffice`服务是否正常: 点击以上页面中的“`GO TO TEST EXAMPLE`”按钮可以看到以下页面,表明`OnlyOffice`服务正常,可以尝试上传Office文档,并编辑或浏览。`OnlyOffice`只是一个编辑工具,没有提供用户管理功能,因此,下文将安装`DzzOffice`,用于与`OnlyOffice`结合实现按用户管理Office文档。 ![image](../../../ff_internal_upload/img/2025/image-20250508085555946.png) ## 3.4 查看密钥 打开`OnlyOffice`配置文件: `C:\Program Files\ONLYOFFICE\DocumentServer\config\local.json` 找到`"services"."secret". "session"."string"`项,记录下来,后续安装`DzzOffice`的插件时将会用到。 ![image](../../../ff_internal_upload/img/2025/image-20250509090629697.png) # 4. DzzOffice 从官网(参考文献[6])下载`DzzOffice`,建议选择“本站下载”。 ![image](../../../ff_internal_upload/img/2025/image-20250507091520471.png) 下载后解压缩`dzzoffice.zip`文件到IIS网站“物理路径”下。本文假设IIS物理路径为:`C:\www`,`DzzOffice`解压缩目标路径为:`C:\www\dzzoffice`。接下来安装`DzzOffice`。 在浏览器中输入: http://192.168.4.222/dzzoffice/ 自动进入安装初始化页面: ![image](../../../ff_internal_upload/img/2025/image-20250508090341104.png) 点击“开始安装”按钮,进入“检查安装环境”页面,确保所有项目自检结果都通过。上述各种配置也是为了本步骤顺利通过自检,如果有未通过的项,请按提示修改配置。 ![image](../../../ff_internal_upload/img/2025/image-20250508090753054.png) 点击“下一步”进入“设置运行环境”页面,其中“站点名称”和“管理员密码”需要填写,其它可以按照需要修改或者使用默认值。 ![image](../../../ff_internal_upload/img/2025/image-20250508091211980.png) 点击“下一步”继续安装,等待安装完成。 # 5. 安装插件 截止到目前,以上安装的`DzzOffice`只能算是个网盘,还无法编辑和浏览Office文件,我们还需要为`DzzOffice`安装两个关键插件。 安装应用方法有多种,本文假设本系统无法访问公网,因此以下采用离线安装插件方法。 ## 5.1 下载插件 通过参考文献[6]的“应用市场”搜索“onlyoffice”,结果如下图所示,注意我们仅需要后面两个插件: - onlyoffice编辑 - onlyoffice浏览 ![image](../../../ff_internal_upload/img/2025/image-20250508180221435.png) 下面以安装“onlyoffice编辑”插件为例,其它插件方法相同。 ## 5.2 放置插件 从以上“应用市场”下载插件,文件名为`xh_onlyoffice.zip`,解压缩到`DzzOffice`目录下,如下图所示。注意文件夹位置: `C:\www\dzzoffice\dzz\xh_onlyoffice\` 将`C:\www\dzzoffice\dzz\xh_onlyoffice\dzz_app_xh_onlyoffice.xml`配置文件放置到浏览器可以访问到的地方。 ![image](../../../ff_internal_upload/img/2025/image-20250508175619087.png) ## 5.3 应用管理 用admin账户进入`DzzOffice`管理后台,选择“应用市场” -> “应用管理”,如下图所示。 ![image](../../../ff_internal_upload/img/2025/image-20250508175128657.png) ## 5.4 导入应用 选择“导入应用”按钮,“选择导入方式”选择“上传文件”。 “上传数据文件”选择第5.2章节中的`dzz_app_xh_onlyoffice.xml`文件,点击“提交”。 ![image](../../../ff_internal_upload/img/2025/image-20250508175221380.png) ## 5.5 服务器配置 然后,再次进入“应用管理”页面(见第5.3章节),点击“onlyoffice编辑”插件的“设置”按钮,进入“服务器配置”页面。 这个页面配置很重要,本示例填写值如下图所示。 - OnlyOffice服务地址:填写OnlyOffice的Web地址,注意端口。不得以“/”结尾。 - DzzOffice服务地址:一定要填写完整的地址,并且是完整地址,必须以“/”结尾。 - 密钥:填写第3.4章节中获取到的密钥。 - 再下面的项建议不要填写。 配置后,可以使用“检测服务器”检查配置是否正确。 ![image](../../../ff_internal_upload/img/2025/image-20250508175400669.png) 支持“onlyoffice编辑”插件安装完成。按照相同方法继续安装“onlyoffice浏览”插件,不再赘述。 至此,本地化部署文档协作工作平台完成。 # 6. 注意事项 - `DzzOffice`插件的“服务器插配置”(第5.5章节) 非常重要,这里最容易出错,一定要确保OnlyOffice和DzzOffice两个服务地址可以相互访问。有时候地址填写错误,“检测服务器”也可能会检测通过,但是系统却不能正常工作。例如,在本例中,如果“DzzOffice服务地址”填写http://192.168.4.222/,检测可以通过,但是当尝试编辑或浏览Office文档时,会返回“**文件下载失败**”错误。 - Windows防火墙的影响 本文第1章为了简化配置,建议先禁用Windows防火墙,主要是因为本系统需要通过多个端口例如:Web服务端口(80和8088)、数据库服务端口(5432)、以及其它网络组件服务端口。Windows防火墙可能会禁用相关端口访问,导致莫名奇妙的错误。 **注意本建议仅限本示例,生产环境应该按照需求制定防火墙规则**。 # 参考文献 1. Visual C++ Redistributable for Visual Studio 2015 [EB/OL]. https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 2. PHP For Windows [EB/OL]. https://windows.php.net/download#php-8.4 3. MySQL Community Downloads [EB/OL]. https://dev.mysql.com/downloads/mysql/ 4. Download Community versions of ONLYOFFICE products [EB/OL]. https://www.onlyoffice.com/download-community.aspx 5. Installing ONLYOFFICE Docs for Windows on a local server [EB/OL]. https://helpcenter.onlyoffice.com/docs/installation/docs-community-install-windows.aspx 6. DzzOffice [EB/OL]. https://dzzoffice.com/