Lync 2013 Installation

Im Gegensatz zu Exchange 2013 Installation präsentiert sich das Lync 2013 Setup in altbekannter Form. Würde ich die Installation nicht auf Windows Server 2012 durchführen, wäre nur der Produktname unterschiedlich.

Lync 2010 Installation

Auch die folgenden Schritte sind wie bei Lync 2010:

Prerequisites

Verschiedene Lync Komponenten erfordern unterschiedliche Voraussetzungen des Betriebssystems. Die folgenden PowerShell-Befehle installieren alle Voraussetzungen für einen einfachen Single Lync Server. Sollten Rollen bereits installiert sein, so stört dies nicht.

Achtung: Starten Sie die PowerShell als "Administrator"
Achtung: Es kann sein, dass der Server einen Restart zwischen den Features braucht.

Achtung
Lync 2013 auf Windows 2012R2 funktioniert nur mit dem Oktober Update. Eventuell benötigen Sie noch einen Registry Schlüssel:
2901554 Event IDs 32402, 61045 are logged in Lync Server 2013 Front End servers that are installed in Windows Server 2012 R2

40 GB Disk
Lync 2013 prüft den freien Platz auf der Festplatte und meldet lapidar ein "could not find any suitable hard disk", wenn nicht mindestens 40 GB frei sein.

Windows 2008R2:
Hier sind noch ein drei Downloads und Installationen vorher erforderlich
.NET 4.5 http://go.microsoft.com/fwlink/?LinkId=225702 (48MB)
PowerShell 3 http://www.microsoft.com/en-us/download/details.aspx?id=34595
KB974405 Windows Identity Foundation 1.0 http://www.microsoft.com/en-us/download/details.aspx?id=17331
KB2646886 FIX: Heap corruption occurs when a module calls the InsertEntityBody Method in IIS 7.5

# Erforderliche Module um mit LDIFDE das Schema zu erweitern
Add-Windowsfeature RSAT,RSAT-Role-Tools,RSAT-AD-Tools,RSAT-ADDS,RSAT-ADDS-Tools
# Erforderlich für den Lync Share
# Nur relevant, wenn der Lync Server auch Fileshare ist.
Add-Windowsfeature FileAndStorage-Services, File-Services, FS-FileServer, Storage-Services
# PowerShell ist erforderlich. die ISE kann hilfreich sein.
Add-Windowsfeature PowerShell,PowerShell-V2,PowerShell-ISE

Die erforderlichen Rollen für Windows 2008R2 sind:

Set-CsLync2013Prereqs.ps1 – Easily install prerequisites and tools für Microsoft Lync Server 2013
http://www.ehloworld.com/1697

Voraussetzungen für Windows 2008R2

Die folgenden Zeilen installieren auf Windows 2008R2 die Voraussetzungen für Lync 2013

# Achtung
# Installieren Sie zuerst .NET 4.5 und PowerShell 3.0, KB974405 und das Update KB2646886

# Importieren des Servermanger
Import-Module Servermanager
Add-WindowsFeature `
   NET-Framework-Core, `
   Desktop-Experience, `
   Web-Server, `
   Web-Static-Content, `
   Web-Default-Doc, `
   Web-Scripting-Tools, `
   Web-Windows-Auth, `
   Web-Asp-Net, `
   Web-Log-Libraries, `
   Web-Http-Tracing, `
   Web-Stat-Compression, `
   Web-Default-Doc, `
   Web-ISAPI-Ext, `
   Web-ISAPI-Filter, `
   Web-Http-Errors, `
   Web-Http-Logging, `
   Web-Net-Ext, `
   Web-Client-Auth, `
   Web-Filtering, `
   Web-Mgmt-Console, `
   Web-Asp-Net, `
   Web-Dyn-Compression, `
   Web-Mgmt-Console, `
   Msmq-Server, `
   Msmq-Directory

Voraussetzungen für Windows 2012

#Prereq auf Windows 2012
# Importieren des Servermanger Import-Module Servermanager

# Erforderlich
Add-Windowsfeature `
   Windows-Identity-Foundation, `
   NET-Framework-Features, `
   NET-Framework-Core, `
   Server-Media-Foundation, `
   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 `
  -Source D:\SETUP\WINSXS

Voraussetzungen für Windows 2012R2

Das NET-Framewort ist schon installiert, so dass hier ein paar Dinge weniger zu installieren sind. (als Administrator ausführen)

Windows 2012R2 legt normalerweise nicht die Installationsquellen mit auf C: ab, so dass Sie mit "-Source" die Quelle angeben müssen.

Install-WindowsFeature `
   Windows-Identity-Foundation, `
   Web-Webserver, `
   Web-Default-Doc, `
   Web-Static-Content, `
   Web-Http-Errors, `
   Web-ASP-Net, `
   Web-Net-Ext, `
   Web-Isapi-Ext, `
   Web-Isapi-Filter, `
   Web-Http-Logging, `
   Web-Http-Tracing, `
   Web-Log-Libraries, `
   Web-Windows-Auth, `
   Web-Filtering, `
   Web-Stat-Compression, `
   Web-Dyn-Compression, `
   Web-Mgmt-Console, `
   Web-Scripting-Tools, `
   Web-Client-Auth, 
   NET-WCF-HTTP-Activation45, `
Desktop-Experience `   -Source D:\SOURCES\SXS

