b部署owa预览服务
一、前言
1.1 服务器需求
转换文档需要两台服务器,一台为转换server,另外一台为域控server。(安装office web apps的服务器必须加域才能安装成功,如果没有加域后面步骤会出现错误,疑难问题里面会介绍)
1.2 系统需求
系统要求为widow server2008R2 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服务器上把文档下载下来,然后进行转换,根据文档名称进行缓存,转换完成以后返回。 带宽越大下载过程使用的时间越短,服务器性能越好转换速度越快。
二、部署环境
2.1 服务器2台
域控制器(AD):192.168.1.69
Office web apps server服务:192.168.1.213
操作系统:两台都为woindows server 2008 R2 64位操作系统
2.2 部署说明
部署office web apps server共需要服务器两台。(其中一台作为域控制器,另一台作为安装office web apps server的服务器)
注意:office web apps 不能安装在域控制器上
软件准备:
本文安装步骤所需的软件我都放在百度云盘了,可以进行下载。下载地址:http://pan.baidu.com/s/1hrBeYqw
三、部署域控制器(AD)
1.输入dcpromo安装域
2.等待加载
3.设置IP和DNS服务器地址,首选DNS地址保持与本机IP一致。
4.不需要使用高级模式,进行下一步
5.确认安装向导,下一步
6.在新林中建新域
7.输入域名
8.选择林功能级别
9.安装DNS服务器
10.确认域安装路径,下一步
11.设置域还原密码
12.查看摘要(也可以导出设置)
13.安装完成后重启
14.重启之后可看到加入到了域环境
四、另一台加入域
1.DNS设置为域控制器的IP地址
2.电脑右键属性,更改设置
3.点击更改
4.输入域名并确定
5.输入域服务器的账户跟密码
6.出现欢迎表示加入到了域环境
7.安装完之后重启生效
五、安装.net4.5
1.安装.net4.5(我是用的是安装包)
2.等待安装
3. 安装完成
六、安装IIS7
1.添加角色
2.选择IISweb服务器
3.运行向导
4.勾选应用开发程序
5.确认安装,下一步
6.等待安装
七、安装补丁
Windows Server 2008 R2 x64 Edition 更新程序
1.等待安装
2.安装完成
(可以先不重启,因为后面还得安装补丁,一次性重启)
八、安装powershell
Windows6.1-KB2506143-x64.msu
1.双击程序包
2.同意条款
3.等待安装
4.安装完成
九、安装墨迹支持
1.服务器管理,添加功能
2.选择墨迹支持功能
3.安装
4.完成安装
十、安装office web apps
1.安装
2.选择安装位置
3.等待安装
4.安装完成
十一、安装office web apps语言包
1.双击 wacserverlanguagepack.exe
2.等待安装
3.安装完成
十二、通过PowerShell配置Office web apps
1.这个步骤是最容易出错的,记得要使用域账户右键管理员方式运行
2.运行:
Import-Module OfficeWebApps
3.运行
New-OfficeWebAppsFarm -InternalURL http://xx.domin.com -ExternalURL http://xx.domin.com -AllowHttp -EditingEnabled -OpenFromUrlEnabled
解释:
-InternalURL:内网浏览地址,http://xx.domin.com 其中 xx表示计算机名 domin.com 表示域名
-ExternalURL:外网浏览地址
-AllowHttp 允许80端口访问
-OpenFromUrlEnabled 允许通过url方式进行预览
-CacheLocation 缓存文件存放路径 默认是C:\ProgramData\Microsoft\OfficeWebApps\Working\d
-CacheSizeInGB 最大缓存文件大小 单位GB 默认为15GB
4.关于-InternalURL的怎么设置,可以计算机右键-》属性进行查看 计算机全名则是需要的地址
5.运行成功则显示
6.执行完命令就可以在iis中查看了,可以看到自动添加了两个站点,通过上面的地址http://xx.domin.com 进行浏览,出现下面的界面则表示整个安装完成了。
7.验证是否成功的创建了Web Apps Server 场
a)在PowerShell中键入如下命令
Get-OfficeWebAppsMachine
8.出现了报错,网上查找原因:
vs2010默认的是4.0框架,4.0的框架是独立的CLR,和2.0的不同,如果想运行4.0的网站,需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0的web项目了.
aspnet_regiis注册4.0框架步骤如下:
1.启动cmd (按住“win键+R”,输入“cmd”,然后回车) ,找到 4.0所在的目录,本人机器目录是
C:\Windows\Microsoft.NET\Framework\v4.0.30319
2.启动CMD进入上面的目录,
3.然后输入" aspnet_regiis.exe -i"指令回车,通过aspnet_regiis注册4.0框架,
4.步骤到这就结束了,这时的IIS就可以运行 .NET 4.0 部署的网站了
9.执行:
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
10.执行:
.\aspnet_regiis.exe -i
十三、验证office web apps
1.再次查看Get-OfficeWebAppsMachine
网页访问:http://benet.hq.com
2.在服务器的浏览器中输入下列Url进一步求证
https:// benet.hq.com /hosting/discovery |
如果 Office Web Apps Server 按预期运行,您应该在 Web 浏览器中看到 Web 应用程序开放平台接口 (WOPI) 协议发现 XML 文件。该文件的前几行应类似以下示例。
十四、使用案例
使用过程中如果想修改服务配置,可以通过Set-OfficeWebAppsFarm命令进行修改
Set-OfficeWebAppsFarm –AllowHttp
安装完成office web apps以后,你可以采用以下方式实现在线预览。
//在线预览服务地址
var strOfficeApps="https://docview.mingdao.com";
//文档地址,需要外网能访问
var strFileUrl="http://74881.vhost65.cloudvhost.net/doc/test.docx";
var strUrl =strOfficeApps+"/op/embed.aspx/src="+encodeURIComponent(strFileUrl);
这样生成的地址即可以在浏览器中预览了,你可以把这个地址嵌入到iframe中进行使用
十五、服务器部署疑难问题
下面列举一下安装部署过程中出现的几个问题及解决办法
15.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 : System.Security.Authentication.AuthenticationException,Microsoft.Office.Web.Apps.Adminis
tration.NewFarmCommand
如果碰到这种问题,可能是使用的本地账户登录的,需要切换到域账户下面操作。
15.2 HTTP 错误 500.21
访问 http://xxxx/hosting/discovery
HTTP 错误 500.21 - Internal Server Error
处理程序“DiscoveryService”在其模块列表中有一个错误模块“ManagedPipelineHandler”
出现这种错误是第一步安装的.net framework4.5未在iis中注册导致的,以管理员方式打开cmd,运行以下命令
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
.\aspnet_regiis.exe -iru
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.17929
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
开始安装 ASP.NET (4.0.30319.17929)。
.............
ASP.NET (4.0.30319.17929)安装完毕。
iisreset /restart /noforce
正在尝试停止...
Internet 服务已成功停止
正在尝试启动...
Internet 服务已成功启动
15.3 文件太大解决方案(>10M)
服务默认支持的最大文件大小是10M,大于10M会报错。可以通过以下步骤解决此问题 OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000 后面不要加分号
1.打开如图文件Settings_Service.ini,文件目录为C:\Program Files\Microsoft Office Web Apps\OpenFromUrlHost
; --- OpenFromUrlHost ---
;
; The application root for the current application
ApplicationRoot=(System.String)/oh
在默认内容后添加(512000/1024M,可以根据自己的需求设定)
OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000
2.修改 C:\Program Files\Microsoft Office Web Apps\OpenFromUrlWeb 下的Settings_Service.ini,进行相同的修改
3.重启office web apps服务
再重新试一下>10M的文件,发现可以访问了
15.4 文档地址为ip不是域名的预览报错解决方案
比如文档地址为http://10.5.192.168/A.docx 这个时候预览会报错 ,而相应的地址为http://mydoc.com/A.docx 域名的则是好的。这个问题估计是微软自己的安全验证问题,为了解决此问题我采取了一种地址转发的方式。
步骤:在Http80站点下添加转发应用程序,站点文件路径一定要选在C:\Windows\System32\drivers\etc 下,并且赋予读写权限,为了方便修改hosts文件
正常预览访问的是:http://mydoc.com/op/embed.aspx/src=文档地址,现在改为http://mydoc.com/Redirect/embed.aspx/src=文档地址
代码会判断如果是ip则在hosts添加ip和域名的映射关系