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

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.


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





Office Web Apps 2013 Installation Steps

Install IIS Role


Install Ink and Handwriting Services


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





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


Right click you domain


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


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






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


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


Note: as you can see the private IP of the current network interface in , 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)


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



Click Ok , then Next

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


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


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


To verify the NLB setup , ping the NLB name



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:


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


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:



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



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


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)


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



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



Remove Office Web Machine Server

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


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




Plan Office Web Apps:

Deploy Office Web Apps :

Configure SharePoint 2013 to use Office Web Apps:

Troubleshoot office web apps :