How to Install Office Web App 2013

Installation guide

The process step of installing Office Web App 2013 are as follows:

  1. Identity the server that will install Office Web App has meet the hardware, OS and software requirements (For more details read section 1, 2, 3 & 4 below)
  2. Check that the server has met the firewall requirements (For more details read section 5)
  3. Download the Office Web App installation file, any SP and other software for the appropriate OS of the server (See section 6 below)

1. Software, hardware, and configuration requirements for Office Web Apps Server

You can install Office Web Apps Server as a:
  • single-server Office Web Apps Server farm, or as
  • a multi-server, load-balanced Office Web Apps Server farm.
  •  physical servers or virtual machine instances, but can’t install other server applications (such as SharePoint 2013 or SQL Server) on the same server as Office Web Apps Server.

In environments that contain actual user data, we always recommend that you use HTTPS, for which you’ll have to obtain a certificate. If you’re using multiple servers in your farm, you’ll have to configure a hardware or software load-balancing solution. You can learn more about these scenarios in the following sections.

2. Hardware requirements

Office Web Apps Server uses the same minimum hardware requirements as SharePoint Server 2013. You can find the full set of SharePoint 2013 requirements in Hardware requirements—web servers, application servers, and single server installations.

3. Operating System requirements

Can run Office Web Apps Server on the following operating systems:

  • The 64-bit edition of Windows Server 2008 R2 Service Pack 1 (SP1) Standard, Enterprise, or Datacenter with the Update for Windows Server 2008 R2 x64 Edition installed
  • The 64-bit edition of Windows Server 2012 Standard or Datacenter
  • The 64-bit edition of Windows Server 2012 R2. To use this operating system, you must use Office Web Apps Server Service Pack 1 (SP1).

4. Other software requirements

  • Don’t install any other server applications on the server that’s running Office Web Apps Server. This includes Exchange Server, SharePoint Server, Lync Server, and SQL Server. If you have a shortage of servers, consider running Office Web Apps Server in a virtual machine instance on one of the servers you have.
  • Don’t install any services or roles that depend on the Web Server (IIS) role on port 80, 443, or 809 because Office Web Apps Server periodically removes web applications on these ports.
  • Don’t install any version of Office. If it’s already installed, you’ll need to uninstall it before you install Office Web Apps Server.
  • Don’t install Office Web Apps Server on a domain controller. It won’t run on a server with Active Directory Domain Services (AD DS)

Install bellow additional software which are prerequisites for Installation of Office Web App Server.

5. Firewall requirements

Make sure the following ports aren’t blocked by firewalls on either the server that runs Office Web Apps Server or the load balancer:

      • Port 443 for HTTPS traffic
      • Port 80 for HTTP traffic
      • Port 809 for private traffic between the servers that run Office Web Apps Server (if you’re setting up a multi-server farm)

6. Downloads, server roles, and features that are required for Office Web Apps Server

From this blog, Office Web App server installer file is no longer availiable as a FREE download from Microsoft site. Instead it is availiable for download from Volume Licensing Service Center (VLSC) below:

Download, server role, or feature If you’re installing on Windows Server 2008 R2 If you’re installing on Windows Server 2012 If you’re installing on Windows Server 2012 R2
Download: Office Web Apps Server Office Web Apps Server Office Web Apps Server Office Web Apps Server
Download: Office Web Apps Server SP1 Recommended Recommended Office Web Apps Server SP1
Download: Correct version of .NET Framework .NET Framework 4.5 .NET framework 4.5 is already installed .NET Framework 4.5.2
Download: Update for Windows Server 2008 R2 x64 Edition Update for Windows Server 2008 R2 x64 Edition Not applicable Not applicable
Download: Windows PowerShell 3.0 Windows PowerShell 3.0 Already installed Already installed
Server role: Web Server (IIS) Here are the minimum role services required for the Web Server (IIS) server role.

Common HTTP Features

  • Static Content
  • Default Document

