Tips And Tricks For Office Online Server Deployment In SharePoint 2016

Here, I will list some tips, tricks, and information for a successful deployment of Office Online Server 2016 for SharePoint Server 2016.

  • Office Online Server 2016(OOS) is a new version of Office Web Apps 2013.
  • Configuration of Office Online Server is only possible via PowerShell, no GUI like SharePoint.
  • No SQL Server or database requirement.
  • OOS support deployment is supported on both physical as well as virtual machines.
  • OOS should install on the Dedicated Server.
  • The precautions that need to be followed are

    • No other Server Application should be installed on it.
    • No Office version should be installed on Office Online Server.
    • Don’t Install OOS on the Domain Controller.

  • Multi Server Farm and Load-Balancer

    • Single OOS Farm supports multiple deployment; i.e., a single Farm can bind with SharePoint, Exchange and Skype for business.
    • OOS farm can be a single Server or multiple Server Farm like SharePoint.
    • You can add more Servers into OOS farm anytime, it is flexible.
    • All the Servers in the OOS Farm must be in the same data center.
    • You need a LoadBalancer, if OOS Farm consists of more than 1 Server.
    • LoadBalancer should meet the requirement given below.

      • Layer 7 routing
      • SSL Offloading or SSL Bridging
      • Enabling client affinity or front-end affinity

  • Hardware and Software Requirement

  • Language Packs

    • OOS Server supports multiple languages. Download the language packs from this link.
    • It is highly recommended to install the base language pack before applying any updates to Farm.
    • Same language pack must be installed on both (OOS and SharePoint).
    • Language pack must be installed on all the Server in OOS Farm.
    • There are no separate updates for the language packs.

  • Authentication and Firewall

    • OOS only supports the claims based authentication on Web Application and will not be classically based
    • OOS supports both Http & Https.
    • OOS can be accessed via Internal or External URL or both, using either http or https.
    • It is recommended to use the Https for the Incoming traffic.
    • No firewall blocking between OOS and SharePoint host.
    • Make sure the ports given below are not blocked in Firewall or used by other applications.

      • 443 for HTTPS traffic
      • Port 80 for HTTP traffic
      • Port 809 for private traffic between the servers that run Office Online Server

  • SSL

    • SSL certificate must be installed on SharePoint Farm (using Central admin > security manage trust, you can add it).
    • SSL certificate from the trusted certificate authority.
    • SSL certificate in OOS must include FQDN of OOS in Subject Alternate Name.
    • If you have multiple servers in OOS farm, all server’s FQDN must be in Subject Alternate Name.

  • Configuration http

    • To create single Server OOS Farm over Http (not recommended for the Production farm, as you can run this on OOS Server)

      • New-OfficeWebAppsFarm -InternalURL "http://KF-OOS" -AllowHttp -EditingEnabled

    • Configure SharePoint Server to use Office Online Server, using Http, and run the following commands, as you can run this on SharePoint Server).

      • New-SPWOPIBinding -ServerName kf-OOS.krossfarm.com -AllowHTTP

    • To set the WOPi Zone (Run this on SharePoint Server).

      • Set-SPWOPIZone -zone "internal-http"
    • If you use Office Online Server over http (which is highly recommended for the Test environment only), then you have to configure the Oauth over http otherwise it won’t work. (Run this on SharePoint Server).

      • $config = (Get-SPSecurityTokenServiceConfig)
      • $config.AllowOAuthOverHttp = $true
      • $config.Update()

    • To test the OAuth over http, run the command given below.

      • (Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp

  • Configuration https

    • To create single Server OOS Farm over Https (Run this on OOS server)

      • New-OfficeWebAppsFarm -InternalUrl "https://Kf-OOS.krossfarm.com" -ExternalUrl "https://ex-kfoos.krossfarm.com" -CertificateName "OfficeWebApps Certificate" -EditingEnabled

    • To configure SharePoint Server to use Office Online Server, using Https, run the commands given below. (Run this on SharePoint Server).

      • New-SPWOPIBinding -ServerName kf-OOS.krossfarm.com

    • To set the WOPi Zone. (Run this on SharePoint Server).

      • Set-SPWOPIZone -zone "internal-https"

  • Excel Service

    • Excel Service is now a part of OOS.
    • Build server-to-server authentication between SharePoint Server 2016 and Office Online Server 2016, in order to use the advanced feature of OOS ( I.e. referesh Excel data).
    • To enable Excel SOAP API, one needs the prerequisites given below.

      • $Farm = Get-SPFarm
      • $Farm.Properties.Add("WopiLegacySoapSupport","<URL>/x/_vti_bin/ExcelServiceInternal.asmx");
      • $Farm.Update();

  • Wopi Zones

    • SharePoint Server uses WOPI zones given below.

      • Internal-http
      • Internal-https (default)
      • External-http
      • External- https

    • If you want to use the external URL, run the WOPI zone command. There is no need to use the Internal zone. 

      • Set-SPWOPIZone -zone "external-https"
  • Testing

    • After successful installation, you can test OOS via http://OOS Server/hosting/discovery.
    • Office Online Server cannot be tested via System account. You need a user account to test it.
    • Browse to SharePoint Site and open any Office document, if it is open in Office Online (Browser), then your configuration is correct.
    • Go to Search center and search for Office document, Hover the mouse on the URL & you will see the Document Preview in Popup Window.

  • Always monitor Office Online Server, at least for the memory usage, if the Servers run out of memory, then it can fail.
  • To disconnect Office Online Farm from SharePoint 2016, run the command given below.

    • Remove-SPWOPIBinding -All:$true

  • Updates and PowerShell

    • By default, Windows PowerShell includes Office Online Server module but for reference here module is to be used to import all OOS PowerShell commands

      • Import-Module -Name OfficeWebApps.
        o To apply the updates to Office online Server, you have to remove the Server first, then apply the updates.
      • Remove-OfficeWebAppsMachine.

    • Once Server is upgraded, then add the Server into Farm by running new command.

      • New-OfficeWebAppsFarm (please use the same parameters which you used initially when OOS farm was set up)

    • Some handy PowerShell commands are given below.

      • $OOS = Get-OfficeWebAppsFarm
      • $OOS.Machine #this command will return all the machine in OOS farm with its status.
      • $OOS.LogLocation # this command will return the location of log files.
      • $OOS.AllowHttp #this command will return true if allowed http is enabled.
      • $OOS.InternalURL #this command will return the Internal URL.
      • $OOS.ExternalURL #this command will return the Internal URL.

Reference