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中進行使用
<iframe src='strUrl' width='476px' height='288px' frameborder='0'>This is an embedded <a target='_blank' href='http://office.com'>Microsoft Office</a> document, powered by <a target='_blank' href='http://office.com/webapps'>Office Web Apps</a>.</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和域名的映射關系