Application Development

  • .NET Extensibility
  • ISAPI Extensions
  • ISAPI Filters
  • Server Side Includes


  • Windows Authentication
  • Request Filtering

Management Tools

  • IIS Management Console

The following options are recommended but not required:


  • Static Content Compression
  • Dynamic Content Compression
Here are the minimum role services required for the Web Server (IIS) server role.

Management Tools

  • IIS Management Console

Web Server

  • Common HTTP Features
  • Default Document
  • Static Content


  • Request Filtering
  • Windows Authentication

Application Development

  • .NET Extensibility 4.5
  • ASP.NET 4.5
  • ISAPI Extensions
  • ISAPI Filters
  • Server Side Includes

The following services are recommended but not required:


  • Static Content Compression
  • Dynamic Content Compression
Here are the minimum role services required for the Web Server (IIS) server role.

Management Tools

  • IIS Management Console

Web Server

  • Common HTTP Features
  • Default Document
  • Static Content


  • Request Filtering
  • Windows Authentication

Application Development

  • .NET Extensibility 4.5
  • ASP.NET 4.5
  • ISAPI Extensions
  • ISAPI Filters
  • Server Side Includes

The following services are recommended but not required:


  • Static Content Compression
  • Dynamic Content Compression
Feature: Ink and Handwriting Services Ink and Handwriting Services

  • Ink Support
Ink and Handwriting Services

  • Ink Support is not required.
Ink and Handwriting Services

  • Ink Support is not required.

7.Installing Office Web App Server

Perform these procedures on all servers that will run Office Web Apps Server.

Figure: The steps to prepare servers for Office Web Apps Server

The three main steps to prepare servers for Office Web Apps Server.

7.1 Follow instructions about running PowerShell commands at “Prepare servers to run Office Web Apps Server” on the OS that is relevant for the server.

7.2 Restart the server after running the PowerShell cmdlet.

7.3 Run the setup.exe file of the download Office Web App Server file that was downloaded in step 6

7.4 After install of Office web apps  and before creating the new Office web apps server, then apply the following patch update MUST be done in the following order to be completely current with updates. Patched SP1 > April 2014 PU > May 2014 PU > June 2014 CU:

For the complete list of patch CU, see below table:

Build Number Build Name Information Link Download Link
15.0.4420.1007 RTM Download
15.0.4481.1005 March 2013 PU KB2760445 Download
15.0.4481.1508 April 2013 CU KB2810007 Download
15.0.4505.1001 April 9 2013 Hotfix KB2799821 Download
15.0.4517.1003 June 2013 CU KB2817350 Download
15.0.4535.1000 August 2013 CU KB2817521 Download
15.0.4551.1003 October 2013 CU KB2825686 Download
15.0.4551.1508 December 2013 CU KB2850013 Download
15.0.4551.1515 MS14-001 Security Update KB2863879 Download
15.0.4569.1000 Service Pack 1 KB2817431 Download
15.0.4569.1000 Service Pack 1 – Mark 2 Re-release KB2880558 Download
15.0.4605.1001 April 2014 CU (hot fix) KB2863899 Download
15.0.4615.1001 May 2014 KB2880453 Links in KB
15.0.4623.1001 June 2014 CU KB2881051 Download
15.0.4631.1000 July 2014 CU KB2883003 Download
15.0.4641.1001 August 2014 CU KB2883093 Download
15.0.4659.1001 October 2014 CU KB2889898 Download
November 2014 CU None None
15.0.4673.1000 December 2014 CU KB2899574 Download
January 2015 CU None None
15.0.4693.1001 February 2015 CU KB2956101 Download
15.0.4701.1001 March 2015 CU KB2956158 Download
15.0.4711.1000 April 2015 CU KB2965306 Download
15.0.4719.1002 May 2015 CU KB3039748 Download
15.0.4727.1001 June 2015 CU KB3054863 Download
15.0.4737.1001 July 2015 CU KB3054930 Download
15.0.4745.1001 August 2015 CU KB3055003 Download
15.0.4753.1001 September 2015 CU KB3085487 Download
15.0.4763.1000 October 2015 CU KB3085571 Download
15.0.4771.1000 November 2015 CU KB3101367 Download
December 2015 CU No Updates
January 2016 CU No Updates
15.0.4797.1001 February 2016 CU KB3114338 Download
15.0.4805.1000 March 2016 CU KB3114821 Download
15.0.4815.1000 April 2016 CU KB3114934 Download
15.0.4823.1003 May 2016 CU KB3115022 Download
15.0.4833.1003 June 2016 CU KB3115170 Download
15.0.4841.1000 July 2016 CU KB3115289 Download
15.0.4849.1000 August 2016 CU KB3115446 Download

