FAST Search for SharePoint – Step by Step Install

By popular demand, here is the FAST Search step by step install steps!  If you like it, add me to twitter http://twitter.com/givenscj

Enjoy!
Chris

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: emp
  2. Run “C: empPrerequistieInstaller”
  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:FASTSearchinstallerscripts”
  7. Run the SharePoint 2010
    Management Shell
  8. Run the following:
    • Psconfig.ps1 –action i
      –roleName single –userName contosoadministrator –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:FASTSearchInstall_Info.txt” file – minus the
      actual protocol data unfortunately
  12. For account, type
    “contosoadministrator”
  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:FASTSearchinQRProxyService.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:usersadministratorMOSS_STS.cer'
$sharepointServicesCertFilename = 'c:usersadministratorMOSS_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