17 KiB
Wizdom Installation SPQ
Montag, 2. Dezember 2019
10:34
Wizdom cetr installiert
wizdom-spq.bkk-mobiloil.de
sll kommunikation zwischen den servern
-----------------------
für die app: später
Windows Updates eingespielt
Ordner :D:\Wizdom-SPP anlegen auf beiden Servern
DFSR installiert.
Replication mit einer Datei geprüft :
Test Datei auf einen Srever mit Inhalt ins Verzeichnis gelegt.
Powershell Befehl force der DFS Replica:
dfsrdiag pollad
Dateien wurden nach erfolgreichen Test wieder gelöscht.
DFSR abgeschlossen.
SQL Alias 32 und 64 bit angelegt --> SPQ-Wizdom -
https://bkklb-mgmt.bkk-mobiloil.de/
Server .144 /PHA002 aus Loadbalancing genommen.
DNS Namen Wizdom-spq.bkk-mobiloil.de erzeugt !
Berechtigung für den Private Key des App Zertifikats für User svc-spqwizdom gesetzt : (auf beiden Servern)
{width="6.520833333333333in" height="3.84375in"}
Erfasster Bildschirmausschnitt: 05.12.2019 12:19
SPN waren gesetzt:
Setspn -s "http/wizdom-spp.bkk-mobiloil.de" bkk-mobiloil\svc-spqWizdom
Setspn -s "http/wizdom-spp" bkk-mobiloil\svc-spqWizdom
Loopback Prüfen abschalten : auf beiden PHA Servern
New-ItemProperty Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 -Name "BackConnectionHostNames" -value "wizdom.bkk-mobiloil.de" -PropertyType multivalue bzw Multistring
----------------
SP Vorbereitung:
Template kontrollieren von der Mobilnet!
- Teamsite
$web = Get-SPWeb https://kerbmobilnet-spq.bkk-mobiloil.de/
$web.WebTemplate + " " + $web.WebTemplateId
Es sollte STS 1 sein.
Feature per Powershell aktivieren
$site = Get-SPSite https://kerbmobilnet-spq.bkk-mobiloil.de/
$web = Get-SPWeb $site.url
Enable-SPFeature -Identity "PublishingSite" -Url $site.url -Confirm:$False
Enable-SPFeature -Identity "PublishingWeb" -Url $web.Url -Confirm:$False
Erzeugen des HighTrust ZertifikAT mit dem neuen Befehl :
$highTrustCert = New-SelfSignedCertificate -DnsName WizdomHighTrust-SPQ -CertStoreLocation cert:\LocalMachine\My -KeyExportPolicy Exportable -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -FriendlyName "WizdomHighTrust-SPQ" -NotBefore ([DateTime]::Now) -NotAfter ([DateTime]::MaxValue)
Installationsscript schrittweise ausgeführt, mit DeployWizdom.ps1 in drei Phasen:
KonfigDatei:
<Configuration>
<WizdomServerConfiguration>
<WizdomWebApplication>
<!-- Application pool name -->
<wizdomAppPoolName>Wizdom-SPQ</wizdomAppPoolName>
<!-- .NET CRL Version, do not change it -->
<wizdomAppPoolDotNetVersion>v4.0</wizdomAppPoolDotNetVersion>
<!-- Wizdom service account -->
<wizdomServiceAccount>bkk-mobiloil\svc-spqWizdom</wizdomServiceAccount>
<!-- Wizdom service account name -->
<wizdomServiceAccountPassword>43-ufFuSydWx</wizdomServiceAccountPassword>
<!-- Web application name -->
<wizdomWebAppName>SPQ_Wizdom</wizdomWebAppName>
<!-- Host name for SSL binding -->
<wizdomWebAppUrl>wizdom-spq.bkk-mobiloil.de</wizdomWebAppUrl>
<!-- Filename of the certificate, must be located at the root of the wizdom binaries folder -->
<wizdomWebAppCertName>wizdom-spq.pfx</wizdomWebAppCertName>
<!-- Password for the PFX file -->
<wizdomWebAppCertPassword>Tausend2003#</wizdomWebAppCertPassword>
<!-- Filename of the license, must be located at the root of the wizdom binaries folder -->
<wizdomLicenseFile>Wizdom365.Contoso.xml</wizdomLicenseFile>
<!-- Application directory -->
<wizdomDirectoryPath>D:\Wizdom-SPQ\Wizdom-Website</wizdomDirectoryPath>
<!-- Web.config configuration -->
<WizdomWebConfig>
<!-- SQL Server Instanz eg. server\instance -->
<SQLServerInstanz>SPQ-Wizdom</SQLServerInstanz>
<!-- Wizdom database name -->
<SQLServerDatabase>SPQ_Wizdom</SQLServerDatabase>
<!-- Local blob root path -->
<LocalBlobPath>D:\Wizdom-SPQ\Wizdom blob</LocalBlobPath>
<!-- Url of the Wizdom web app -->
<AppUrl>https://wizdom-spq.bkk-mobiloil.de/</AppUrl>
<!-- Url of the virtual blob path -->
<BlobUrl>https://wizdom-spq.bkk-mobiloil.de/blob/</BlobUrl>
<!-- Url of the SharePoint Web Application -->
<TenantSiteUrl>https://mobilnet-spq.bkk-mobiloil.de</TenantSiteUrl>
<!-- AD Domain -->
<AdDomain>bkk-mobiloil.de</AdDomain>
<!-- The script generates a self signed certifcate that will not expire, do not change this value -->
<ClientSigningCertificatePath>D:\Wizdom-SPQ\Wizdom-Website\Cert\WizdomHighTrust-SPQ.pfx</ClientSigningCertificatePath>
<!-- The password for the certificate, this value can be changed -->
<ClientSigningCertificatePassword>Tausend2003#</ClientSigningCertificatePassword>
<!-- Issuer ID, value can be changed, but must be a valid GUID -->
<IssuerId>d3b32f4c-07d1-4f98-ad76-49a961657052</IssuerId>
<!-- ClientId from -->
<ClientId>f255e973-4c44-4d60-ba9f-b4753729013a</ClientId>
<!-- ClientSecret from -->
<ClientSecret>A+mkQbWDDY5iAFQBl6s0JsNgZgasHZOSblN8cWmdg6I=</ClientSecret>
</WizdomWebConfig>
</WizdomWebApplication>
</WizdomServerConfiguration>
</Configuration>
Phase1:
Zeile 1-136
Danach- folgende XML Nodes müssen hinzugefügt werden:
**Wizdom web.config angepasst **
<add key="IOC:Wizdom365.BLL.Managers.ICacheManager, Wizdom365.BLL" value="Wizdom365.BLL.Managers.MemoryCacheManager, Wizdom365.BLL" />
Wird zu:
<add key="IOC:Wizdom365.BLL.Managers.ICacheManager, Wizdom365.BLL" value="Wizdom365.BLL.Managers.SqlCacheManager, Wizdom365.BLL" />
Proxy hiinzugefügt in der Web.Config :
<system.net>
<defaultProxy>
<proxy autoDetect="false" bypassonlocal="true" proxyaddress="http://bkkproxy001.bkk-mobiloil.de:3129" usesystemdefault="false" />
</defaultProxy>
</system.net>
Lizenz Portal (PIN eingabe) aktiviert in der Web.config
<add key="EnableWizdomLicensePortal" value="true" />
<add key="clientSideFeatureToggle:EnableWizdomLicensePortal" value="true"/>
SearchUser eintragen
<add key="SearchUsername" value="SearchuserSPQ" />
<add key="SearchPassword" value="pass" />
Das Logging in der Web.config aktiviert :
<add key="GlobalLogLevel" value="Info" />
<add key="IOC:Wizdom365.BLL.Managers.ILogger, Wizdom365.BLL" value="Wizdom365.BLL.Managers.NLogLogger, Wizdom365.BLL" />
<add key="IOC:Wizdom365.BLL.Managers.IRequestLogger, Wizdom365.BLL" value="Wizdom365.BLL.Managers.NLogLogger, Wizdom365.BLL" />
<add key="IOC:System.Web.Http.ExceptionHandling.IExceptionLogger, System.Web.Http" value="Wizdom365.BLL.Managers.NLogLogger, Wizdom365.BLL" />
Phase 2 "AppSetup":
Zeile 137-156
App Package erstellt.
Phase 3 "SharePointSetup":
Zeile 157 - Ende
Dies wird mit den folgenden Zeilen manuell gemacht:
Auf dem SharePoint Server folgenden Code ausführen:
$issuer = "d3b32f4c-07d1-4f98-ad76-49a961657052"
$publicCertPath = "D:\SP\Tools\Wizdom\HighTrustCert.cer"
$publicCertPath = "D:\SP\Tools\Wizdom\WizdomHighTrust.cer"
$siteUrl = "https://mobilnet-spq.bkk-mobiloil.de/"
$web = Get-SPWeb $siteUrl
$certificate = Get-PfxCertificate $publiccertPath
$realm = Get-SPAuthenticationRealm -ServiceContext $web.Site
$fullAppIdentifier = $issuer + '@' + $realm
New-SPTrustedRootAuthority -Name "WizdomApp" -certificate $certificate
zur Info:
Guid erstellt per Powershellbefehl "new-guid", falls notwendig. Die Ids müssen im Manifest und in der XML abgeglichen werden. Diese müssen bei der Erstellung gleich sein.
zur Info:
Die Datei D:\Software\Wizdom\Templates\AppManifest.xml angepasst : (alles was Rot ist)
<?xml version="1.0" encoding="utf-8"?>
<!--Published:70EDFC97-B41D-43C5-B751-7C00AD999804-->
<!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->
<App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest" Name="WizdomApp" ProductID="be85bc23-8a4e-4961-8ccb-f4a13c021075" Version="1.0.0.4" SharePointMinVersion="15.0.0.0">
<Properties>
<Title>WizdomApp</Title>
<StartPage>https://wizdom-spp.bkk-mobiloil.de/Base/Pages/Configuration.aspx?{StandardTokens}</StartPage>
</Properties>
<AppPrincipal>
<RemoteWebApplication ClientId="8e082f9b-ce78-476c-b669-d91c959e45c5" />
</AppPrincipal>
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />
<AppPermissionRequest Scope="http://sharepoint/social/tenant" Right="FullControl" />
<AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" />
<AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
<AppPermissionRequest Scope="http://sharepoint/taxonomy" Right="Write" />
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
</AppPermissionRequests>
</App>
Ergebnis in der Powershell:
Certificate : [Subject]
CN=WizdomHighTrust
Issuer
CN=WizdomHighTrust
Serial Number
7BE46FEA8679B8A94B6437674D5504CC
Not Before
03.12.2019 11:11:44
Not After
31.12.9999 23:59:59
Thumbprint
C08DBE3BE67969C6CBC510DF81CBE87838B022B3
Name : WizdomApp
TypeName : Microsoft.SharePoint.Administration.SPTrustedRootAuthority
DisplayName : WizdomApp
Id : 4a950a65-af38-4f7c-8e0e-b56d3c653a3e
Status : Online
Parent : SPTrustedRootAuthorityManager
Version : 910670
DeploymentLocked : False
Properties : {}
Farm : SPFarm Name=SPQ_Config
UpgradedPersistedProperties : {}
Danach folgendes ausgeführt :
New-SPTrustedSecurityTokenIssuer -name "WizdomApp" -certificate $certificate -RegisteredIssuerName $fullAppIdentifier -IsTrustBroker
Ergebnis in der Powershell:
IsSelfIssuer : False
NameId :
RegisteredIssuerName : d3b32f4c-07d1-4f98-ad76-49a961657052@76059a45-5f0b-4f27-b86d-c8ac16bcb357
AuthorizationEndPointUri :
EndSessionEndPointUri :
TokenEndPointUri :
DefaultClientIdentifier :
ScopedClientIdentifier : {}
IdentityClaimTypeInformation : Microsoft.SharePoint.Administration.Claims.SPTrustedClaimTypeInformation
Description :
SigningCertificate : [Subject]
CN=WizdomHighTrust
Issuer
CN=WizdomHighTrust
Serial Number
7BE46FEA8679B8A94B6437674D5504CC
Not Before
03.12.2019 11:11:44
Not After
31.12.9999 23:59:59
Thumbprint
C08DBE3BE67969C6CBC510DF81CBE87838B022B3
AdditionalSigningCertificates : {}
MetadataEndPoint :
IsAutomaticallyUpdated : False
Name : WizdomApp
TypeName : Microsoft.SharePoint.Administration.Claims.SPTrustedSecurityTokenService
DisplayName : WizdomApp
Id : ffc187db-4416-478c-9944-8ce95daefdf5
Status : Online
Parent : SPSecurityTokenServiceManager Name=SecurityTokenServiceManager
Version : 910699
DeploymentLocked : False
Properties : {}
Farm : SPFarm Name=SPQ_Config
UpgradedPersistedProperties : {}
Auf den PHA Servern im IIS die Authentifizierung geprüft.
Wizdom Hauptseite (Screenshots von SPP)
{width="4.114583333333333in" height="1.7604166666666667in"}
Wizdom Blob Cache
{width="4.354166666666667in" height="3.0520833333333335in"}
App zum SharePoint hinizugefügt:
{width="5.0in" height="1.1666666666666667in"}
https://mobilnet.bkk-mobiloil.de/_layouts/15/AppRegNew.aspx
Client-ID & geheimer Schlüssel aus der DeployWizdomConfiguration-SPQ.xml
{width="7.458333333333333in" height="4.541666666666667in"}
{width="4.916666666666667in" height="2.0833333333333335in"}
Zum Nachprüfen, hier die APP ID/Client ID eintragen und nachschlagen:
{width="7.28125in" height="5.510416666666667in"}
Es konnte die Wizdom App nicht auf die Root Site eingespielt werden.
Ursache:
Datenbank Fehler, Tabellen wurden nicht angelegt.
Lösung:
Cfg-spq-Admin muss das Recht für die Datenbank von Wizdom "SPQ_Wizdom" als "Owner" gewährt werden.
BKK-MOBILOIL\SG-SQL-SharePointQ-RW muss das Recht für die Datenbank von Wizdom "SPQ_Wizdom" als "Owner" gewährt werden.
NT AUTHORITY\SYSTEM muss das Recht für die Datenbank von Wizdom "SPQ_Wizdom" als "Owner" gewährt werden.
Generellen Zugriff kann man testen mit :
https://wizdom-sptest.bkk-mobiloil.de/Base/Pages/Dashboard.html
https://wizdom-sptest.bkk-mobiloil.de/Base/Pages/Administration\ContentProvisioning.html
BKKSPQPHA002:
DeployWizdom.ps1 File anschauen