7.5 Download and install language packs for Office Web Apps Server.

8. Deploy Office Webs Server Farm

The next step is to create Office Web Apps Server farm that uses either HTTP or HTTPS with certification.

NOTE: Use HTTP if the farm is a test\development server. Otherwise always use HTTPS on production server farm with certificate install.

The steps are below assuming that certificates has been installed, deployed and configure.

  • Create Office Web Apps Server Farm (See section 8.1)
  • Verify Farm is working OK (See section 8.2)
  • Configure the host

8.1 Create the Office Web Apps Server Farm
Use the New-OfficeWebAppsFarm command to create a new Office Web Apps Server farm that consists of a single server, as shown in the following example for HTTP for a test/dev server:

New-OfficeWebAppsFarm -InternalURL “http://servername” -AllowHttp -EditingEnabled


  • –InternalURL is the name of the server that runs Office Web Apps Server, such as http://servername.
  • –AllowHttp configures the farm to use HTTP.
  • –EditingEnabled enables editing in Office Web Apps when used with SharePoint 2013. This parameter isn’t used by Lync Server 2013 or Exchange Server 2013 because those hosts don’t support editing.

The PowerShell cmdlet for creating new Office Web Apps server farm using HTTPS on production server with trusted certificate already installed and configured on the farm:

New-OfficeWebAppsFarm -InternalUrl Https:// -ExternalUrl Https:// -CertificateName WacCert -AllowHttp


In the above command, would be the Office Web App URL that we will be using (using same for internal and external, however this can be changed as per requirement)

  • InternalURL Refers to URL that will be used by Lync 2013 Clients connected to Lync server internally.
  • ExternalURL Refers to URL that will be used by Lync 2013 Clients connected to Lync server externally.
  • CertificateName is set to ‘WacCert’ which is the friendly name of the certificate that we created earlier.

8.2 Verify Office Web Apps Server farm was created successfully
To verify Office Web Apps server was created in step 3.2.1, open IE browser and go to: http://servername/hosting/discovery , where servername is the name of the server farm that had office Web App installed.

At the end of this step, we have installed office web app server, created an Office Web App Server Farm and have associated valid certificate that was created earlier, Office Web App Server is now ready to be used with SharePoint 2013 host.

9. Configure the SharePoint host

The farm is now ready to provide Office Web Apps functionality to host over HTTP. To configure Office Web apps for hosting SharePoint 2013, follow the steps below. For more information, go to:

  1. Logged into the SharePoint 2013 server farm
  2. Right-click SharePoint 2013 Management Shell to display the app bar.
  3. In the app bar, click Run as administrator.
  4. Create the binding between SharePoint 2013 and Office Web Apps Server:

4a . In a test SharePoint environment that uses HTTP, type the following:

New-SPWOPIBinding -ServerName <WacServerName> -AllowHTTP

4b. In a production SharePoint environment that uses HTTPS, type the following:

New-SPWOPIBinding -ServerName <WacServerName>

<WacServerName> is the fully qualified domain name (FQDN) of the URL that you set for the internal URL. This is the point of entry for Office Web Apps Server traffic. For this test environment, you need to specify the –AllowHTTP parameter to allow SharePoint 2013 to receive discovery information from the Office Web Apps Server farm by using HTTP. If you don’t specify –AllowHTTP, SharePoint 2013 will try to use HTTPS to communicate with the Office Web Apps Server farm, and this command won’t work.

