Team blog of MCS @ Middle East and Africa

This blog is created by Microsoft MEA HQ near shoring team, and it aims to share knowledge with the IT community.With its infrastructure and development sides,It brings to you the proven best practices and real world experiences from Subject Matter Experts
Follow Us On Twitter! Subscribe To Our Blog! Contact Us

Office Web Apps 2013 multi servers (NLB) Installation and Deployment for SharePoint 2013 step by step guide

Office Web Apps 2013 multi servers (NLB) Installation and Deployment for SharePoint 2013 step by step guide

  • Comments 21
  • Likes

This is a step by step guide on how to install Office Web Apps 2013 multi servers farm (using windows NLB and http) and how to configure it with SharePoint 2013.

In my next post I will talk about how to configure Office Web Apps 2013 using NLB and https in multi servers deployment.

Important: this post is assuming that all office web apps servers will run the same role which is the typical case with most of the deployments, however incase you require to route requests to a specific office web server in the farm based on http headers consider using hardware load balancer with layer 7 routing.

Office Web Apps 2013 Architecture Overview

Office Web Apps 2013 deployment architecture has been changed when moving to SharePoint 2013 , where Office Web Apps are no longer a service applications to be federated with SharePoint Server. Instead office web apps 2013 are now decoupled from SharePoint to allow better extensibility , manageability , maintenance and upgrade.

Where in the new office Web Apps 2013 Architecture one single farm of Office web apps servers can serve different SharePoint farms, exchange servers , lync servers . Or even 3rd party applications.

clip_image001

General Guidelines and Recommended Practices before you start office web apps 2013 Installation

  • To minimize the complexity of the deployment install all office web apps roles on each server instead of distributing the roles on servers.
  • Office web Apps 2013 does not require SQL database.
  • PowerShell is used to define Office Web Apps topology, by using New-OfficeWebAppsFarm command with the master server (the first server in the farm) and by using New-OfficeWebAppsMachine command to join more machines to the farm.
  • Also PowerShell commands are used to connect the SharePoint farm to Office Web Apps farm.
  • Incase of installing updates and patches , the Office Web Apps server should be disconnected from the Office Web Apps farm then joined again after finish the patching.
  • SharePoint system account cant render office web apps (by design for security)
  • NLB Tips
    • Consider using NLB for high availability
    • Make sure to enable NLB server affinity

 

Office Web Apps Step by Step Installation and Configuration

 

Prerequisites

 

 

Office Web Apps 2013 Installation Steps

Install IIS Role

clip_image002

Install Ink and Handwriting Services

clip_image003

On Office web apps servers (not SharePoint servers) , Run the Office Web Apps Setup

clip_image004

clip_image005

clip_image006

 

Prepare Office Web Apps 2013 for NLB

you need to create a host record for NLB and assign preserved IP

On DNS server , start menu -- administrative tools -- DNS - expand forward lookup zones

clip_image007

Right click you domain

clip_image008

Enter a name for you NLB Network name and any desired IP , note the NLB FQDN as we are going to use it later on

clip_image009

On each of the Office web Apps servers , start configuring the NLB by adding NLB from features:

clip_image010

clip_image011

clip_image012

clip_image013

clip_image014

As you can see the first office web App node name is OfficeWebApp01, enter the name then press connect

clip_image015

If you have more than one network card , select the one you wish to participate in the NLB , in my case there is only one

clip_image016

Note: as you can see the private IP of the current network interface in 192.168.1.22 , another IP will be added which is the NLB IP after completing the NLB configuration

Define the priority of this NLB Node and the dedicated IP address to participate then click next. ( I left the default in my case)

clip_image017

We need here to specify the NLB Cluster IP which should be in our case (192.168.1.25), press add

clip_image018

clip_image019

Click Ok , then Next

In this screen we will use the FQDN we created at the DNS in the first steps

clip_image020

You can specify many rule for restriction purposes , in my case I accepted the default which allow all ports communication with the NLB.

clip_image021

You can add as many nodes as you wish to the cluster in the same way by "add Host to Cluster"

clip_image022

To verify the NLB setup , ping the NLB name

clip_image023

 

Configure Office Web Apps Multi servers Farm

Now on Office Web Server (officeWebApp01) open windows PowerShell

Run the following command to add the first server node to the Office Web App Farm

New-OfficeWebAppsFarm –InternalUrl “http://OfficeApps” –AllowHttp –EditingEnabled

-InternalURL: the NLBName for the Office web Apps farm or it can be a single server name incase this is a single server installation.

–EditingEnabled (Optional) : used to allow SharePoint documents to be edited in browser (not needed in Lync or exchange cases)

-AllowHttp: incase to force http communication this parameter must be passed, since Office Web App uses https as default communication, so make sure to pass this parameter if you wish to use http not https.

After executing the command , you will get the configuration info as the following:

clip_image024

Now open IIS and notice the creation of the new web application

clip_image025

To make sure you installation is correct browse to the following URL:

http://NLBServerName/hosting/discovery/ which is in our case: http://officeApps/hosting/discovery

You will get a the following response:

clip_image026

 

Configure SharePoint 2013 to bind with Office Web Apps Farm

Configure SharePoint 2013 to have the WOPI binding with Office Web Apps Farm, in order to perform this all what you need to do is to run a couple of simple SharePoint Powershell commands on one of the SharePoint servers (not office web app servers):

New-SPWOPIBinding –ServerName “OfficeApps” -AllowHTTP

