In a earlier blog post I explained the basics of Lync Server 2010 and how to install Lync Server 2010, including a Lync Edge Server and a reverse proxy to publish the accompanying web services.
Microsoft has recently released Lync Server 2013 so it’s time to have a closer look at installing this version. Like the previous articles this article explains how to install a green field environment so there’s no ‘old’ version installed. In the previous blogs I have been working with Lync Server 2010 Standard edition, this blog is based on the Enterprise Edition of Lync Server 2013. There are multiple differences between Standard and Enterprise:
- Enterprise is using a dedicated SQL Server which can run on a clustered server for high availability. The Standard Edition is running on SQL Express;
- Enterprise is more scalable. Servers are grouped in pools and a pool can contain multiple servers so you can have an Edge pool that contain multiple Edge servers for redundancy. Load balancing can be based on hardware load balancers (best practice) but DNS Round Robin can be used as well. Since the Lync client is aware of this technique an outage of an Edge server will result in a small loss of connectivity of the client. It will automatically reconnect to another Edge server;
- Lync standard is targeted towards max 5,000 users while Lync Enterprise is targeted towards 100,000+ users;
The basics of Lync Server 2013 are the same as in Lync Server 2010, so there’s a Central Management Store that stores its data in a SQL Database. The Standard Edition uses a SQL ExDCpress installation while the Enterprise Edition stores its data in a dedicated SQL Server.
In a couple of blog posts we’re going to install a Lync 2013 (Enterprise) Front-End server (this post), followed by a Lync Edge Server and a Lync Mediation Server for SIP trunk connectivity. The CMS data is stored on a separate SQL 2008 R2 server.
The external domain for e-mail is webmail.exchangelabs.nl. For the new Lync environment the same domain name is used, although this can be different per deployment of course.
Installing Lync Server preprequisites
Step 1 is to install the prerequisite software for the new Lync 2013 Front-End server (which will be part of Front-End pool). Since Active Directory needs to be changed by the setup application the Administration tools need to be installed. Logon to the new Lync 2013 Front-End server, open an command prompt and enter the following command:
ServerManagerCmd.exe –I RSAT-ADDS
When done the server needs to be rebooted.
The next step is to deploy the prerequisite software. For Windows Server 2008 R2 the following software is required on the server:
- Microsoft .NET Framework 4.5 (http://go.microsoft.com/fwlink/?LinkID=264944)
- Powershell 3.0 (part of the Windows Management Framework 3.0 – http://www.microsoft.com/en-us/download/details.aspx?id=34595)
Step 3 is to install the Lync Server core binaries like the setup application, Lync Management tools, Deployment Wizard etc. A warning message is shown that the Visual C++ binaries need to be installed. Click Yes to automatically install this software.
Follow the wizard to install the initial binaries:
The Deployment Wizard is roughly the same as in Lync Server 2010. To prepare the Active Directory for Lync Server 2013 select the Prepare Active Directory option in the main menu. In the Prepare Active Directory for Lync Server select the various options consecutively.
To use the Topology Builder in Lync Server 2010 for creating the new Lync topology you have to install the Administrative Tools first. This can be selected from the Deployment Wizard.
Once done select the Topology Builder from the Lync 2013 start menu and select New Topology in the initial startup screen.
Follow the wizard to enter the new configuration data:
- Primary SIP domain (i.e. Exchangelabs.nl)
- Additional SIP domains when needed
- The SITE name in Lync (this is NOT the Active Directory site, but a site that’s created in Lync Server 2013), for example Amsterdam
- City, State and Country/Region code. This is not a country name, but its corresponding country code, for The Netherlands this is “31”
Continue the wizard with the New Front-End Wizard where more Lync specific information needs to be entered:
- Pool FQDN, i.e. Lyncpool.exchangelabs.nl. This is the FQDN clients are using to connect to. In this example Enterprise Edition Front-End Pool is select so multiple servers can be used.
- The local (internal) FQDN of the first Lync Front-End server. Multiple servers can be entered at once, but I prefer to build a Lync environment gradually so I always start with one server and add more servers once the environment is up-and-running.
- The features that will be configured. Like the previous step, I always start with only one (Conferencing) service and add more services gradually once the first server is up-and-running.
- Collocate Medation Server. This is not supported with a direct SIP trunk and should not be used when Enterprise Voice is mission critical to your organization. A dedicated Mediation Server will be installed later on in the process.
- Select the SQL server store. Since this is a new environment a new server has to be selected using the New… button.
- Select the File Store. In an Enterprise Server environment the File Store cannot be located on the Front-End server, however this is possible when using a Standard Server. When configuring, make sure the account used for setup has Full Control over the file share.
- External Base Url (most likely the same as the Lyncpool URL)
- Associate the new Lync Pool with an Office Web Apps server (if you have one of course)
When finished your topology should look something like this:
You can now right click on the site in the Topology Builder and select Topology and then Publish. This will configure the SQL server, create all databases etc. automatically.
If you-con want to use dedicated disks in SQL Server (recommended for large implementations) for storing all Lync related databases the SQL Server should be configured manually from the Lync Server. Open the Lync Management Shell and enter the following command:
Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn sql01.wesselius.local -DatabasePaths “G:\CSLogs”,”F:\CSDB”
This will create the databases for the Central Management Store on the selected server and configure the database on drive F:\ and the accompanying log files on drive G:\
To install the additional Lync related databases on the SQL server use the following command. Just like the CMS database the additional databases are located on disk F:\ and the accompanying log files are located on drive G:\
Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn sql01.wesselius.local
Note. For more detailed information on database installation using the Lync Management Shell please visit the following TechNet site: http://technet.microsoft.com/en-us/library/gg398832%28v=ocs.15%29.aspx
Now that the SQL databases are created the Lync topology can be published and stored into the databases on the SQL server. In the Topology Builder right click the Central Site and select Publish.
Since all databases are already created on the SQL server this won’t take too much time.
Now that the topology is successfully published in the Lync databases it’s time to install the first Lync server which is the first Front-End server, in our example the lyncpool01.wesselius.local.
Besides the prerequisites that I mentioned earlier in this blog the Windows Identity Foundation needs to be installed as well as (some parts of) Internet Information Server.
In Windows Server 2012, open the Powershell and enter the following commands:
Add-WindowsFeature RSAT-ADDS, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Desktop-Experience, Telnet-Client, BITS -Source D:\sources\sxs
In Windows 2008 R2 SP1, open the Powershell and enter the following commands:
Add-WindowsFeature RSAT-ADDS, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Desktop-Experience, Telnet-Client, BITS
Note. For more and detailed information on all required prerequisite software please visit this TechNet site: http://technet.microsoft.com/en-us/library/gg398103.aspx – Install Operating Systems and Prerequisite Software on Servers
After installing reboot the server and once rebooted start the Deployment Wizard again. In the welcome screen select Install or Update Lync Server System.
In the Lync Server Deployment Wizard select Step 1: Install Local Configuration Store. This will install SQL Express on the server, read all information from the CMS and copy all required information into the SQL Express instance. This can take some time, especially the installation of SQL Express.
Step 2 is Setup or Remove Lync Server Components. The setup application will read the information from the SQL Express instance and install the appropriate lync server roles on this server. This is pretty straightforward.
Step 3 is to Request, Install and Assign Certificates. For this step to complete it is strongly recommended to have an internal Certificate Authority (CA). There are two certificates that need to be requested (in Lync Server 2010 this was only one!).
Follow the wizard and request, create and assign the internal certificates. All internal domain clients and server will automatically trust these certificates.
Once the certificates are assigned you can start the services (step 4) and check if the services are up-and-running (step 5). Although not really needed, I usually reboot the server once the setup is finished to make sure that everything is starting as it should be.
The last step (not in the wizard) is to create an IP address in the internal DNS for the pool FQDN (i.e. Lyncpool.exchangelabs.nl) and a service record in the internal DNS so Lync clients can automatically determine where the Lyncpool is located.
Before we can start the Lync client software and logon we have to Lync enable a user. To do so, logon to the Lync front-end server we just installed and open the Lync Control Panel. Please make sure that Microsoft Silverlight is installed on the server. If not, you can open the control panel with your browser, just open https://localhost/cscp.
If you are logged on as the default Domain Administrator you might run into trouble here. The Domain Admins security group is a protected group and as such it will not allow you to Lync enable users in the Control Panel. However, the Domain Administrator is allowed to Lync enable users using the Lync Management Shell.
Open the Lync Management Shell and enter the following command:
Enabled-CsUser –Identity Administrator –Registrarpool:lyncpool.exchangelabs.nl
Now logon to a domain joined Windows client with the Lync client installed (either Lync 2010 or Lync 2013) and logon. The Lync client will automatically retrieve the settings (through the service record in DNS) and logon to the Lync 2013 server.
There’s not much to see right now of course. In my next blog I’m going to explain how to install the Lync Edge server, configure the possibility to logon via the Internet and to setup federation to communicate with other people.