Roger Haueter

Modern Workplace Strategist | Microsoft Most Valuable Professional

Missing server side dependencies [MissingWebPart]

Nach der Installation von SharePoint 2010 auf einem Windows Server 2008 kann es vorkommen, dass folgende Fehlermeldung erscheint:

[MissingWebPart] WebPart class [8d6034c4-a416-e535-281a-6b714894e1aa] is referenced [6] times in the database [SharePoint_Config_Database], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [SharePoint_AdminContent_Database], but are not installed on the current farm. Please install any feature or solution which contains these web parts.

Dies ist ein bekannter Bug aus der SP2010 Beta, welche teilweise auch noch in der RTM-Version auftritt. Ein Grund weshalb die Meldung auch auftauchen kann ist, dass bisher noch keine Suche installiert wurde. Die Meldung ist harmlos und kann ignoriert werden. Der Serverfam fehlt nichts.


SharePoint 2010 Installation mit PowerShell konfigurieren

Auch in SharePoint 2010 bleibt Skripting ein unerlässliches Instrument, um die Installation nach den eigenen Bedürfnissen zu gestaltetn. Im Gegensatz zum Office Sharepoint Server 2007 nutzt SharePoint 2010 PowerShell anstelle von stsadm.

Gehen Sie wie folgt vor, um Ihre SharePoint 2010 Farm mit PowerShell zu konfigurieren:

  1. Auf jedem Server der künftigen Farm die SharePoint Installation ausführen. Als Installationsart wird "Complete" gewählt. Nach Abschluss der Installation muss das Häkchen "SharePoint Products Configuration Wizard" entfernt werden.
  2. Auf dem Server, der die SharePoint Central Administration hosten soll, die ”SharePoint 2010 Management Shell” als Administrator ausführen. Die Shell wird eine Fehlermeldung ausgeben, weil bis jtzt nur die blanke Installation vorliegt.
    1. Führen Sie folgenden Befehl aus
      New-SPConfigurationDatabase –DatabaseName “SharePoint_Config_Database” –DatabaseServer “MeinSQLAlias” –AdministrationContentDatabaseName “SharePoint_AdminContent_Database” –Passphrase (ConvertTo-SecureString “MeinPassphrase” –AsPlaintext –Force) –FarmCredentials (Get-Credential)
    2. Wenn Sie die "SharePoint 2010 Management Shell" jetzt nochmals öffnen, sollte keine Fehlermeldung mehr erscheinen.
    3. Installieren Sie die Hilfedateien mit folgendem Befehl
      Install-SPHelpCollection -All
    4. Absichern der Dateien und Registry
      Initialize-SPResourceSecurity
    5. Installieren und Bereitstellen der Farm-Services
      Install-SPService
    6. Features auf dem Server installieren
      Install-SPFeature –AllExistingFeatures
    7. Central Administration bereitstellen
      New-SPCentralAdministration -Port 1234 -WindowsAuthProvider "NTLM"
    8. Application content installieren
      Install-SPApplicationContent
    9. Loopback Check ausschalten (Testumgebung)
      New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name “DisableLoopbackCheck” -value “1? -PropertyType dword
      Hostname der Loopback Adresse zuordnen (Produktive Umgebung)
      New-ItemProperty HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 -Name “BackConnectionHostNames” -value “SERVERNAME” -PropertyType multivalue
  3. Führen Sie die folgenden Schritte auf jedem Server aus, der zur Farm hinzugefügt werden soll
    1. Führen Sie die ”SharePoint 2010 Management Shell” als Administrator aus. Die Shell wird eine Meldung ausgeben, dass die Farm nicht erreichbar ist. Dies hat den Grund, dass bisher nur die blanke Installation vorliegt.
    2. Fügen Sie den Server mit folgendem PowerShell-Befehl zur Farm hinzu
      Connect-SPConfigurationDatabase -DatabaseName "SharePoint_Config_Database" -DatabaseServer "MeinSQLAlias" -Passphrase (ConvertTo-SecureString "MeinPassphrase" -AsPlaintext -Force)
    3. Hilfedateien installieren
      Install-SPHelpCollection -All
    4. Absichern der Dateien und Registry
      Initialize-SPResourceSecurity
    5. Installieren und Bereitstellen der Farm-Services
      Install-SPService
    6. Features auf dem Server installieren
      Install-SPFeature –AllExistingFeatures
    7. Application content installieren
      Install-SPApplicationContent
    8. Loopback Check ausschalten (Testumgebung)
      New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name “DisableLoopbackCheck” -value “1? -PropertyType dword
      Hostname der Loopback Adresse zuordnen (Produktive Umgebung)
      New-ItemProperty HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 -Name “BackConnectionHostNames” -value “SERVERNAME” -PropertyType multivalue


Mehr über das Erstellen eines SQL Alias lesen

