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