Install, Configure & Monitor Office Web Apps 2013 for SP 2013

Here is my first blog after a long vacation back from my hometown in India. Tomorrow is a special day as Hurricane Sandy is going to hit my area ( Edison, NJ) , so writing this post tonight itself :)

There are many articles out in web provides the details of Office Web Apps 2013 , its planning, deployment etc. What I’m trying to give in this post is my experience with the installation and configuration of Office Web Apps 2013 for SharePoint Server 2013.

Environment details are given below :-

Total 4 Servers in my Windows Azure Virtual Machine Environment.

litdc – AD & DC (Windows Server 2008 R2)

litsp1 – WFE – SPS 2013 RTM (Windows Server 2012 Datacenter Edition)

litsp2 – App Server – SPS 2013 RTM (Windows Server 2012 Datacenter Edition)

litsp3 – OWA 2013 RTM Server (Windows Server 2012 Datacenter Edition)

image

After installing and configuration of my SharePoint 2013 environment I have started the setup for Office Web Apps 2013 in litsp3.

Please refer the TechNet articles for details about planning & deployment of Office Web Apps 2013. In this post I’m providing details of deployment of Office Web Apps 2013 on a Windows 2012 Server. Also, this will be a single server OWA farm only.

Step #1

Enable the prerequisites for Office Web Apps 2013 in Windows Server 2012. You can do this using PowerShell. Open Windows PowerShell Console as Administration and run the below.

# if script execution policy is “Restricted”, enable it using Set-ExecutionPolicy "UnRestricted"

Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices

System restart required after provisioning the above prerequisites features.

Step #2

After system reboot, go ahead and run the OWA 2013 installation setup as administrator.

Step #3

Before creating a new OWA farm, you have to do couple of things based upon the planning you have done. Make sure that there won’t be any application running in default ports in the server that you are setting up the OWA farm. As a best practice, always use HTTPS for the communication, so in my test environment, I have imported a domain certificate in the IIS. Since this was a domain certificate that got from the CA (certificate authority) in my DC it was already added to my trusted root authority in the litsp3 server, if not , you have to import it manually.

image

Step #3

Once the server certificate is installed, its ready to provision the new OWA single server farm. You have to run New-OfficeWebAppsFarm PS commandlet , if you need more details of the Commandlet and also to verify whether the PowerShell snap is correctly added, you can use

Get-Command New-OfficeWebAppsFarm

As you see it in the screenshot below, also notice the default web site in IIS running in port 80, because after creating a new web app farm it will remove that site.

image

Step #4

Execute the below PowerShell Commandlet

New-OfficeWebAppsFarm –InternalUrl “https://litsp3” -ExternalUrl https://litsp3.litware.local –CertificateName "OfficeWebApps Certificate" –EditingEnabled

image

Since I have used the –EditingEnabled parameter it will prompt the confirmation for the licensing. Remember that editing is only possible in SharePoint 2013 and not in Exchange & Lync 2013. After executing the commandlet successfully , we can see the details of the configurations. It will list out the URLs, Cache location, ULS log location and other specific configuration for excel and stuff.

Now, if you look at the IIS you can see that default web site has been replaced by OWA web sites. To confirm a successful configuration you can browse to the web service discovery location like this : https://litsp2.litware.local/hosting/discovery

In the below screenshot you can see the IIS websites for OWA and a discovery details for the above mentioned URL. Please note the port numbers used for the binding. Make sure that all those ports are not blocked by the firewall to avoid any communication issues with OWA.

image

Step #5

Alright, once above steps are done then next step is to configure SharePoint Server 2013 to make the WOPI binding with Office Web Apps 2013.

You have to use New-SPWOPIBinding commandlet to do that. In my environment I run it like below.

New-SPWOPIBinding –ServerName “litsp3.litware.local”

image

Office Web Apps Server uses the concept of zones to determine which URL (internal or external) and which protocol (HTTP or HTTPS) to use when it communicates with the host, which in this case is SharePoint 2013. By default, SharePoint Server 2013 uses the internal-https zone. Verify that this is the current zone by running the following command:

Get-SPWOPIZone

After you run this command, you should see the WOPI zone displayed. It should be internal-https.

Finally to test everything working fine or not, create or upload different types of office documents. Below screenshot is a test with a new PowerPoint document. You can see the URL that since SharePoint 2013 is already has the capability as a host using WOPI, it will detect the document and render it in the WOPI interface (/_layouts/15/WopiFrame.aspx)

image

Troubleshooting & Monitoring

For troubleshooting, we have our friend :) ULS log available for Office Web Apps 2013 as well. Location is different than default location of SharePoint. You might have noticed it in the Step #4 that after provisioning a new farm it will provide the details of the ULS log as well.

Since by default ULS log location configured under “C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS”, you have to enable the hidden files in C:\ drive as “ProgramData” folder is hidden by default.

image

Location of the ULS log can be changed using Set-OfficeWebAppsFarm, but only one caveat is that to get the change to effect , we have to restart the OWA server, if there are more servers in the farm all servers has to be started to get the change updated. Not only this setting there are other configuration changes as well which needs the system restart, you can refer the documentation of above mentioned PS commandlet for more information about those all. I would recommend you to go through the that PS commandlet and plan all your required configurations before the deployment so that way you can avoid any system reboot after the deployment.

image

Like in SharePoint, ULS log will be very helpful to get to know what is happening behind the scene and hence troubleshoot issues easily. In my case I have faced an issue while rending the document in SharePoint web interface after the configuration. Then I have checked the ULS logs in OWA server then found that there was a communication issue due to firewall in my environment. In windows Azure virtual machines ping is disabled by default I have had to enable the below firewall rule (Virtual Machine Monitoring (Echo Request - ICMPV4-In)) to get it working.

image

ULS log exception is given below.

Health report by PowerPointViewingServicesWatchdog_Web: Agent: WebPPTViewer, eventId: 1188, eventType: Error, categoryId: 0, eventMessage: PowerPointViewingServicesWatchdog_Web reported status for WebPPTViewer in category 'WfeRedirect'. Reported status: Exception when checking /default.aspx: System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 10.10.1.10:80
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)   
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)     -
-- End of inner exception stack trace ---   
at System.Net.HttpWebRequest.GetResponse()   
at Microsoft.Office.Web.Common.WatchdogHelper.CheckWfeRedirect(ServiceInstance instance, Int16 category, String categoryName)

For monitoring the OWA server there are many performance counters available

Perfmon view to monitor the performance by using the counters.

image

Task Manager view of OWA related processes

image

Hope this post will be helpful for someone !

I would recommend to read the below blog posts as well

Spencer’s article on Editing License with OWA 2013

Ali’s article on Machine Translation Services with OWA 2013

Steve’s article on Configuring OWA 2013