Office web apps server 2013 allows us to view and edit office documents (Word, Excel, PowerPoint and OneNote) directly in browser without needing Microsoft Office installed on Client machine. OWA is considered as LITE version of Microsoft Office Client. This implementation guide walks through step by step on how to install and configure single-server office web apps 2013 with SharePoint Server 2013.
Unlike its previous version, Office Web Apps 2013 must be installed on its own server(s) and can’t be installed on the same machine where SharePoint is installed. Not just SharePoint, but you can’t install Office Web App 2013 on servers where any one of this product is installed: SharePoint, Exchange, Lync, SQL Server, Microsoft Office, Any server with web services running on Port 80/443!
Steps at high level
- Install prerequisites
- Add server roles, services and features
- Download and install Office Web Apps Server
- Create Office Web Apps Server Farm
- Create Bindings on SharePoint to integrate Office Web Apps Server
- Set OWA Zone
- Allow OAuth Over HTTP
Before you start:
- Your SharePoint Web Application must be using Claims Authentication! If not, convert it from Classic to Claims authentication.
- Make sure Office Web Apps Server is able to communicate with SharePoint Web Application. Create necessary DNS (or HOST Header) entries are created for your SharePoint web application. (Hit SharePoint Web Application URL from OWA Server to verify)
1) Install Prerequisites
Depending on the server operating system (Windows Server 2008 R2-SP1 / Windows Server 2012 SP1), Get the detailed system requirements for Office Web Apps 2013 at: https://docs.microsoft.com/en-us/webappsserver/plan-office-web-apps-server
For Windows Server 2008 R2, Download and install these patches:
- Update the server with Windows Server 2008 R2 Service Pack 1 through Windows update.
- .NET Framework 4.5
- Windows PowerShell 3.0
1(1) Add Server Roles, Services and Features
While it’s possible to add required server roles (E.g. IIS Web Server) and features using Server Manager, There is an efficient way: PowerShell! Let’s run these PowerShell scripts to add required roles:
For Windows Server 2008 R2 – SP1:
Open the Windows PowerShell as an administrator and run the following cmdlets:
Import-Module ServerManager #Add Roles & Features - Do not Break this line Add-WindowsFeature Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,Web-Security,Web-Windows-Auth,Web-Filtering,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Console,Ink-Handwriting,IH-Ink-Support
To Add required features in Windows Server 2012, Use this PowerShell script:
the restart prompt appears after installation. Do restart the server!
2.0 Download and Install Office Web Apps Server
Download Office Web Apps Server 2013 from Microsoft Volume licensing site. You will get an .IMG file. Extract/Mount it with ISO tools. I used 7-Zip to extract the IMG file.
- Once extracted, Run “Setup.exe” File from the installer media to begin the Office Web Apps Server 2013 installation. Check “I accept the terms of this agreement ” and click on “Continue” button
- Select a file location to install Office Web Apps Server (E.g. C:\Program Files\Microsoft Office Web Apps) and click on “Install Now”
- Wait for the installation to complete.
- Click on Close on completion.
After Office Web Apps 2013 Server is installed, you can install any additional patches and language packs from: http://technet.microsoft.com/en-us/office/ee748587.aspx .Follow this guide to apply Office web apps 2013 patch: http://technet.microsoft.com/en-us/library/jj966220.aspx
3.0 Create New Office Web Apps Farm
Once installed, the next step is to: Create Office Web Apps Server Farm! This can be done only with PowerShell.
New-OfficeWebAppsFarm -InternalURL http://OfficeWebAppsSrv.Crescent.com -AllowHttp -editingEnabled
- InternalURL: is FQDN of the server which runs OWA
- AllowHttp: By default OWA runs on Https. Let’s instruct we are allowing Http!
- EditingEnabled: Allows Office documents to be edited using OWA. Please note, we need Office Client licenses for this functionality.
Technet reference on New-OfficeWebAppsFarm: http://technet.microsoft.com/en-us/library/jj219436.aspx
Verify Office Web Apps Farm
Verify the Office Web Apps Farm created by hitting the URL in browser: http://OfficeWebAppsSrv.Crescent.com/hosting/discovery
It should render a XML file that looks the above screen.
4.0 Create Office Web Apps Binding on SharePoint Server
So now, Office Web Apps Server farm is created. The next step would be binding Office Web Apps with SharePoint server, so that office web apps integrate with SharePoint contexts.
Let’s Login to SharePoint Farm, Create a WOPI binding. Open the SharePoint 2013 Management Shell prompt as an administrator and run:
New-SPWOPIBinding -ServerName "OfficeWebAppsSrv.Crescent.com" -AllowHTTP
- ServerName – is the FQDN of the OWA farm server we just created. It should be the same as the –InternalURL used earlier. (Don’t use ‘http://’ in the server name parameter, just the FQDN of the server.)
- AllowHTTP – By default OWA server farm uses Https protocol. We’ll force it to recognize http
- We’ve established a communication between Office Web Apps Server 2013 with SharePoint Server 2013.
Technet Reference for New-SPWOPIBinding: http://technet.microsoft.com/en-us/library/jj219441.aspx
4 (1) Set WOPI Zone:
For Secure communication, office web apps server uses HTTPS protocol. If its for internal use, that can be compromised and we can instruct office web apps server to use HTTP. Here is how:
Set-SPWOPIZone -zone Internal-http
We can verify it by:
Technet Reference for Set-SPWopiZone: http://technet.microsoft.com/en-us/library/jj219439.aspx
4 (2) Allow OAuth Over HTTP:
Similarly, we got to allow OAuth over HTTP as well. Get the current configuration by running:
By default, this returns false. So we got to change OAuth to allow HTTP. Here is the command:
$OAuth = (Get-SPSecurityTokenServiceConfig) $OAuth.AllowOAuthOverHTTP = $true $OAuth.update() #Check the status: (Get-SPSecurityTokenServiceConfig).AllowOAuthOverHTTP This should returns TRUE
Done! Let’s see OWA in Action!!
Browse to your SharePoint 2013 site. Click on the Call-out menu of any office document, Make sure you are getting thumbnail preview. Verify on clicking on office documents launches office web apps.
If you have .NET Framework 3.5 installed already, you may get: HTTP Error 500.21 – Internal Server Error” at verifying Office web apps step.
Don’t panic! If you are running Windows Server 2008 R2, Run these commands in command prompt:
iisreset /restart /noforce
For Windows Server 2012:
dism /online /enable-feature /featurename:IIS-ASPNET45
Unable to Launch Office Web Apps – Error: “Sorry, there was a problem and we can’t open this document. If this happens again, try opening the document in Microsoft Word.”
If you are getting above error, verify your AAM entries first! Make sure OWA Server is able to connect with SharePoint Web Application by hitting SharePoint Web Application URL in browser from OWA Sever. In case of HTTPS, make sure your certificates are placed under “Trusted Certificate Authority” of OWA Server as well. OWA doesn’t work when you login using “System Account”
Make sure Bindings OWA Zone & Allow OAuth Over HTTP is properly set!