Where OfficeApps is the NLBName for office Web App servers farm, you can place a single server name incase you are not using NLB/Multi Server Deployment.

Note: the following ports should be open between SharePoint and Office Web Apps Servers 80, 443, or 809

 

Configure SharePoint to use http

After running the above command , let us check the binding and zone, By default SharePoint is using https , to identify which binding is used http or https run the following command in the PowerShell screen

Get-SPWOPIZone

clip_image027

In order to change it to http , run the following command:

Set-SPWOPIZone –zone “internal-http”

 

Allow Oauth for http

One last thing using http requires to change the AllowOAuthOverHttp to True , to do so run the following PowerShell commands on one of the SharePoint servers

$config = (Get-SPSecurityTokenServiceConfig)

$config.AllowOAuthOverHttp = $true

$config.Update()

Congratulation we are done !!

upload a word document or PowerPoint and try to open it in browser (be carful !! don’t use system account to browse office web apps documents ,this would generate an error)

clip_image028

Click on the document to open it in browser, note at button how request is opened by the Office Web App servers farm.

clip_image029

 

Add more Office Web Apps servers to the farm

All what you have to do now for any additional office web server is to:

  • Install Office Web Apps pre requisites
  • Install office web apps
  • Join the new server to the NLB Cluster (as described above)
  • Run the following windows power shell command from a machine that is already part of the farm
  • Firewall: If the machine joining the WAC farm cannot access the HTTP 809 channel the New-OfficeWebAppsMachine will throw a “The destination is unreachable error”.

New-OfficeWebAppsMachine –MachineToJoin ServerName

ServerName: is the name of the master machine (the first machine you added to the farm)

 

use the below command to make sure the new server is added to the farm

Get-officeWebAppsFarm

 

Remove Office Web Machine Server

On the server you want to remove run the below command:

Remove-OfficeWebAppsMachine

Tip: If, for any reason, you want to disconnect SharePoint 2013 from Office Web Apps Server, use the following command example:

Remove-SPWOPIBinding –All:$true

http://technet.microsoft.com/en-us/library/jj219442.aspx

 

 

References

Plan Office Web Apps: http://technet.microsoft.com/en-us/library/jj219435.aspx#certificate

Deploy Office Web Apps : http://technet.microsoft.com/en-us/library/jj219455.aspx

Configure SharePoint 2013 to use Office Web Apps: http://technet.microsoft.com/en-us/library/ff431687.aspx#tshoot

Troubleshoot office web apps : http://technet.microsoft.com/en-us/library/ff431687.aspx#tshoot

Comments
  • Great writing skills ! wonderfull

  • Thanks Gokan , glad you liked it :)

  • Wonderful stuff, keep them coming.. love real world scenarios...

  • Issa,

     Can an Office Web Apps 2013 application pool be geographically dispersed or must they remain on the same site/subnet?

  • Hi Mark,

    well Office Web Apps servers should be all in the same Domain , and in the same OU , and must reside all in the same data center , and should not be disributed geograhpically

    for more info see topology planning below:

    technet.microsoft.com/.../jj219435.aspx  

  • Thank you for this great post.

    One question regarding this setup in HTTPS:

    What kind of certificates do we need? (one by server + one for the cluster name...?)

    BR,

  • Thanks for this article, Issa.  This is really helpful.

    May I ask if you will be posting the article for HTTPS soon?  I just want to see if each cert must be deployed to all servers or only to the NLB (for SSL offloading).

    Thank you!

  • Issa,

    I am having an issue that maybe you can help with.  I have several farms and have no issues getting this to work on a single server farm.  The issue is on my multi-server SP farms (2 different farms) that use TMG as a reverse proxy.  No matter what I have tried I can not get it to work.  I have tried both HTTP and HTTPS with a  certificate.  No luck on this configuration.  What I see in the logs is "Could not contact WOPI Endpoint.  Error Details- 'FileNotFound URL-http.....

    Any thoughts on this.

    Thanks in advance.

    -CR

  • hi Check ,

    I suspect that its a connectivity problem between the sharePoint farm and the office web apps farm , check two things :

    - you can reach the office web apps from inside sharepoint servers by opening the IE and placing the URL http://OfficeWebAppServerName/hosting/discovery/

    - open the IIS on the office web App Server and make sure that office web app virtual directories are created there and the URL http://OfficeWebAppServerName/hosting/discovery/ is reached from inside the server

  • hi Kago & Djef

    I will try to post the https soon :)

  • When creating a farm - 2 nodes and you created farm with PS command:

    New-OfficeWebAppsFarm –InternalUrl “http://OfficeApps.contoso.com” –AllowHttp –EditingEnabled

    On the second node would i run PS command 1) of 2) ?

    1) New-OfficeWebAppsMachine –MachineToJoin officeappserver1.contoso.com <-- on server 1 name ?

    2) New-OfficeWebAppsMachine –MachineToJoin officeapps.contoso.com <-- on nlb name ?

  • to add more servers to officeWebApps farms

    use:  "New-OfficeWebAppsMachine –MachineToJoin ServerName"

    there is a section in the post describing this point

  • good

  • If you have configured the OWA server to be HTTP when installing. What are the steps to change to work over https?

  • Nice post Issa. I followed the post and managed to setup a two server OfficeApps Farm. Everything works fine when both are up. But after I shutdown the master server in the farm I get page cannot be displayed. Did I miss anything ?

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment