SharePoint-Farm konfigurieren – elementare Dinge

Wir haben uns eine SharePoint-Farm erstellt und dabei einige Stolperfallen erfolgreich umgangen. Im letzten Schritt haben wir die Zentraladministration unserer neuen Farm aufgerufen. Dabei ist es vollkommen in Ordnung, wenn wir einen Moment andächtig und stolz auf inne halten, natürlich nur um ebenso motiviert die nächsten logischen Schritte anzugehen.

Wir haben zwar nun eine brandneue SharePoint-Farm, allerdings haben wir bisher noch keinen Inhalt den wir unseren Usern anbieten könnten. Wir haben keine Service Applications, unsere Farm kann noch nicht einmal E-Mails versenden.

Um einige dieser elementaren Dinge wollen wir uns nun kümmern. Der SharePoint soll E-Mails versenden können, z.B. um User über zugewiesene Aufgaben zu informieren. Wir wollen unseren Usern eine beliebige Art von Webseite zur Verfügung stellen mit der sie arbeiten können und wir wollen eine Suchdienstanwendung (Search Service Application) erstellen. Das Thema Suchdienstanwendung allein ist einen eigenen Blog wert, deshalb beschränken wir uns auf die Bereitstellung mit Standardkonfiguration.

Ziemlich prominent auf der Startseite der Zentraladministration (im Folgenden CA für Central Administration) sehen wir den Configuration Wizard, dieser ist nicht zu verwechseln mit dem Product Configuration Wizard. Dieser CA-Configuration Wizard würde uns eine Webapplication mit Site Collection, also letztendlich eine Inhaltsseite einrichten und, abhängig davon welche Checkboxen wir setzen, auch diverse Service Applications. Klingt verlockend, oder? Die Leser des ersten Teils werden schon vermuten, dass wir diesen Wizard nicht nutzen, und genauso ist es auch. Wir werden nicht in die Falle tappen einen All-in-one-wizard als gute Konfigurationslösung zu sehen.

 

1. E-Mail-Versand konfigurieren

Wir starten mit etwas Einfachem: Wir befähigen unseren SharePoint E-Mails zu verschicken.

Wir gehen auf „System Settings“ und weiter auf „Configure outgoing e-mail settings“.

 

 1

Abbildung 1: Outgoing E-Mail Settings

 

Dort gibt es nur wenige, sehr eindeutig benannte Felder zu befüllen.

 

2

Abbildung 2: Outgoing E-Mail Settings

 

Hinweis: Die im Feld „From adress“ eingetragene E-Mailadresse muss es nicht zwingend geben, die im Feld „Reply-to adress“ sollte es geben. Zudem sollte es sich dabei nicht um eine personalisierte Adresse handeln, sondern eher um ein Sammelpostfach, sodass nicht nur wir auf dort auflaufende E-Mails reagieren können.

Damit ist der Punkt schon erledigt und unser SharePoint kann ab sofort E-Mails versenden.

  

2. Einrichten von managed Accounts

 Seit SharePoint 2010 verlangt der SharePoint als Accounts für Application Pools und Service Applications sogenannte Managed Accounts. Einen dieser managed Accounts gibt es bereits, nämlich unseren Farm-Account. Diesen wollen wir allerdings nicht als Application Pool Account für Webanwednungen oder Service Application Account nutzen, da dieser sehr hoch privilegiert ist. Also richten wir uns zusätzliche managed Accounts ein.

Wir gehen auf „Security" und dort weiter auf „Configure managed accounts".

 

3

Abbildung 3: Configure managed Accounts

 

Über die Schaltfläche „Register Managed Account“ fügen wir neue Accounts hinzu. Achtung: Diese Accounts müssen im AD bereits vorhanden sein, SharePoint ist nicht in der Lage neue AD-Accounts zu erstellen. Diese schon vorhandenen Accounts werden hier lediglich zu managed Accounts ernannt.

  

3. Einrichten einer Suchdienstanwendung

 Die Möglichkeiten der Einrichtung einer Suchdienstanwendung (Search Service Application) unterscheiden sich, je nachem ob wir die Server-Version des SharePoint, oder die kostenfreie Foundation-Version verwenden. Beim SharePoint-Server können wir sogar die Einrichtung über die Zentraladministration vornehmen, bei der Foundation (zumindest ab SharePoint 2013) gibt es diese Option nicht. Nachteil dabei ist, dass wir kryptische Datanbanknamen bekommen, daher sollten wir in jedem Fall die Einrichtung per PowerShell vornehmen. Auch hierbei sehen die PowerShell-Scripte unterschiedlich aus. Exemplarisch gehe ich hier auf die Einrichtung für die SharePoint-Foundation ein, da diese Prozedur wesentlich unpopulärer ist. Auf vielen Internetseiten wird sogar behauptet, dass man eine Suchdienstanwendung für SharePoint-Foundation nur über den Wizard der Zentraladministration erstellen kann. Dies stimmt natürlich nicht und wir fallen nicht darauf herein.

Los geht’s.

Hier das PowerShell-Script, dass wir benötigen. Dies muss als eine zusammenhängende Scriptdatei gespeichert und ausgeführt werden. Die Benennung der Datenbanken und der Service Application selbst können wir natürlich nach Belieben ändern. Als Dienstkonto und Crawl-Konto wird erstmal der Systemaccount verwendet. Dies können wir später ändern.

 

 #Start the search service instance on the server

Start-SPEnterpriseSearchServiceInstance $env:computername

 

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $env:computername

 

#Give a unique name to your search service application

 

$serviceAppName = "MyCleanDB Search Service Application"

 

#Get the application pools to use (make sure you change the value for your environment)

 

$svcPool = Get-SPServiceApplicationPool "SharePoint Web Services Default"

 

