Friday 4 November 2011

FAST Search for SharePoint - Step by Step Instal

Task 1 – Setup FAST Search Center
  1. Open SharePoint Central Administration
  2. Click “Application Management”
  3. Click “Create Site Collection”
  4. Select the web application called “SharePoint –115”
  5. For site name, type “FAST Search”
  6. For url, type FAST
  7. For template, select “Enterprise->FAST Search Center”
  8. For site collection admin, type “Administrator”
  9. Click “Create”
Task 2 – Install FAST Search
  1. Run the following command to extract the files (beta installer doesn’t work quite right)
    • D:\Lab Work\<labno>\ en_fast_search_server_sharepoint_2010_beta_x64_x16-29476 /extract:c:\temp
  2. Run “C:\temp\PrerequistieInstaller”
  3. The splash screen will open:
  1. Click “Next”
  2. The prereqs for FAST Search will be installed
  1. Click “Finish”
  2. Run “fsserver”
    • This will create a new directory called “C:\FASTSearch”
  3. Click “Start”, right click “Computer”, select “Properties”
  4. Click “Advanced System Settings”
  5. Click “Environment Variables”
  6. Add the following to your path variable
    • “C:\FASTSearch\installer\scripts”
  7. Run the SharePoint 2010 Management Shell
  8. Run the following:
    • Psconfig.ps1 –action i –roleName single –userName contoso\administrator –localMachineName <FQDNservername> -databaseConnectionString <dbservername> –databaseName FASTSearch
  9. Enter the password, “Pa$$w0rd”
  10. For self signed password, type “Pa$$w0rd”
  11. Reboot the computer
  12. Run the following command:
    • ConfigureSharePointAuthorization –installedMode Advanced
Task 3 – Start Services
  1. Open the services applet, ensure the following are started:
    • All “FAST*”
    • Forefront*
    • SharePoint Server Search 14
    • SharePoint Foundation Search V4
Task 4 – Setup FAST Search Query Service
  1. Open SharePoint Central Administration
  2. Click “Application Management”
  3. Click “Manage service applications”
  4. Click “New->Search Service”
  5. For name, type “FAST Search Query”
  6. For the type, select “FAST Search Query”
  7. For the application pool for admin server, type “FASTSearchAdminPool”
  8. For the application pool for search query and site settings”, type “FASTSearchQueryPool”
  9. For Query Service Location, type “https://sharepoint2010.contoso.corp:13286”
  10. For Administration Service Location, type “net.tcp://sharepoint2010.contoso.corp:13256”
  11. For Resource Store Location, type “http://sharepoint2010.contoso.corp:13255”
    • NOTE: these port numbers are in the “C:\FASTSearch\Install_Info.txt” file – minus the actual protocol data unfortunately
  12. For account, type “contoso\administrator”
  13. Click “Ok”
  14. Click “Application Management”
  15. Click “Manage service applications”
  16. Click “New->Search Service”
  17. For name, type “FAST Search Connector”
  18. For type, select “FAST Search Connector”
  19. For application pool, type “FASTConnectorPool”
  20. For content distributor, type “sp2010.contoso.com:13329”
  21. For the content collection, type “sp”
    • NOTE: the content collection “sp” is the default one created by the install and configuration steps
  22. Click “OK”
Task 5 – Setup Certificate
  1. Open a SharePoint 2010 Management Console
  2. Run the following commands (be sure to replace the two bolded items with your server and application name):
$currentdir = pwd
$sharepointSTSCertFilename = Join-Path -Path $currentdir -ChildPath 'MOSS_STS.cer'
$fastsearchqrserver = 'fs14qrserver.mydomain.com'
$fastSSAName = 'FASTSearchServiceApplication'

$stsCert = (Get-SPSecurityTokenService).LocalLoginProvider.SigningCertificate
$stsCert.Export("cert") | Set-Content -encoding byte $sharepointSTSCertFilename

$queryServiceLocationValue = "http://" + $fastsearchqrserver + ":13287"
Set-SPEnterpriseSearchExtendedQueryProperty -SearchApplication $fastSSAName -Identity "FASTSearchQueryServiceLocation" -Value $queryServiceLocationValue
Set-SPEnterpriseSearchExtendedQueryProperty -SearchApplication $fastSSAName -Identity "FASTSearchQueryServiceWinAuth" -Value false
Get-SPEnterpriseSearchExtendedQueryProperty -SearchApplication $fastSSAName
IISReset
Open a FAST Search Management Console
  1. Run the following commands (be sure to replace the path to the certificate):
$sharepointSTSCertFilename = 'FULLPATH_TO_MOSS_STS.cer'

