本文演示如何在本地部署免费的Microsoft Office
文档协作工作平台,功能类似于“Microsoft Office Online
”、“腾讯文档”等在线文档协作编辑平台。虽然部署类似平台的方案有多种,但是本文介绍的方法兼顾以下特征:
服务器使用虚拟机,DzzOffice
和OnlyOffice
部署在虚拟机中。
OnlyOffice
版本:社区版 7.2DzzOffice
版本:社区版 V2.3.3操作系统的安装不再赘述。操作系统需要满足以下条件:
Windows Server 2016
或更高版本。Windows IIS
功能。VC++
运行时库(Microsoft Visual C++ 2015-2022 Redistributable (x64)
)。见参考文献[1]。
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
安装将无法进行。
假设您已经启用了Windows IIS
服务。本节将配置IIS,以支持PHP。
计算机管理 → Internat Information Service(IIS)管理器 → 处理程序映射 → 添加模块映射,按下图填写以添加PHP cgi
支持。这样IIS就知道如何处理PHP文件了。
计算机管理 → Internat Information Service(IIS)管理器 → 默认文档 → 添加,将index.php
添加为默认文档。
DzzOffice
还需要MySQL
作为后台数据库,因此,需要在安装DzzOffice
之前先安装和启动MySQL
服务。
从参考文献[3]下载MySQL
,本文选择社区版8.4版本。
执行mysql-8.4.5-winx64.msi
按照向导安装MySQL
,端口默认为5432
,如无特殊需求可暂不修改。安装成功的确认方法:
MySQL84
的服务。mysqld.exe
进程正在运行。
OnlyOffice
有多个版本,本文使用社区版。下载地址见参考文献[4]。
下载后的安装文件名为:onlyoffice-documentserver.exe
。以管理员身份执行安装程序,先按照提示默认安装就行,可以在安装完成后再按照需求修改配置。参考文献[5]是官方的安装指导,可参阅。
本文示例OnlyOffice
安装目录为:
C:\Program Files\ONLYOFFICE\DocumentServer
OnlyOffice
使用nginx作为Web服务,默认端口为80。为了避免与IIS默认端口冲突,下面将nginx端口修改为8088。
修改nginx配置文件(C:\Program Files\ONLYOFFICE\DocumentServer\nginx\conf\ds.conf
),将listen
中的80
修改为8088
。
include includes/http-common.conf; server { listen 0.0.0.0:8088; listen [::]:8088 default_server; server_tokens off; .....
重启nginx服务,如果您不知道如何重启nginx服务,那么直接重启Windows即可。
完成上述操作后,从浏览器访问以下地址:
如果能够看到以下页面,表示OnlyOffice
的Web服务已正常。按照页面提示启动OnlyOffice
集成服务,以便第三方程序可以调用OnlyOffice
接口服务。
按照提示,使用Windows cmd
执行命令:
net start DsExampleSvc sc.exe config DsExampleSvc start=auto
OnlyOffice
接口服务。
OnlyOffice
接口服务。
验证OnlyOffice
服务是否正常:
点击以上页面中的“GO TO TEST EXAMPLE
”按钮可以看到以下页面,表明OnlyOffice
服务正常,可以尝试上传Office文档,并编辑或浏览。OnlyOffice
只是一个编辑工具,没有提供用户管理功能,因此,下文将安装DzzOffice
,用于与OnlyOffice
结合实现按用户管理Office文档。
打开OnlyOffice
配置文件:
C:\Program Files\ONLYOFFICE\DocumentServer\config\local.json
找到"services"."secret". "session"."string"
项,记录下来,后续安装DzzOffice
的插件时将会用到。
从官网(参考文献[6])下载DzzOffice
,建议选择“本站下载”。
下载后解压缩dzzoffice.zip
文件到IIS网站“物理路径”下。本文假设IIS物理路径为:C:\www
,DzzOffice
解压缩目标路径为:C:\www\dzzoffice
。接下来安装DzzOffice
。
在浏览器中输入:
http://192.168.4.222/dzzoffice/
自动进入安装初始化页面:
点击“开始安装”按钮,进入“检查安装环境”页面,确保所有项目自检结果都通过。上述各种配置也是为了本步骤顺利通过自检,如果有未通过的项,请按提示修改配置。
点击“下一步”进入“设置运行环境”页面,其中“站点名称”和“管理员密码”需要填写,其它可以按照需要修改或者使用默认值。
点击“下一步”继续安装,等待安装完成。
截止到目前,以上安装的DzzOffice
只能算是个网盘,还无法编辑和浏览Office文件,我们还需要为DzzOffice
安装两个关键插件。
安装应用方法有多种,本文假设本系统无法访问公网,因此以下采用离线安装插件方法。
通过参考文献[6]的“应用市场”搜索“onlyoffice”,结果如下图所示,注意我们仅需要后面两个插件:
下面以安装“onlyoffice编辑”插件为例,其它插件方法相同。
从以上“应用市场”下载插件,文件名为xh_onlyoffice.zip
,解压缩到DzzOffice
目录下,如下图所示。注意文件夹位置:
C:\www\dzzoffice\dzz\xh_onlyoffice\
将C:\www\dzzoffice\dzz\xh_onlyoffice\dzz_app_xh_onlyoffice.xml
配置文件放置到浏览器可以访问到的地方。
然后,再次进入“应用管理”页面(见第5.3章节),点击“onlyoffice编辑”插件的“设置”按钮,进入“服务器配置”页面。
这个页面配置很重要,本示例填写值如下图所示。
配置后,可以使用“检测服务器”检查配置是否正确。
支持“onlyoffice编辑”插件安装完成。按照相同方法继续安装“onlyoffice浏览”插件,不再赘述。
至此,本地化部署文档协作工作平台完成。
DzzOffice
插件的“服务器插配置”(第5.5章节)非常重要,这里最容易出错,一定要确保OnlyOffice和DzzOffice两个服务地址可以相互访问。有时候地址填写错误,“检测服务器”也可能会检测通过,但是系统却不能正常工作。例如,在本例中,如果“DzzOffice服务地址”填写http://192.168.4.222/,检测可以通过,但是当尝试编辑或浏览Office文档时,会返回“文件下载失败”错误。
本文第1章为了简化配置,建议先禁用Windows防火墙,主要是因为本系统需要通过多个端口例如:Web服务端口(80和8088)、数据库服务端口(5432)、以及其它网络组件服务端口。Windows防火墙可能会禁用相关端口访问,导致莫名奇妙的错误。
注意本建议仅限本示例,生产环境应该按照需求制定防火墙规则。