服务器搭建 office web apps 实现线文档预览

时间:2024-10-20 07:21:54

 

最近在做项目时,需要用到在线文档预览,看过明道的一篇搭建office web apps服务的文章,但是由于时间的关系,没有仔细研究,这几天有时间,就拿出来研究了下,折腾了几天终于完成了部署,然后就搬过来做下记录。

优点

  • 现有代码改动量很小,几乎可以忽略不计。
  • 无需自己写代码,只需一台服务器即可
  • 支持文档类型很全面,doc,ppt,xls,docx,pptx,xlsx,pdf。
  • 手机和pc都支持,支持文档缓存,分页浏览。

一、服务器环境要求

服务器:两台服务器,一台为转换server,另外一台为域控server。(安装office web apps的服务器必须加域才能安装成功,如果没有加域后面步骤会出现错误,疑难问题里面会介绍)

系统要求:转换服务器使用Window Server 2008 R2 64bit SP1或者以上,NET Framework 4.5,KB2592525,Windows PowerShell 3.0,IIS,保证80 443 809端口不被占用,确保当前机器没有安装office,确保当前机器没有安装Exchange,sharepoint,lync server,sql server

说明:服务器带宽和内存越高越好,测试发现比较耗性能,原因得从服务的实现原理上讲起。office web apps服务会通过用户提供的文档src,从src服务器上把文档下载下来,然后进行转换,根据文档名称进行缓存,转换完成以后返回。 带宽越大下载过程使用的时间越短,服务器性能越好转换速度越快。

二、软件下载

本文安装步骤所需的软件我都放在百度云盘了,可以进行下载。下载地址:/s/1hrBeYqw

三、域控服务器部署

请根据我的另一篇文章:《域控服务器安装教程》完成部署。

四、转换服务器部署

此次操作使用的是 Windows Server 2008 r2 操作系统。

注意:请严格按照下列顺序进行安装,不然可能会出现问题,很难解决!如果遇到需要重启,请重启后继续操作。

1、安装 .NET Framework4.5。

2、安装 IIS7。

1)打开服务器管理,添加角色,选择 Web 服务器,点击下一步,添加所需功能。

 

2)勾选 “应用程序开发” 功能,其他默认,点击下一步。

 

3)安装补丁。

Windows Server 2008 R2 x64 Edition 更新程序 (KB2592525)_Windows6.

 

4)安装powershell。

Windows6.

 

5)安装墨迹支持。

打开服务器管理,添加功能,添加墨迹和手写服务下边的墨迹支持。

 

6)安装office web apps。

打开下载好的 文件双击进行安装。

 

勾选接受条款,点击继续。

 

文件位置默认,点击 立即安装。

 

等待安装完成即可!

7)安装语言包。

 

8)安装office web apps sp1补丁包

 

9)通过PowerShell配置Office web apps

注意,进行到此步骤的时候,要注销电脑,使用域账户登陆操作。

右键管理员方式运行 PowerShell

 

启动 office 服务器场、输入以下命令。

Import-Module OfficeWebApps

部署 office 服务器场,输入以下命令(其中的参数需要根据自己的服务器进行修改)。

New-OfficeWebAppsFarm -InternalURL   -ExternalURL   -AllowHttp -EditingEnabled -OpenFromUrlEnabled

office 服务场参数说明:

New-OfficeWebAppsFarm 的使用及各参数含义可以去微软官网查看:/zh-cn/library/

-InternalURL:内网浏览地址, 其中 xx表示计算机名 表示域名

-ExternalURL:外网浏览地址,一般为服务器的IP地址

-AllowHttp 允许80端口访问

-OpenFromUrlEnabled 允许通过url方式进行预览

-CacheLocation  缓存文件存放路径 默认是C:\ProgramData\Microsoft\OfficeWebApps\Working\d 

-CacheSizeInGB  最大缓存文件大小 单位GB 默认为15GB

关于-InternalURL的怎么设置,可以计算机右键-》属性进行查看  计算机全名则是需要的地址

 

执行完命令就可以在iis中查看了,可以看到自动添加了两个站点,通过上面的地址 进行浏览,出现下面的界面则表示整个安装完成了。

可以通过 /hosting/discovery 查看描述。

当然,通过IP也是可以访问的 http://ip地址/hosting/discovery。

使用过程中如果想修改服务配置,可以通过Set-OfficeWebAppsFarm命令进行修改

Set-OfficeWebAppsFarm -AllowHttp

使用以下地址预览文档

//注意,文档地址需要外网能访问到
/op//src=/

五、疑难问题解决

1、New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码

PS C:\Users\Administrator> New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingEnabled
New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码。
所在位置 行:1 字符: 1
+ New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingE ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-OfficeWebAppsFarm], AuthenticationException
    + FullyQualifiedErrorId : ,
   

遇到这种问题,可能是你在转换服务器没有注销用户,需要再转换服务器注销用户,切换使用域服务器的账户登陆!

2、HTTP 错误 500.21

HTTP 错误 500.21 - Internal Server Error
处理程序“DiscoveryService”在其模块列表中有一个错误模块“ManagedPipelineHandler”

出现这种错误是第一步安装的.net framework4.5未在iis中注册导致的。

以管理员方式打开cmd,运行以下命令

cd C:\Windows\\Framework64\v4.0.30319 .\aspnet_regiis.exe -iru

出现如下提示即解决!

Microsoft (R)  RegIIS 版本 4.0.30319.17929 
用于在本地计算机上安装和卸载  的管理实用工具。 
版权所有(C) 
Microsoft Corporation。
保留所有权利。 

开始安装  (4.0.30319.17929)。 ............. 
 (4.0.30319.17929)安装完毕。 
iisreset /restart /noforce 
正在尝试停止... 
Internet 服务已成功停止 
正在尝试启动... 
Internet 服务已成功启动

3、文件太大解决方案(>10M)

服务默认支持的最大文件大小是10M,大于10M会报错。可以通过以下步骤解决此问题 

打开文件目录为C:\Program Files\Microsoft Office Web Apps\OpenFromUrlHost 中的文件 Settings_Service.ini

在内容最后添加以下内容(512000/1024M,可以根据自己的需求设定、后面不要加分号)。

OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000

修改 C:\Program Files\Microsoft Office Web Apps\OpenFromUrlWeb 下的Settings_Service.ini,进行相同的修改

重启office web apps服务即可!

 

4、文档地址为ip时预览报错

比如文档地址为http://10.5.192.168/ 这个时候预览会报错 ,而相应的地址为/ 域名的则是好的。这个问题估计是微软自己的安全验证问题,这也算时微软留下来的一个坑,暂时没有想到解决方案。