http://www.techtask.com/sharepoint/sql-alias-fur-sharepoint-web-applikationen-erstellen/


SharePoint 2010 Farm mit PowerShell anlegen

Um eine saubere SharePoint 2010 Installation zu erreichen, wird nach dem Aufsetzen des ersten SharePoint Servers anstelle des Configuration Wizards ein PowerShell Skript ausgeführt, das die SharePoint Config und die SharePoint AdminContent Datenbank sowie die SharePoint Farm erstellt und der lokale Server zu dieser hinzugefügt.

Mittels PowerShell die Config- und AdminContent DB sowie die Farm erstellen und den Server der Farm hinzufügen
New-SPConfigurationDatabase –DatabaseName “SharePoint_Config_Database” –DatabaseServer “MeinSQLAlias” –AdministrationContentDatabaseName “SharePoint_AdminContent_Database” –Passphrase (ConvertTo-SecureString “MeinPassphrase” –AsPlaintext –Force) –FarmCredentials (Get-Credential)

Mehr über das Erstellen eines SQL Alias lesen
http://www.techtask.com/sql-alias-fur-sharepoint-web-applikationen-erstellen/


SQL Alias für SharePoint Web Applikationen erstellen

Bei der Erstellung einer neuen SharePoint Web Applikation empfiehlt es sich, einen SQL Alias anstelle des SQL-Servernamens anzugeben. Der SQL Alias (mit dem gleichen Namen) wird sowohl für x64 als auch x86 erstellt, da einige Applikationen aus Kompatibilitätsgründen auf den 32 Bit Pfad verweisen.

x64 SQL Alias erstellen
C:\Windows\System32\cliconfg.exe aufrufen
Im "Alias" Tab "Selcet" ausählen
Unter “Server alias” wird nun der gewünschte SQL Alias Name eingetragen (z.B. MeinSQLAlias)
"TCP/IP" unter "Network libraries" auswählen
Im Feld "Server name" den NetBIOS Namen (z.B. SERVERNAME\INSTANCE) des SQL-Servers eingetragen.
"Dynamically determine port" ausgewählt lassen.

Es wird folgender Registry Key erstellt
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
"MeinSQLAlias"="DBMSSOCN,SERVERNAME\\INSTANCE"

x86 SQL Alias erstellen (Kompatibilität mit 32-Bit Applikationen)
C:\Windows\SysWOW64\cliconfg.exe aufrufen
Im "Alias" Tab "Selcet" ausählen
Unter “Server alias” wird nun der gewünschte SQL Alias Name eingetragen (z.B. MeinSQLAlias)
"TCP/IP" unter "Network libraries" auswählen
Im Feld "Server name" den NetBIOS Namen (z.B. SERVERNAME\INSTANCE) des SQL-Servers eingetragen.
"Dynamically determine port" ausgewählt lassen.

Es wird folgender Registry Key erstellt
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo]
"MeinSQLAlias"="DBMSSOCN,SERVERNAME\\INSTANCE"


Webseite kann auf dem SharePoint Server selbst nicht aufgerufen werden

Der Aufruf einer SharePoint Seite oder Anwendung auf dem SharePoint Server selbst ist nicht möglich. Sie erhalten eine "Zugriff verweigert" Seite oder das Anmeldefenster wird trotz korrekter Eingabe der Anmeldeinformationen wieder angezeigt. Der Zugriff von anderen Clients in Ihrem Netzwerk auf die gleiche SharePoint Seite oder Anwendung ist problemlos möglich.
Der Grund für dieses Verhalten ist eine Sicherheitsfunktion, welche Reflection Attacks verhindern soll.

Empfohlene Variante (in produktiven Umgebung einzusetzen)
BackConnectionHostNames eintragen (empfohlene Variante)
Legen Sie in der Registry unter dem Pfad HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 einen neuen Multi-String-Eintrag mit dem Namem “BackConnectionHostNames“ und tragen Sie die betroffenen Hostheader (z.B. SERVERNAME) als Wert ein.

oder via PowerShell
New-ItemProperty HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 -Name "BackConnectionHostNames" -value "SERVERNAME" -PropertyType multivalue

Starten Sie anschliessend den Server neu.

Diese Variante sollte nur für Testumgebungen genutzt werden.
Loopback Check ausschalten
Legen Sie in der Registry unter dem Pfad HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\ einen neuen DWORD-Eintrag mit dem Namem “DisableLoopbackCheck“ und tragen Sie als Wert "1" ein.

oder per PowerShell
New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -value "1" -PropertyType dword

Führen Sie einen IIS reset durch.

Microsoft KB 896861 Artikel
You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or a later version
http://support.microsoft.com/kb/896861

Microsoft KB 926642 Artikel
Error message when you try to access a server locally by using its FQDN or its CNAME alias after you install Windows Server 2003 Service Pack 1: "Access denied" or "No network provider accepted the given network path"
http://support.microsoft.com/kb/926642