Monday, 6 August 2012

Microsoft Web Apps Server Preview Configuration Guide


As Microsoft releases its Preview of SharePoint, Lync and Exchange alot of things have changed. One that I am writing about is the new Web Apps Server. This is now a required component for browser-based file viewing and editing functionality for Office files. Here is a quick highlight of the Web Apps.

SharePoint 2013 Preview Users can access Office files from SharePoint document libraries by using Word Web App Preview, Excel Web App Preview, PowerPoint Web App Preview, and OneNote Web App Preview.

Lync Server 2013 Preview Users can broadcast PowerPoint presentations by using Lync 2013 Preview and Lync Web App. Broadcasting is enhanced to support higher-resolution displays and a wider range of mobile devices than in earlier versions. Users who have the appropriate privileges can scroll through a PowerPoint presentation independent of the presentation itself.

Exchange Server 2013 Preview Users of Outlook Web App can preview Office file attachments by using Word Web App Preview, Excel Web App Preview, and PowerPoint Web App Preview. These previews provide rich, full-fidelity viewing of Office files and any comments within them, without the need to download the files before viewing them.

For prerequists the Web App Server must be running Server 2008 R2 SP1 or Server 2012. Cannot be installed on any other server running Lync, Exchange or SharePoint. and must not have any version of Office installed.
For my guide I will be using Server 2012.

This guide will come into use in Part 2 of my Lync Server 2013 Preview Guide as its required for the front-end configuration.

So to start off I have a Virtual Machine running Server 2012. Web Apps is fully supported in a virtual enviroment but ONLY if its running Hyper-V.

To prepare a server that runs Windows Server 2008 R2 install the following software:

Windows Server 2008 R2 Service Pack 1 and all required updates
.NET Framework 4.5 RC
Windows PowerShell 3.0
For Windows Server 2008 R2 SP1 run the follwing powershell script to install the requires roles and features
PS C:\> Import-Module ServerManager
PS C:\> 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

Also you will need to install hotfix KB2592525 which resolves a DirectWrite issue. The KB hotfix can be downloaded from this link.

For Server 2012 run this set of powershell scripts for required roles and features.
PS C:\> Import-Module ServerManager
PS C:\> 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

After roles/features are installed you will be prompted to reboot your server.


Next step is to download the Web App Bits found here

So with our Server roles and features installed, server rebooted and the Web App package downloaded, time for installation.

Mount/Extract the img file and double click on Setup.exe


Proceed with accepting the terms, choose a file location and click "Install Now".

And less then 6 minutes later, its installed :)

After the installation, Open PowerShell 3.0 and import the OfficeWebApps Module

PS C:\> Import-Module OfficeWebApps

PS C:\> New-OfficeWebAppsFarm -InternalUrl "https://server.domain.com" -ExternalUrl https://webapp.domain.com –CertificateName "OfficeWebApps Certificate" -EditingEnabled

Verify that the Office Web Apps Server farm was created successfully

Open Internet Explorer and navigate to https://server.domain.com/hosting/discovery

If Office Web Apps Server Preview works as expected, you should see a Web app Open Platform Interface (WOPI)-discovery XML file in your web browser. The first few lines of that file should resemble the following example:

<?xml version="1.0" encoding="utf-8"?><wopi-discovery><net-zone name="internal-https"><app name="Excel" favIconUrl="https://webapps.lyncmeblog.local/x/_layouts/images/FavIcon_Excel.ico" checkLicense="true"><action name="view" ext="ods" default="true" urlsrc="https://webapps.lyncmeblog.local/x/_layouts/xlviewerinternal.aspx?&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;" /><action name="view" ext="xls" default="true" urlsrc="https://webapps.lyncmeblog.local/x/_layouts/xlviewerinternal.aspx?&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;" /><action name="view" ext="xlsb" default="true" urlsrc="https://webapps.lyncmeblog.local/x/_layouts/xlviewerinternal.aspx?&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;" /><action name="view" ext="xlsm" default="true" urlsrc="https://webapps.lyncmeblog.local/x/_layouts/xlviewerinternal.aspx?&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;" /><action name="view" ext="xlsx" default="true" urlsrc="https://webapps.lyncmeblog.local/x/_layouts/xlviewerinternal.aspx?&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;" /><action name="edit" ext="ods" requires="update" urlsrc="https://webapps.lyncmeblog.local/x/_layouts/xlviewerinternal.aspx?edit=1&amp;&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;" /><action name="edit" ext="xlsb" requires="update" etc.........>

