Deploying Office Online Server for Exchange 2016 – Part 1

One of the new features of Exchange 2016 is the inclusion of “Modern Attachments”. Modern Attachments are not attachments at all, but links to Office documents that are stored within SharePoint sites but presented to look like attachments within email messages. Modern Attachments are a great step forward in that they allow users to continue to use attachments in the way they are used to while removing those files from your Exchange 2016 servers.

To enable Modern Attachments in Exchange 2016, we are going to have to deploy Office Online Server. You may know this product by several acronyms (WAC, OWAS), but it is now called OOS. I had originally written an explanation of all the different names and acronyms for different products here, but it made no sense when I was done. Let’s just pretend that Microsoft has not renamed a whole bunch of products, and go with the current names. That way we'll all stay a little bit saner.

WAC 2010 (WAC was the acronym for Office Web Apps Server. Don’t ask.) and WAC 2013 were earlier versions of OOS. WAC 2010 was a SharePoint add-on used exclusively with SharePoint. WAC 2013 was a separate server that was used for Lync and SharePoint 2013. It was “sort of” used for Exchange 2013, but I never ran into an Exchange 2013 deployment that made use of WAC 2013.

Office Online Server Preview is available at this link. Please note the publish date of this article. If you are currently in the future, you are likely to be deploying the final release version of Office Online Server. Hopefully it is pretty close to the preview version I am using for this article. If not, maybe I am in the future too and I have updated this article.

For this deployment I will be using my Exchange hybrid lab hosted in Azure. I have 3 servers (One DC/Azure AD Connect server, One Exchange 2016 server, and one OOS server). All servers have been configured to be on the same VLAN. There is an existing Exchange hybrid configuration with my Office 365 tenant. All 3 servers are running Windows Server 2012 R2.

There are no published hardware requirements for OOS at this point, so I’m going to make a wild guess here. Hopefully in the future they’ll be more clear, but based on the guidance for WAC 2013 (“The same as SharePoint 2013”), I wouldn’t hold my breath. I found some practical guidance from a SharePoint guy of 4 cores, 12 GB RAM, and at least 80GB hard drive space.

I’m going to setup my OOS server for ports 80 and 443. If I was doing a farm, I would need port 809 for communication between the OOS servers in the farm.

WAC 2013 does not support wildcard certificates, so I am going to assume OOS does not either. Since the good folks at DigiCert give MVPs loads of certificates for free, I’m OK with getting a new certificate specifically for this server. With WAC 2013 the certificate needs to include the name of the server as a SAN, so I will make that inclusion here. If I didn’t get so much free stuff, this would be spendy.

After my new server is patched and joined to the domain, I need to install the prerequisites for OOS on Server 2012 R2. I can do that via this simple PowerShell command

Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices,NET-Framework-Features,NET-Framework-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45

In addition, I will need to install .NET Framework 4.5.2

Before you can get OOS configured you’ll need to install a certificate. Launch IIS and go to Server Certificates to create a certificate request file. WAC 2013 requires that the common name for your certificate match your server name, and that the external URL for your service be listed as a SAN on your certificate.

Once that is all done and the server has been rebooted, it time to install OOS. Mount the disk image file (easily done on Server 2012 R2, just click it) then run Setup.exe.

Accept the license terms, and choose an install location for the installer to get going. The installer does mention Office Online Server 2013, but I assume that will be fixed by the time this product goes GA to say 2016.

After the installer runs, you get a nice screen that thanks you for installing OOS. If you look in the installed Apps for your server, you’ll see nothing new. Checking Administrative Tools will likewise give you no help in configuring your new OOS. All the configuration for OOS is done via PowerShell.

Do not try to use the GUI. That’s impossible. Instead… only try to realize the truth. There is no GUI. Then you’ll see that it is not the GUI that bends, it is only yourself.

To create your OOS farm, simply run the following command (changing URLs as needed)

New-OfficeWebAppsFarm -InternalURL https://oos.mcsmlab.com -ExternalURL https://oos.mcsmlab.com –EditingEnabled:$True -CertificateName MCSMLABOOS1

PowerShell will ask you to confirm that you have the correct licenses to support editing. Then you’ll see the output of Get-OfficeWebAppsFarm to confirm that your farm is up and running.

To confirm that everything is working as expected you can navigate to https://oos.mcsmlab.com/hosting/discovery and you should get a nice big page of XML data.

If you plan to add additional servers to your farm, you’ll need to configure each server exactly the same as the first one and ensure port 809 is open. The command to add additional servers is

New-OfficeWebAppsMachine –MachineToJoin <ServerName>

We’ll cover connecting your new OOS farm to Exchange (and maybe even SharePoint and Skype for Business) in part 2.

-Nathan

Continue reading this series in Part 2