Yavuz Bogazci

How to: Installation einer OnPremises Umgebung für die Evaluierung des Microsoft SharePoint 2016 Development & BI-Stacks (mit Microsoft SQL Server 2017) – Part 7 – Konfiguration der SharePoint-Umgebung für Apps (Add-ins)

Nachdem wir die Basis-Services Search, User Profile Service und Managed Metadata eingerichtet haben, müssen wir unseren SharePoint “App ready” bzw. “Add-in ready” machen. Mit SharePoint 2016 wurden die sogenannten Apps umbenannt in Add-ins. In diesem und weiteren Beiträgen werde ich jedoch weiterhin den Begriff Apps nutzen. Add-ins respektive Add-ins für SharePoint sind isolierte Anwendung die ihre eigene Funktionalität aufweisen und die auf einer Website hinzugefügt oder entfernt werden können. Mit dem Add-in Modell wird kein Code mehr auf dem SharePoint Servern ausgeführt. Stattdessen wandert die Anwendungslogik entweder in die Cloud, auf den Client-Computer oder auf einen onPremises Server außerhalb der SharePoint-Farm. Es gibt zwei unterschiedliche Typen von SharePoint Add-ins:

SharePoint-hosted SharePoint Add-ins beinhalten keinen Server-seitigen Code. Alles wird mit Hilfe von SharePoint Artefakten wie z.B. Liste, Seiten, WebParts, Workflows etc. gebaut und die Business Logik mit JavaScript implementiert.

Provider-hosted SharePoint Add-ins hingegen wird als eine klassische Web-Anwendung aufgebaut. Wenn man es einfach nehmen möchte, als eine ganz normale Microsoft ASP.Net oder ASP.Net MVC Web Applikation. Die gesamte Business Logik wird in dieser Remote-Anwendung implementiert.

Die einzelnen erforderlichen Schritte um die Umgebung Add-in-ready zu machen, werden in diesem Beitrag detailliert und Schritt für Schritt erklärt.

Die Serie besteht aus folgenden Teilen:

Part 1 – Installation und Konfiguration Microsoft Azure VM mit Microsoft Windows Server 2012R2

Part 2 – Installation und Konfiguration von Microsoft SQL Server 2017 (Datenbankmodul)

Part 3 – Installation und Konfiguration von Microsoft SharePoint 2016

Part 4 – Installation und Konfiguration Microsoft SharePoint 2016 Managed Metadata Service

Part 5 – Installation und Konfiguration der Microsoft SharePoint 2016 User Profile Service und MySites

Part 6 – Installation und Konfiguration des Microsoft SharePoint 2016 Search Service

Part 7 – Konfiguration der SharePoint-Umgebung für Apps (Add-ins)

Part 8 – Konfigurieren des lokalen IIS für die Verwendung von Low-Trust Add-ins in Verbindung mit SharePoint Online

Part 9 – Konfigurieren der On-Premises Umgebung für Verwendung von Low-Trust Authentifizierung

Part 10 – Low Trust AddIn und Microsoft Azure WebSite als AppWeb

Part 11 – Installation Microsoft SharePoint 2016 Sprachpaket Deutsch

Part 12 – Installation und Konfiguration von Microsoft Power BI Report Server

Part 13 – Installation und Konfiguration von Microsoft Office Online Server for SharePoint 2016 (OOS)

Um unsere SharePoint 2016 Farm für die Entwicklung und die Installation von Apps vorzubereiten, müssen folgende Dinge eingerichtet werden:

Eine App Domain im DNS Server einrichten

Apps haben ihre eigene isolierte Url. Diese sind getrennt von der Url der Website auf die App verwendet wird. Die Verwendung eines anderen Domain Namens für Apps verhindert Cross-Site-Scripting zwischen Apps und SharePoint. Die App-Url ist nach folgendem Muster aufgebaut:

http(s):// [App-Präfix] [App-Hash] . [App-Domain] / [relative Website Url] / [App-Name]

Um eine App-Domain einzurichten klicken wir auf Start > Administrative Tools > DNS. Im DNS Manager klicken wir mit der rechten Maustaste auf den Punkt Forward Lookup Zone unterhalb unseres Server-Namens (OneSP2016) und wählen im Kontext-Menü auf den Punkt New Zone … .

Im Dialog New Zone Wizard klicken wir auf Next.

Im Dialog New Zone Wizard wählen wir den Punkt  Primary zone und wählen die Checkbox bei Store the zone in Active Directory (…).

Im nächsten Fenster wählen wir den Punkt To all DNS servers running on domain controllers in the domain: lab.com.

Nun geben wir den gewünschten Domain-Namen an den ich zuvor bei einem Domain-Provider gekauft und auf die IP Adresse meines Server umgeleitet habe.

Im Dialog Dynamic Update wählen wir den Punkt Allow only secure dynamic updates (recommended for Active Domain) und klicken auf Next.

Damit ist die Einrichtung der neuen Forward Lookup Zone abgeschlossen. Mit einem Klick auf Next schließen wir den Assistenten.

Nun müssen wir einen neuen CNAME Eintrag (Wildcard Alias) für die neue Domain erstellen. Dazu klicken wir auf die zuvor erstellte Forward Lookup Zone mit der rechten Maustaste und wählen New Alias (CNAME) … aus.

Im neuen Formular geben wir für Alias name ein * ein. Die Full qualified domain name (FQDN) wird automatisch generiert.

Bei Fully qualified domain name (FQDN) for target host wählen wir die Domain aus, welche den SharePoint hostet.