Note:
If components of the .NET Framework 3.5 were installed and then removed, you might see “500 Web Service Exceptions” or “500.21 – Internal Server Error” messages when you run OfficeWebApps cmdlets. To fix this, run the following sample commands from an elevated command prompt to clean up settings that could prevent Office Web Apps Server from functioning correctly:

%systemroot%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -iru

iisreset /restart /noforce

Now your Office Web Apps Server is ready for Exchange 2013 or Lync 2013.

Lync Server 2013 Extensible Messaging and Presence Protocol (XMPP) Federation

This is an anticipated feature of Lync, I have read dozens of blogs about about configuring Lync Server 2010 for use with a OCS XMPP Gateway or a 3rd party gateway, but for a lot of professionals out there this is an unwanted daunting task. Now with Lync Server 2013 Preview the XMPP function is built right in.

The XMPP functionality is delivered in two parts: an XMPP proxy that runs on the Edge Server and the XMPP gateway that runs on the Front End Servers.

Below are the additional Firewall and DNS requirements for the XMPP service.


Firewall Summary for Extensible Messaging and Presence Protocol


Protocol/TCP or UDP/Port Source (IP address) Destination (IP address) Comments
XMPP/TCP/5269IP address or addresses of XMPP federated partnersAccess Edge ExternalStandard server-to-server communication port for XMPP. Allows communication to the Edge-deployed XMPP proxy from federated XMPP partners
XMPP/TCP/5269Access Edge ExternalIP address or addresses of XMPP federated partnersStandard server-to-server communication port for XMPP. Allows communication from the Edge-deployed XMPP proxy to federated XMPP partners
XMPP/MTLS/23456Standard Edition Server IP or Pool virtual IPInternal Edge Interface IPInternal XMPP traffic from the XMPP Gateway situated on the Front End Server or Front End pool to the Edge Server

Protocol/TCP or UDP/Port Source (IP address) Destination (IP address) Comments
XMPP/TCP/5269IP address or addresses of XMPP federated partnersAccess Edge ExternalStandard server-to-server communication port for XMPP. Allows communication to the Edge-deployed XMPP proxy from federated XMPP partners
XMPP/TCP/5269Access Edge ExternalIP address or addresses of XMPP federated partnersStandard server-to-server communication port for XMPP. Allows communication from the Edge-deployed XMPP proxy to federated XMPP partners
XMPP/MTLS/23456Standard Edition Server IP or Pool virtual IPInternal Edge Interface IPInternal XMPP traffic from the XMPP Gateway situated on the Front End Server or Front End pool to the Edge Server

Protocol/TCP or UDP/Port Source (IP address) Destination (IP address) Comments
XMPP/TCP/5269IP address or addresses of XMPP federated partnersAccess Edge ExternalStandard server-to-server communication port for XMPP. Allows communication to the Edge-deployed XMPP proxy from federated XMPP partners
XMPP/TCP/5269Access Edge ExternalIP address or addresses of XMPP federated partnersStandard server-to-server communication port for XMPP. Allows communication from the Edge-deployed XMPP proxy to federated XMPP partners
XMPP/MTLS/23456Standard Edition Server IP or Pool virtual IPInternal Edge Interface IPInternal XMPP traffic from the XMPP Gateway situated on the Front End Server or Front End pool to the Edge Server
XMPP/TCP/5269 
Standard server-to-server communication port for XMPP. Allows communication to the Edge-deployed XMPP proxy from federated XMPP partners


I am currently working on my Lync Server 2013 Preview Edge Deployment Guide. Once I have the guide published I will be publishing another article on all the steps on configuring Lync Server 2013 with Google Talk, which uses XMPP.