本文演示如何在本地部署免费的Microsoft Office文档协作工作平台,功能类似于“Microsoft Office Online”、“腾讯文档”等在线文档协作编辑平台。虽然部署类似平台的方案有多种,但是本文介绍的方法兼顾以下特征:

1. 环境及软件版本

服务器使用虚拟机,DzzOfficeOnlyOffice部署在虚拟机中。

2. 操作系统及工具

2.1 操作系统

操作系统的安装不再赘述。操作系统需要满足以下条件:

2.2 安装VC++运行时库

从参考文献[1]下载VC++运行时库,该版本适用于VC++ 2015-2022

image

2.3 PHP

DzzOffice需要支持Web服务支持PHP,因此需要为IIS安装和配置PHP。

从参考文献[2]下载适用于Windows的PHP,下图所示,有两个版本可选择:

建议使用Thread Safe版本。

image

下载后解压缩zip包,假设解压后放在目录:

C:\php-8.4.6

此电脑 → 属性 → 高级系统设置 → 环境变量 → 系统变量 → Path,增加PHP路径,下图所示:

image

进入PHP目录,将php.ini-production文件复制并改名为php.iniphp.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

计算机管理 → Internat Information Service(IIS)管理器 → 默认文档 → 添加,将index.php添加为默认文档。

image

2.5 MySQL

DzzOffice还需要MySQL作为后台数据库,因此,需要在安装DzzOffice之前先安装和启动MySQL服务。

从参考文献[3]下载MySQL,本文选择社区版8.4版本。

image

执行mysql-8.4.5-winx64.msi按照向导安装MySQL,端口默认为5432,如无特殊需求可暂不修改。安装成功的确认方法:

3. OnlyOffice

3.1 安装

OnlyOffice有多个版本,本文使用社区版。下载地址见参考文献[4]。

image

下载后的安装文件名为: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服务

完成上述操作后,从浏览器访问以下地址:

http://192.168.4.222:8088

如果能够看到以下页面,表示OnlyOffice的Web服务已正常。按照页面提示启动OnlyOffice集成服务,以便第三方程序可以调用OnlyOffice接口服务。

image

按照提示,使用Windows cmd执行命令:

snippet.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

3.4 查看密钥

打开OnlyOffice配置文件:

C:\Program Files\ONLYOFFICE\DocumentServer\config\local.json

找到"services"."secret". "session"."string"项,记录下来,后续安装DzzOffice的插件时将会用到。

image

4. DzzOffice

从官网(参考文献[6])下载DzzOffice,建议选择“本站下载”。

image

下载后解压缩dzzoffice.zip文件到IIS网站“物理路径”下。本文假设IIS物理路径为:C:\wwwDzzOffice解压缩目标路径为:C:\www\dzzoffice。接下来安装DzzOffice

在浏览器中输入:

http://192.168.4.222/dzzoffice/

自动进入安装初始化页面:

image

点击“开始安装”按钮,进入“检查安装环境”页面,确保所有项目自检结果都通过。上述各种配置也是为了本步骤顺利通过自检,如果有未通过的项,请按提示修改配置。

image

点击“下一步”进入“设置运行环境”页面,其中“站点名称”和“管理员密码”需要填写,其它可以按照需要修改或者使用默认值。

image

点击“下一步”继续安装,等待安装完成。

5. 安装插件

截止到目前,以上安装的DzzOffice只能算是个网盘,还无法编辑和浏览Office文件,我们还需要为DzzOffice安装两个关键插件。

安装应用方法有多种,本文假设本系统无法访问公网,因此以下采用离线安装插件方法。

5.1 下载插件

通过参考文献[6]的“应用市场”搜索“onlyoffice”,结果如下图所示,注意我们仅需要后面两个插件:

image

下面以安装“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

5.3 应用管理

用admin账户进入DzzOffice管理后台,选择“应用市场” → “应用管理”,如下图所示。

image

5.4 导入应用

选择“导入应用”按钮,“选择导入方式”选择“上传文件”。

“上传数据文件”选择第5.2章节中的dzz_app_xh_onlyoffice.xml文件,点击“提交”。

image

5.5 服务器配置

然后,再次进入“应用管理”页面(见第5.3章节),点击“onlyoffice编辑”插件的“设置”按钮,进入“服务器配置”页面。

这个页面配置很重要,本示例填写值如下图所示。

配置后,可以使用“检测服务器”检查配置是否正确。

image

支持“onlyoffice编辑”插件安装完成。按照相同方法继续安装“onlyoffice浏览”插件,不再赘述。

至此,本地化部署文档协作工作平台完成。

6. 注意事项

非常重要,这里最容易出错,一定要确保OnlyOffice和DzzOffice两个服务地址可以相互访问。有时候地址填写错误,“检测服务器”也可能会检测通过,但是系统却不能正常工作。例如,在本例中,如果“DzzOffice服务地址”填写http://192.168.4.222/,检测可以通过,但是当尝试编辑或浏览Office文档时,会返回“文件下载失败”错误。

本文第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. MySQL Community Downloads [EB/OL]. https://dev.mysql.com/downloads/mysql/
  3. Download Community versions of ONLYOFFICE products [EB/OL]. https://www.onlyoffice.com/download-community.aspx
  4. Installing ONLYOFFICE Docs for Windows on a local server [EB/OL]. https://helpcenter.onlyoffice.com/docs/installation/docs-community-install-windows.aspx
  5. DzzOffice [EB/OL]. https://dzzoffice.com/