$adminPool = Get-SPServiceApplicationPool "SharePoint Web Services Default"

 

#Get the service from the service instance so we can call a method on it

 

$searchServiceInstance = Get-SPEnterpriseSearchServiceInstance –Local

 

$searchService = $searchServiceInstance.Service

 

#Define your unique DB names without the guids

 

$adminDB = "Search_Service_Application_DB"

 

$propertyStoreDB = "Search_Service_Application_PropertyStoreDB"

 

$crawlStoreDB = "Search_Service_Application_CrawlStoreDB"

 

$analysticsStoreDB = "Search_Service_Application_AnalyticsStoreDB"

 

$linkStoreDB = "Search_Service_Application_LinkStoreDB"

 

#Since this method takes in the value of object type Microsoft.SharePoint.Administration.SPDatabaseParameters we will create these from our clean DB names

 

$adminDBParameters = [Microsoft.SharePoint.Administration.SPDatabaseParameters]::CreateParameters($adminDB,"None")

 

$propertyDBParameters = [Microsoft.SharePoint.Administration.SPDatabaseParameters]::CreateParameters($propertyStoreDB,"None")

 

$crawlStoreDBParameters = [Microsoft.SharePoint.Administration.SPDatabaseParameters]::CreateParameters($crawlStoreDB,"None")

 

$analyticsStoreDBParameters = [Microsoft.SharePoint.Administration.SPDatabaseParameters]::CreateParameters($analysticsStoreDB,"None")

 

$linkStoreDBParameters = [Microsoft.SharePoint.Administration.SPDatabaseParameters]::CreateParameters($linkStoreDB,"None")

 

#Create the search service application by calling the function

 

$searchServiceApp = $searchService.CreateApplication($serviceAppName, $adminDBParameters, $propertyDBParameters, $crawlStoreDBParameters, $analyticsStoreDBParameters, $linkStoreDBParameters, [Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool]$svcPool, [Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool]$adminPool)

 

#Create the search service application proxy as usual (luckily PowerShell for this works and is bot blocked)

 

$searchProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "$serviceAppName Proxy" -SearchApplication $searchServiceApp

 

#Provision the search service application

 

$searchServiceApp.Provision()

 

#Get an updated handle on the SearchServiceInstance

 

$searchServiceInstance = Get-SPEnterpriseSearchServiceInstance –Local

 

#Now we will call the method to initiate the default topology component creation using reflection

 

$bindings = @("InvokeMethod", "NonPublic", "Instance")

 

$types = @([Microsoft.Office.Server.Search.Administration.SearchServiceInstance])

 

$values = @([Microsoft.Office.Server.Search.Administration.SearchServiceInstance]$searchServiceInstance)

 

$methodInfo = $searchServiceApp.GetType().GetMethod("InitDefaultTopology", $bindings, $null, $types, $null)

 

$searchTopology = $methodInfo.Invoke($searchServiceApp, $values)

 

Das Script führen wir in der SharePoint Management Shell (als Administrator) aus.

Schauen wir uns das Ergebnis in der Zentraladministration an:

 

4

 

Sehr gut!

Wir richten noch Schedules für die Crawls ein, denn ohne diese wird kein Content gecrawlt.

Dazu gehen wir auf „Content Sources“ in der Schnellstartleiste und dort weiter auf „Local SharePoint Sites“.

 

5

Auf der darauffolgenden Seite legen wir im unteren Bereich die Crawl-Schedules fest. Alles Andere lassen wir so wie es ist.

 

6

 

 

 4. Einrichten einer Webanwendung und Websitesammlung

 

Endlich der Punkt, der unsere User am stärksten interessieren dürfte: Die Bereitstellung einer Websitesammlung (Site Collection) mit der sie arbeiten können. Es gibt verschiedene Templates für Site Collections. Diese unterscheiden sich unter anderem in den schon voraktivierten Features, dem Layout der Seiten und der Struktur der Listen und Bibliotheken. Da so ziemlich jede Site Collection mehr und mehr an die Bedürfnisse der User angepasst wird, wiegt die Auswahl die wir treffen allerdings nicht schwer. Wir erstellen eine Site Collection von Typ „Teamsite“. Die gute Nachricht: Dies lässt sich komplett über die Zentraladministration bewerkstelligen ohne irgendwelche Nachteile zu haben. Freunde der PowerShell haben natürlich die Möglichkeit dies auch über die Shell zu tun.

Dann mal los.

Als erstes brauchen wir eine Webanwendung (Web Application). Dazu gehen wir auf „Application Management“ in der Schnellstartleiste und dort weiter auf „Manage Web Applications“.

 

8

 

Dann klicken wir im Ribbon auf „New“ um eine neue Webanwendung zu erstellen.

Im darauffolgenden Dialog können wir fast alles so lassen wie es dort vorbelegt ist. Nur den Service Account für den Application Pool sollten wir anpassen und eventuell den Datenbanknamen.

 

9

 

Wir bestätigen unsere Eingaben mit „Ok“ und die Webanwednung wird erstellt.

Jetzt können wir unsere Site Collection erstellen. Wir gehen dazu auf „Application Management“ in der Schnellstartleiste und dort weiter auf „Create site collections“.

 

10

 

Die einzigen Felder die wir im darauffolgenden Dialog füllen müssen sind „Title“ und „Primary Site Collection Administrator“. Der Rest passt, zumindest für die erste Site Collection.

Mit einem Klick auf „Ok“ wird unsere Site Collection erstellt.

Nach Fertigstellung können wir uns das Ergebnis direkt anschauen:

 

11

 

Unsere Teamsite!

Damit haben wir eine Basiskonfiguration unseres SharePoints inklusive Site Collection für unsere User.