Um zu sehen ob die Domain richtig eingerichtet wurde, pingen wir diese einmal in der Kommandozeile mit dem folgenden Befehl an.

Microsoft SharePoint Foundation Subscription Settings Service einrichten

Was genau der Microsoft SharePoint Foundation Subscription Settings Service macht kann ich ehrlich gesagt nicht sagen. Ich habe auch keine Beschreibung zu diesem Service gefunden. Falls jemand hier ergänzen kann, würde ich mich über ein Info freuen und gerne hier mit einer Erwähnung ergänzen. Der Microsoft SharePoint Foundation Subscription Settings Service hat keine UI für die Einrichtung und kann folglich nicht aus der Central Administration heraus eingerichtet werden, ist aber eine Voraussetzung für den App Management Service.

Ich verwende für die Einrichtung folgendes PowerShell Skript (ich weiß nicht mehr von welcher Seite ich es habe, daher kann ich keinen Link angeben). In dem Skript muss ggf. der Service-Account $sAccount angepasst werden.

Nachdem das Skript erfolgreich ausgeführt wurde, wird in der Ausgabe die Erstellung des Service bestätigt.

App Management Service einrichten

Den App Management Service kann man über die Central Administration einrichten. Dazu gehen wir zu Service Applications > Manage service applications.

Dort wählen aus dem Menü New > App Management Service.

Im Dialog New App Management Service Application geben wir im Feld Service Application Name einen Namen für die Service Application ein. Im Abschnitt Database geben wir den Datenbank-Server an und einen Namen für die Datenbank.

Für die App Management Service Application erstellen wir einen neuen Application Pool indem wir im Abschnitt Application Pool Create new application pool selektieren, einen Namen für den Application Pool angeben sowie den Service-Account unter dem der Application Pool laufen soll. Der Punkt Create App Management Service Application Proxy and add it to the default proxy group sollte ausgew1ählt sein.

Mit einem Klick auf OK wird der App Management Service erstellt.

App Urls konfigurieren

In der Zentraladministration klicken wir in der linken Navigation auf Apps.

Im Abschnitt App Management klicken wir auf Configure App URLs. In das Feld App domain geben wir unsere App-Domain ein (zum Beispiel ybogazci.com oder custombi.com, …). In das Feld App prefix geben wir einen Präfix für die App-Url ein (beispielsweise app).

App Catalog erstellen

Generell wäre es jetzt bereits möglich Apps via Visual Studio zu deployen. Um Apps jedoch managen zu können oder tatsächlich mal ein externes App Package deployen zu können, benötigen wir einen sogenannten App Catalog. Grundsätzlich ist die Vorgehensweise onPremises und in SharePoint Online identisch, nur der Ort wo es zu finden ist, ist unterschiedlich.

App Catalog onPremises einrichten

In der Zentraladministration klicken wir auf Apps in der linken Navigation und anschließend im Abschnitt App Management > Manage App Catalog.

In Manage App Catalog müssen wir sicherstellen, dass die richtige Web Application oben rechts ausgewählt ist und wählen den Punkt Create a new app catalog site. Anschließend klicken wir auf OK. Das Formular Create App Catalog füllen wir wie folgt aus und mit einem Klick auf OK wird der App Catalog erstellt.

App Catalog in SharePoint Online einrichten

Zuerst müssen wir uns in Office 365 anmelden. Danach gehen wir ins Admin Center. Vom Admin Center aus gehen wir ins SharePoint Admin Center.

Im SharePoint Admin Center klicken wir in der linken Navigation auf Apps und wählen rechts App-Katalog.

Auf dieser Seite wählen wir Create a new app catalog site und klicken auf OK.

Das Formular Create App Catalog Site Collection sieht etwas anders aus als in der onPremises Variante aber auch hier müssen wir lediglich einen Titel, eine Web Site Address angeben under der der App Catalog erstellt werden soll und einen Administrator.

Mit einem Klick auf OK wird der App Catalog in SharePoint Online erstellt.

SSL deaktivieren (optional)

Stadardmäßig erfordert OAuth in SharePoint eine HTTPS Verbindung. In einer Entwicklungsumgebung kann man mit Hilfe des folgenden PowerShell Skripts OAuth erlauben über HTTP zu arbeiten. Wenn man das nicht macht, würde man Fehler wie 403 (forbidden) erhalten. Die Verbindung ist an dieser Stelle dann zwar nicht mehr verschlüsselt, aber insbesondere in einer Entwicklungsumgebung zu Debugging-Zwecken kann das auch hilfreich sein wenn man zum Beispiel Fiddler nutzen möchte. Dazu müssen wir folgendes PowerShell Skript auf dem Servern ausführen:

Wichtige Url’s

Ein neue App registrieren kann man über die Url /_layouts/16/appregnew.aspx.

Um die Add-in Informationen abzurufen, welche für ein Add-in bei der Registrierung angegeben wurden, kann die folgende Url verwendet werden:

/_layouts/15/AppInv.aspx

Um eine Liste der registrierten Add-in Principals zu erhalten kann man die folgende Url verwenden:

/_layouts/16/AppPrincipals.aspx

Referenzen

Configure an environment for apps for SharePoint Server

Prepare your SharePoint 2013 farm for App development and debugging

Configure an environment for apps for SharePoint

Set up an on-premises development environment for SharePoint Add-ins

Setting Up Your On-Premises SharePoint Environment for Custom App Development (Video)