5. View the WOPI zone for SharePoint bindings, by typing the following PowerShell cmdlet: Get-SPWOPIZone

Office Web Apps Server uses zones to determine which URL (internal or external) and which protocol (HTTP or HTTPS) to use when it communicates with the host, in this case, SharePoint 2013. By default, SharePoint Server 2013 uses the internal-https zone.If SharePoint was configured to use externally, then you use internal-https. If SharePoint was configured to be used internally, then you use internal-http. The WOPI zone displayed by this cmdlet should be internal-http. So if it’s displayed wrongly go to step 6. Otherwise go to step 7.

6. Change the WOPI zone to internal-http – If the result from Step 3 was internal-https, run the following command to change the zone to internal-http. You need to make this change because the zone of SharePoint 2013 must match the zone of the Office Web Apps Server farm. Type this PowerShell cmdlet:  Set-SPWOPIZone -zone “internal-http”

Verify that the new zone is internal-http by running Get-SPWOPIZone again.

7. Change the AllowOAuthOverHttp settings in SharePoint to True – To use Office Web Apps with SharePoint 2013 over HTTP in a test environment, you need to set AllowOAuthOverHttp to True. Otherwise Office Web Apps won’t work. You can check the current status by running the following example: (Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp

If this command returns false, run the cmdlet below to set this to true:

$config = (Get-SPSecurityTokenServiceConfig)

$config.AllowOAuthOverHttp = $true


Run the following command again to verify that the AllowOAuthOverHttp setting is now set to True: (Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp

9.1  Verify that Office Web Apps is Working

Further Information

For more information, read the following resources in this order:

Getting Started with Git

What is Git and GitHub?

Git is a repository version source control system that keeps track of files (of any format) and folder changes that are physically kept on the computer hard drive file (e.g. C drive) or shared network drive structure on Windows or Mac OS.

Meanwhile,  GitHub is an online repository source control on the cloud where it host  unlimited public repository  to individual registered users who sign up fora GitHub account. Once users have a GitHub account, they can begin to upload and publish open source code projects and solutions that are shared to the community.

GitHub also host private repository for individual or as an organization at a monthly price that users have to pay if interested.  Thus GitHub does NOT offer any free online private repository, except for Visual Studio Online that offers private repository for up to the first 5 users.

The starting pricing model (at the time this blog was published) for an organization to host private repository is:

  • $9 / month for the first 5 users hosted at GitHub; or
  • From $21/month for a pack of 10 users hosted on SMS private cloud like Windows Azure.

To get started using Git, follow the steps below:

  1. Download and install Git from this site for either Windows or Mac OS. Accept the default settings in the installation wizard dialog box
  2. Download and read eBook Pro Git by Scott Chacon and Ben Straub that is available to read online for free.
  3. Create a new folder on the desktop hard drive
  4. Right mouse click on the folder and “Git Bash Here”. This will open an Git command prompt window starting on the folder that you have just created in step 3
  5. Create a Git repository under the current working area folder. This is done by going into Git command prompt window,  type: get init
  6. Step 5 will create an invisible “.git” folder inside the current working folder. To display a list of files and folder under current working area, type cmdlet: ls -la

How to add a  file/folder into Git?

The process of adding a file into Git is to add it to a staging area. Then commit (check in) the file in staging area

  1. To add a file to staging areal,  type: git add <file name/folder name> This cmdlet will add individual file or add bulk of files (inside the folder) into the staging area.
  2. Type: git status   This will get the status list of all  files under the working folder area. The status messages are:
  • New files – Recently new files added to staging environment (green font)
  • Untrack files – Files that are not yet committed to Get repository (red font)
  • Changes to be committed – Files that has been added into the staging environment but not yet committed (yellow/orange font)

3. Now you are ready to commit (check-in) the file into Git repository, by typing: git commit -m “revision 1”

4. To verify that the comments was stamp onto the committed files, Type: git log

Other Git cmdlets:

  • Git add .  = Add all the list of untrack files to be ready for commitment in the staging environment area.
  • Git commit -m “add comments here” = Commit all the files in staging. Parameter -n means to add the comments and display message during commit process.
  • Git config -global [email protected] = Add your profile into the committed files
  • Git config -global “David Liong”
  • Git log = Display the last commit process transactions
  • Git checkout <file name> = Undo pending changes made to a file in the current working area $. All save changes made to a file in the current working area will be lost and will be reverted back to the last committed changes in version history
  • Git checkout –<file name> =  Discard files that were deleted in working directory folder. Typically undo deleted file to restore file back from last committed change in  version history. Alternatively use: git checkout <file name> command
  • Get reset HEAD <file name> = Unstage from commit, meaning remove files out of staging environment back and revert file to current working.

Recommended Links

The next step is learn how to get started using GitHub

Office 365 Developer PnP PowerShell Cmdlets

The OfficeDev PnP Cmdlets are a set of cmdlets specifically designed to provision and modify artifacts in SharePoint Online. In this way they differ a bit from the PowerShell cmdlets provided by Microsoft which are mainly focused on administrative tasks. In this post I will introduce you to the basics of the cmdlets.

The cmdlets utilize CSOM behind the scenes, which means that you can run them on any computer that has access to your server over HTTP / HTTPS.

If you want to see the cmdlets in action, please check out this video on Channel 9.


First you need to determine if you want to use the Cmdlets towards SharePoint Online / Office 365, or if you want to use them on-premises. There are two different builds of the cmdlets:

PnPPowerShellCommands15.msi for SharePoint 2013 On-Premises

PnPPowerShellCommands16.msi for SharePoint Online / Office 365.

You can download the releases here:

Download the appropriate package and run the install.


Accept the license agrement and click ‘Install’. The Advanced option allows you to pick if the cmdlets should be installed only for you or if you want to install them for all users on your computer (the latter requires that you have administrative rights with the account you are logged in with).

The install shouldn’t take more than a few seconds.

Using the cmdlets

The cmdlets are using CSOM behind the scenes. CSOM stands for Client Side Object Model and is the default SDK that developers use to build addins for SharePoint. A requirement to use this SDK is that the developer creates a so-called ‘context’ object. Think of a context object as a connection point to the server. In PowerShell we have to do something similar. We ‘connect’ the PowerShell session to your remote server with the Connect-SPOnline cmdlet:

When you enter the command, obviously with a functional url to your server and or Office 365, you will be prompted to enter your user credentials.

After you entered the Connect-SPOnline cmdlet you can execute all the other cmdlets available in the PnP Cmdlets module to perform various tasks.

For instance, to retrieve all the lists in the site:

To retrieve a specific list:


To view a property of the list:

Or to get an overview of all the properties available in the list:

Notice that not all properties might be ‘loaded’ yet. CSOM tries to be efficient when it comes to retrieving data from a SharePoint Server, and this means it will only retrieve those properties that have been explicitely requested. It will for instance never automatically retrieve values of a collection. Let me explain this with an example:

This will return an error as shown in the following screenshot:


This means that while the $list  object has a property called Views, you need to explicitely request it from the server (notice, there is also a Get-SPOView  cmdlet, which returns all the views for a list, but in this case we’re going to retrieve the views the ‘hard way’).

In order to explicitely show the views we need to tell the server to retrieve the collection, and for that we need a ClientContext object. Look at the following PowerShell snippet:


Whats commands are available?

Currently there are over 135 cmdlets available each focused on a specific tasks. It goes to far to describe them all, especially because we have built-in help in PowerShell for the cmdlets after all. To get an overview of all available cmdlets after you installed them, open PowerShell and enter:

This will list all available cmdlets.

If you want more details about a specific cmdlet, for instance about the Get-SPOList cmdlet, enter:

This will return an overview of the supported parameters, a short description per parameter and one or more examples (notice, not all PnP Cmdlets show examples, but most of them do).

If you want you to have a look at all the available cmdlets with your browser, head over here:


Missing functionality or want to contribute?

The cmdlet sourcd code is available in the following github repository: This is a sub repository for the PnP Repository available at In the latter repository you will find a wiki page at that should get you up and running with a pull request, which is the github way of proposing an addition and/or change.

Further Information

Introduction to Office 365 PnP

Getting Started with Office 365 PnP

What is Office 365 PnP (Practice and Pattern)? It is about providing a site provisioning engine to create sites and site collections within a SharePoint Online tenant or a on premise SharePoint farm base on a given definition. The definition of a site provisioning engine is an object describing the provisioned components like list, libraries and features. But also SharePoint security groups, users, site property bags entries and Composed Looks. O365 PnP is also about rising initiatives awareness to the public community about training, best practices and guidance.

With the template provider, the definition object can be transformed to JSON or XML. This works in both ways, so you can transform a XML definition into an object. Therefore you are able to define the structure of a site or site collection in a XML template. The definition object will be referred to as PnP template. Few classic site provisioning techniques is best explain with the blog author Vesa Juvonen who explains these techniques in more detail.

The modern way of site provisioning is remote provisioning. Remote provisioning uses the Client Side Object Model (CSOM) or the REST API to create a site and fill this site incrementally with CSOM/REST requests. This model is suitable for both on-premises and Office 365 online in the cloud, since we control the customizations outside of the SharePoint farm in an independent solution.

To improve the experience using remote provisioning, the Office Dev PnP team created PnP Provisioning. As mentioned earlier, a really great part of PnP Provisioning is defining a site template in a XML using the PnP Provisioning Schema.


Component of PnP

All components of office dev pnp are placed on github. It started in a single repository, but soon the volume of the program became so large, the office dev pnp team decided to split the individual components in separate repositories.

Pnp partner pack
contains the pnp partner pack, a starter kit for customers and partners and combines numerous patterns and practices demonstrated in the pnp samples to one reusable solution, which can be deployed and used in any office 365 tenant.

Pnp sites core
contains the core library and the pnp provisioning engine. The pnp provisioning engine helps to deploy customizations to remote sharepoint environments.

Pnp powershell
contains powershell wrappers to the functionalities of pnp core.

Pnp guidance
contains the documentation and guidance of the program. The contents of the master branch are published to dev.Office.Com and msdn.

Pnp office add-ins
contains samples of how to work with the html and javascript based office add-in model.

Pnp tools
contains more tools, code packages and scripts for the on-premises and hybrid setup, than purely for the office 365 operations. Using classic terminology, this could be considered more targeted for it pro’s, architects and administrators in on-premises deployments.

Pnp transformation
contains the farm solution to add-in model transformation tooling and guidance.

Pnp provisioning schema
contains the provisioning schema for pnp provisioning in XML format, a community driven effort for designing one schema which can be used to define elements in the office 365.

To get started with Office 365, below are some top useful links to begin with:

1. Watch this video title “How to get started with Office 365 PnP” webcast from Channel 9 video blog. You can download the presentation slide for this video here


2. Visit the O365 PnP home page at: 
From this homepage go to the trainining section and watch the videos:

* To find and download the Power Point presentation slides for each video, go to and search for the video title.
* Each training video also contains its sample source codes which can be found at this GitHub site:


3. Visit the O365 PnP GitHub open repository site to explore sample codes and other useful links.


4. To find and search for relevant sample codes and documentation guide on using O365 PnP, go to


5. Install the following tools:


6. Create a Console application project in VS to provision a document library into O365 SharePoint site. For sample code watch the video title “How to get started with Office 365 PnP
Other useful links of sample codes for  specific project needs are:

Introducing PnP Core Component

Site collection and sub site provisioning:

PnP Partner Pack:

Further information