Für den Betrieb auf Windows 2012R2 ist mindestens das Update "Oct 2103" erforderlich. Zudem müssen Sie eine Besonderheit des TLS-Handlings unter Windows 2012R2 abschalten, damit Lync 2013 arbeiten kann.

Lync Server 2013 is supported by Windows Server 2012 R2 when this registry workaround is performed.
Quelle: http://support.microsoft.com/kb/2901554/en-us

Die folgende REG-Datei trägt den Wert ein.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL]
"EnableSessionTicket"=dword:00000002

Leider ist dieser Eintrag nicht auf “Installing OS and Prerequisites software” (http://technet.microsoft.com/en-us/library/gg398103.aspx) aufgeführt

  • 290155 Event IDs 32402, 61045 are logged in Lync Server 2013 Front End servers that are installed in Windows Server 2012 R2

Andere Vorarbeiten

Ich habe es mir zur Gewohnheit werden lassen, auf allen Server auch einen Basissatz an Werkzeugen gleich mit zu installieren z.B.

  • Netmon
    Auch wenn SIP verschlüsselt ist, hilft Netmon immer noch bei der Fehlersuche
  • Lync Debug Tools
    Primär für die Nutzung von Snooper

Prepare AD

Auch bei der Vorbereitung des Active Directory muss man die gewohnt die fehlenden Funktionen selbst nachinstallieren. Die Checkbox automatisch die erforderlichen Features z.B. für die Schemaerweiterung zu installieren, gibt es nicht: Server 2012 werden wie früher auch die AD DS-Befehlszeilentools installiert, damit das Lync-Setup letztlich LDFIDE zum Import der Schemadateien nutzen kann.

Schneller geht es auch per Powershell:

Add-WindowsFeature RSAT

Wenn es sich wie hier um den ersten Lync Server in einem neuen Forest handelt, sind wieder die bekannten Schritte auszuführen

  • Prepare Schema
    Als Schema Admin muss das Active Directory Schema erweitert werden.
Install-CSAdServerSchema `
    -Confirm:$false `
    -Verbose `
    -Report "C:\Users\Administrator.W15\AppData\Local\Temp\2\Install-CSAdServerSchema-[2012_07_22][23_13_24].html

Creating new log file "C:\Users\Administrator.W15\AppData\Local\Temp\2\Install-CSAdServer
Schema-a192aafa-f420-466e-8c6f-51c79f66f4ce.xml".
Modify the Active Directory schema to support Lync Server 2013 (Preview).
  • Prepare Forest
    Hier ist die Domäne anzugeben, in der die universellen Gruppen angelegt werden sollen
Enable-CSAdForest  `
    -Verbose -Confirm:$false `
    -Report "C:\Users\Administrator.W15\AppData\Local\Temp\2\Enable-CSAdForest-[2012_07_22][23_16_18].html"
Creating new log file "C:\Users\Administrator.W15\AppData\Local\Temp\2\Enable-
CSAdForest-42c85899-aea8-4f65-9f99-de5ae5f70168.xml".
Enable the Active Directory forest to host Lync Server 2013 (Preview) deployments.
  • Prepare Current Domain
    Damit werden den Gruppen die Berechtigungen auf Objekte in der aktuellen Domäne vergeben.
Enable-CSAdDomain `
    -Verbose -Confirm:$false `
    -Report "C:\Users\Administrator.W15\AppData\Local\Temp\2\Enable-CSAdDomain-[2012_07_22][23_17_29].html"
Creating new log file "C:\Users\Administrator.W15\AppData\Local\Temp\2\Enable-
CSAdDomain-c4f9884f-c74d-449d-b3cc-81e83fadd1a9.xml".
Enable an Active Directory domain to host Lync Server 2013 (Preview) deployments.

Install first Server

Gehen wir dann mal von einer einfachen "Single Server Installation" aus, so ist zuerst der "Prepare single Standard Edition Server" auszuwählen, der die CMS-Instanz auf den Server bringt.

Die Installation kann per GUI erfolgen.

Dann sollte das Setup durchlaufen und sie haben die SQL-Instanz mit der noch leeren CMS-Datenbank.

Topologie erstellen und Deployment

Über die ebenfalls zu installierenden Admintools erstellen Sie wie schon mit Lync 2010 die Topologie. Über den Assistenten können Sie nun wieder wie gehabt

  • SIP-Domain
    Die Eingabe einer primären SIP-Domain ist Pflicht.
  • Site
    Auch in Lync gibt es "Sites", die aber nichts direkt mit den AD-Sites zu tun haben. Es sind eher die AdminGroups aus Exchange Sicht um als Scope für Berechtigungen und Policies genutzt zu werden.
  • Frontend Server/Pool addieren
    Hier sehen Sie nun, dass die Monitoring-Rolle als auch Archiv-Rolle nun auch offiziell colocated laufen können:
  • Office WebApps
  • Monitoring
    SQL auf gleicher Instanz und Mirroring

Achtung: Wer hier mal schnell Monitoring mit aktiviert, muss später vor der Installation der Rollen erst den SQL-Server installieren. für Reporting und Archiving reicht nicht ein SQL Express aus. Das Setup schlägt später sonst mit einer Meldung fehlt:

"SqlConnectionFailure,Microsoft.Rtc.Management.Deployment.InstallDatabaseCmdlet"

Nach dem Abschluss der Assistenten zeigt der Topologie-Builder die aktuell geplante Konfiguration an. Hier sehen Sie auch, dass Lync 2010 und Lync 2013 in der gleichen Site nebeneinander existieren werden und einige Komponenten sogar "shared" genutzt werden.

Nicht sichtbar aber natürlich aufrufbar ist das Menü zum Import einer OCS 2007R2 Umgebung. Eine Migration von OCS2007R2 auf Lync 2013 ohne Umweg über Lync 2010 wird später möglich sein. Die Preview unterstützt dies jedoch nicht.

  • File-Share einrichten
    Ehe Sie diese Topologie publizieren, müssen sie den Lync Share einrichten und dem Administrator die Berechtigungen geben. Erst dann kann der Topologie-Builder beim "Publish" auch die unterverzeichnisse und Berechtigungen einrichten. Ansonsten schlägt das Publizieren fehl.
  • Geplante Lync Server in die Domäne aufnehmen
    Der Topologie-Builder versucht beim "Publish" diese in die entsprechenden Lync Gruppen zu addieren. Wenn Sie die weiteren Server erst später addieren, müssen Sie dann noch einmal den Publish-Prozess ausführen.
  • Publish
    und speichern diese im CMS

DNS

Der Assistent nimmt ihnen nicht die Aufgabe ab, die DNS-Einträge für die interne "Autokonfiguration" vorzunehmen. Sicher können Sie auf diese DNS-Einträge auch verzichten, wenn Sie ihre Clients z.B. Manuell oder per Gruppenrichtlinien konfigurieren. Ansonsten legen Sie den Eintrag einfach an.

Später kommen im Rahmen der Exchange Installation natürlich noch "Autodisdover" dazu. Und auch für Lync gibt es noch weitere Einträge zu machen, z.B.: für die SimpleURL.

Komponenten installieren

Und dann können Sie den ersten Lync Frontend Server über den Deployment Wizard installieren. Die vier Schritte sind schon von Lync 2010 bekannt:

Leider versäumt es Lync im Gegensatz zu Exchange immer noch, die erforderlichen "Prerequisites" selbst nachzuziehen. Allerdings zeigt Lync zumindest die fehlenden Komponenten an.

Wenn Sie also die "Voraussetzungen" manuell bereit gestellt haben, (Siehe "Prerequisites PowerShell weiter oben), dann kommen sie um diese Fehlermeldung herum.

Zertifikate

Ehe sie im letzten Schritt die Dienste starten können, müssen Sie natürlich erst noch die erforderlichen Zertifikat installieren. Der Assistent forder sie auf, für verschiedene Dienste entsprechende Zertifikate anzufordern. Mit einer eigenen internen CA und einem Edge Server und Reverse Proxy können Sie hier fast immer mit privaten Zertifikaten arbeiten. Sollten Sie die Webservices aber per ReverseNAT "veröffentlichen", und sie erwarten externe anonyme Meeting-Teilnehmer, dann muss zumindest hier ein öffentliches Zertifikat genutzt werden.

Machen Sie sich vorher bitte Gedanken über die verwendeten Namen und SIP-Domänen, damit Sie hier die richtigen Namen in das Zertifikat aufnehmen.

Neu bei Lync 2013 ist die Funktion "OAuth". Diese Zertifikat ist nur einmal zu erstellen aber wird dann von allen Lync Servern zur gegenseitigen Authentifizierung genutzt. Auch dieses Zertifikat müssen Sie auf dem ersten Server generieren. Es wird aber dann in die XDS-Datenbank hoch geladen und von den danach installierten Servern geladen.

Der Assistent zur Anforderung von Zertifikaten fragt Sie die Namen ab, wobei er schon die "richtigen" Namen" von vorneherein addiert, wie hier zu erkennen ist:

Hier fehlt allerdings noch der Eintrag "sip.<sipdomain>". Der kommt im folgenden Schritt dazu, wenn Sie im Assistent die SIP-Domains noch anwählen müssen. Der Assistent kann von einer internen CA das Zertifikat sofort anfordern. Ansonsten erstellt er eine Requestdatei zum Einreichen bei einer CA.

Nachdem das Zertifikat dann installiert wurde, müssen Sie es natürlich noch den Diensten zuweisen. Auch das geht über diesen Programmpunkt.

Wenn Sie bis dahin dann alles richtig gemacht haben, dann können Sie die Dienste danach starten. Kontrollieren Sie, ob alle Dienste gestartet sind und inwieweit sie im im Eventlog Fehler oder Warnungen finden, die sie noch beseitigen müssen.

Administrative Berechtigungen

Auch als "Domänen Administrator" können Sie sich nach dem Start der Dienste aber immer noch nicht an Lync anmelden:

Die Fehlermeldung ist aber aussagekräftig, wenn sie denn gelesen wird. Wer Lync administrieren will, muss erst Mitglieder der entsprechenden RBAC-Gruppe sein.

Nach der Installation des ersten Servers müssen Sie hier also erst die gewünschten Anwender addieren. Bei den weiteren Servern ist dies in der Regel nicht mehr erforderlich. Die neuen Berechtigungen wirken aber nach der AD-Replikation umgehend. Sie müssen also nicht mehr ihren Benutzer neu ab und anmelden, da der Server die Evaluierung der Gruppenmitgliedschaften macht.

Dann kann ihnen nur noch das Fehlen von Silverlight auf dem Verwaltungssystem den Einstieg verzögern.

Lync PowerShell und Windows 2012R2

Anscheinend passiert es manchmal, dass eine Lync PowerShell auf einem Windows 2012R2 Server startet aber dann mit einem schwarzen Bildschirm hängen bleibt. Es gibt keine allgemeine Ursache dafür aber durchaus Hinweise auf verschiedenen Blogs. Zum einen legt das Setup die Verknüpfung für die Lync PowerShell nicht ganz korrekt an: (Umbrüche entfernen)

# Eintrag in der Verknüpfung. Am Ende fehlt ein "-Zeichen# Eintrag in der Verknüpfung
PowerShell.exe
   -noexit 
   -command "cd $env:UserProfile; 
             Import-Module 
                ‘C:\Program Files\Common Files\Microsoft Lync Server 2013\Modules\Lync\Lync.psd1‘

# Korrigierter Eintrag in der Verknüpfung
PowerShell.exe
   -noexit 
   -command "cd $env:UserProfile;
             Import-Module 
                ‘C:\Program Files\Common Files\Microsoft Lync Server 2013\Modules\Lync\Lync.psd1‘"

Allerdings funktioniert der Shortcut auch ohne das letzte "-Zeichen. Andere Quellen bieten als Lösung an, eine normale PowerShell zu starten und das Lync Modul zu importieren

import-module Lync 

Das ist aber bei Windows 2012R2 auch nicht mehr erforderlich, denn hier sind per Default alle Module schon "vorgeladen". Probieren Sie es einfach aus. In einer Windows 2012R2 PowerShell mit installierten Lync Admin Tools können Sie direkt die Lync Commandlets ausführen.

Hier ein paar Links auf entsprechende Seiten:

Weitere Links