Office Web Apps, which is now Office Online Server, allows to display/edit Office documents(Word, Powerpoint, Excel…etc) on a Web Browser, which is advantageous when working with SharePoint, thus Users don’t have to switch from a Browser to Office App to see or to edit a document.
Today i faced a Problem that made me crazy while connecting SharePoint and Office Webapps(Office Server Online).
When i run the command
New-SPWOPIbinding -ServerName srv-apps
I got the error : “The Server does not respond, trying again”, if i add the parameter -AllowHttp it works though… but here i am trying to implement a HTTPS connection.
So here the steps that i followed to resolve the problem.
Office Server Online :
Before starting the Setup.exe from the Installation DVD, you should install those Windows-Feature prerequisites :
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,
NET-Framework-Features,NET-Framework-45-Features,NET-Framework-Core,NET-Framework-45-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,
NET-WCF-HTTP-Activation45,Windows-Identity-Foundation,Server-Media-Foundation
Now you are ready to start the Setup.exe.
After the installation let’s configure our Office Server Online Farm :
New-OfficeWebAppsFarm -ExternalUrl “https://webapps.sharepoint.yourdomain.com” -InternalURL “https://webapps.sharepoint.yourdomain.com” -EditingEnabled -CertificateName “SharePoint Certificate”
3 important things :
- The Url i chose was a subdomain of my sharepoint domain for the only reason that i wanted to use one single Certificate for both of them
- ExternalURL and InternalURL are also the same : it was unfortunately the only solution i found to bypass the LoadBalancer problem
- Of course don’t forget the DNS entry webapps.sharepoint.yourdomain.com <-> Officer Server Online
Last step on the Office Online Server is to load the certificate on IIS :
SharePoint :
Now lets move on to SharePoint and it is quite easy, we first need to set a Property on the Farm’s Propertybag.
$farm = Get-SPFarm
$farm.Properties.Add(“WopiLegacySoapSupport”, “https://webapps.sharepoint.yourdomain.com/x/_vti_bin/ExcelServiceInternal.asmx”)
$farm.Update()
Another step is to allow OAuth over HTTP
$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOaAuthOverHttp = $true
$config.Update()
Next Step is to create the Binding
New-SPWOPIBinding -ServerName webapps.sharepoint.yourdomain.com
Here it is important to give the FQDN that you used as internal URL, if you just use the server name you will get the error mentioned up.
and last but not Least set the Zone, you can use “internal-https” if your farm is only internally accessible, otherwise you should use “external-https”
Set-SPWOPIZone -zone “external-https”
Finally :
To test if it worked navigate to a SharePoint SiteCollection and you will notice that when you click on “+ new” inside a Library you will now get the Office Templates, instead of the Upload Pop-Up.
You will also be able to see the Document Preview and of course open the document in the Browser instead of getting it downloaded.
Thank you for posting this! It was needed on a friday night….nuff said 🙂
You are welcome Brian, i am glad it helped you
Wrong script is mentioned in the blog. May be a typo.
AllowOaAuthOverHttp is written instead of AllowOAuthOverHttp. character A is not requied after O.
Correct script:
$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$config.Update()
what if the SharePoint farm is non-https and office online server is https…in this case how to configure the office online server on SP( which is non-ssl)
I would say it wouldn’t work : SharePoint http would be referencing https which is in basic Web a security issue and will not be supported by the browser.
This is my answer without testing it