# Import SharePoint Security Token Service Certificate
$trustedPeopleCertStore = new-object System.Security.Cryptography.X509Certificates.X509Store('TrustedPeople', [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
$trustedPeopleCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$sharepointSTSCert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2
$sharepointSTSCert.Import($sharepointSTSCertFilename)
$trustedPeopleCertStore.Add($sharepointSTSCert)
$trustedPeopleCertStore.Close()

# Configure FAST Search Server to trust SharePoint Security Token Service certificate
Set-FASTSearchQRProxyMOSSConfiguration -STSThumbprint $sharepointSTSCert.Thumbprint -RestartServices true
  1. Open the C:\FASTSearch\bin\QRProxyService.exe.config
  2. Uncomment the following line that starts with:
<!--<binding name="HTTP_CLAIMS_INSECURE">...
  1. Enable HTTPS searching by running the following commands
#HTTPs - EXPORT CERT

$currentdir = pwd
$sharepointSTSCertFilename = Join-Path -Path $currentdir -ChildPath 'MOSS_STS.cer'
$fastsearchqrserver = 'sharepoint2010.contoso.corp'
$fastSSAName = 'FAST Search Query'
$sharepointServicesCertFilename = Join-Path -Path $currentdir -ChildPath 'MOSS_SERVICES.pfx'
$sharepointServicesCertPassphrase = $host.ui.PromptForCredential("Need Credentials", "Please enter a passphrase for the SharePoint Services Cert", "CERT_PASSPHRASE", "")
$tempStringValue = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($sharepointServicesCertPassphrase.Password)
$plainTextPassPhrase = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($tempStringValue)
$stsCert = (Get-SPSecurityTokenService).LocalLoginProvider.SigningCertificate
$stsCert.Export("cert") | Set-Content -encoding byte $sharepointSTSCertFilename
$sharePointCertStore = new-object System.Security.Cryptography.X509Certificates.X509Store('SharePoint', [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
$sharePointCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadOnly)
$servicesCert = $sharePointCertStore.Certificates.Find([System.Security.Cryptography.X509Certificates.X509FindType]::FindBySubjectName,'SharePoint Services', $false)
$servicesCert.Export("pfx", $plainTextPassPhrase) | Set-Content -encoding byte $sharepointServicesCertFilename
$servicesCert2 = new-object System.Security.Cryptography.X509Certificates.X509Certificate2
$servicesCert2.Import($sharepointServicesCertFilename, $plainTextPassPhrase, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::DefaultKeySet)
$trustedPeopleCertStore = new-object System.Security.Cryptography.X509Certificates.X509Store('TrustedPeople', [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
$trustedPeopleCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$trustedPeopleCertStore.Add($servicesCert2)
$trustedPeopleCertStore.Close()

$queryServiceLocationValue = "https://" + $fastsearchqrserver + ":13286"
Set-SPEnterpriseSearchExtendedQueryProperty -SearchApplication $fastSSAName -Identity "FASTSearchQueryServiceLocation" -Value $queryServiceLocationValue
Set-SPEnterpriseSearchExtendedQueryProperty -SearchApplication $fastSSAName -Identity "FASTSearchQueryServiceWinAuth" -Value false
Get-SPEnterpriseSearchExtendedQueryProperty -SearchApplication $fastSSAName
IISReset

#HTTPS - IMPORT CERT

$sharepointSTSCertFilename = 'c:\users\administrator\MOSS_STS.cer'
$sharepointServicesCertFilename = 'c:\users\administrator\MOSS_SERVICES.pfx'
$sharepointServicesCertPassphrase = $host.ui.PromptForCredential("Need Credentials", "Please enter the passphrase for the SharePoint Services Cert", "CERT_PASSPHRASE", "")
$tempStringValue = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($sharepointServicesCertPassphrase.Password)
$plainTextPassPhrase = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($tempStringValue)

# Import SharePoint Security Token Service Certificate
Add-PSSnapin Microsoft.FASTSearch.Powershell
$trustedPeopleCertStore = new-object System.Security.Cryptography.X509Certificates.X509Store('TrustedPeople', [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
$trustedPeopleCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$sharepointSTSCert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2
$sharepointSTSCert.Import($sharepointSTSCertFilename)
$trustedPeopleCertStore.Add($sharepointSTSCert)

# Import SharePoint Security Token Service Certificate
$trustedPeopleCertStore = new-object System.Security.Cryptography.X509Certificates.X509Store('TrustedPeople', [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
$trustedPeopleCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$sharepointSTSCert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2
$sharepointSTSCert.Import($sharepointSTSCertFilename)
$trustedPeopleCertStore.Add($sharepointSTSCert)
$trustedPeopleCertStore.Close()

# Import SharePoint Services Certificate
$sharepointServicesCert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2
$sharepointServicesCert.Import($sharepointServicesCertFilename, $plainTextPassPhrase, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::DefaultKeySet)
$personalCertStore = new-object System.Security.Cryptography.X509Certificates.X509Store('My', [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
$personalCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$personalCertStore.Add($sharepointServicesCert)
$personalCertStore.Close()
$rootCertStore = new-object System.Security.Cryptography.X509Certificates.X509Store('Root', [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
$rootCertStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$rootCertStore.Add($sharepointServicesCert)
$rootCertStore.Close()

# Configure FAST Search to trust SharePoint Security Token Service Certificate
Set-FASTSearchQRProxyMOSSConfiguration -STSThumbprint $sharepointSTSCert.Thumbprint -RestartServices true
$sharepointServicesCertThumbprint = $sharepointServicesCert.Thumbprint
netsh http add sslcert ipport=0.0.0.0:13286 certhash=$sharepointServicesCertThumbprint 'appid={a5455c78-6489-4e13-b395-47fbdee0e7e6}'
Task 6 – Re-index content
  1. Open SharePoint Central Administration
  2. Click “Application Management”
  3. Click “Manage service applications”
  4. Click “FAST Connector”
  5. Click “Content Sources”
  6. Click “New Content Source”
  7. For name, “SharePoint Sites”
  8. For start address, type http://servername:100
  9. Check the “Start full crawl of this content source”
  10. Click “OK”
  11. Wait for the crawl to finish
Task 7 – Test FAST Search
  1. Open the http://servername:115 site
  2. Type in and run a query

No comments:

Post a Comment