ACS Blogs

A blog site for Architecting Connected Systems staff to tell the world about their exploits in
SharePoint 2007/2010/2013, Windows Workflow Foundation (3.0/4.0) and other great technologies!
Welcome to ACS Blogs Sign in | Join | Help
in Search
MSPress

CJG

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:\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

 

Published Saturday, November 28, 2009 5:21 PM by cjg

Comments

 

uberVU - social comments said:

This post was mentioned on Twitter by givenscj: My blog for #FAST #search for #sharepoint setup step by step : http://bit.ly/7Wxjb4 is up! #sp2010

November 30, 2009 3:42 PM
 

aghy said:

Hi,

I went through these steps and everything was smooth, thanks for this post! My only "small" problem is that although I have 175 items indexed, search result is always empty. I'm trying on FAST Search Site, of course.

Do you have any idea what can be wrong?

Thanks,

Aghy

December 7, 2009 4:13 PM
 

cahtye said:

I tried the post install step for Fast Search on a Windows 2008 server without domain names (I used local user names only). The post-install step failed. In the installer log file I see:

1/4/2010 2:13:18 PM Verbose InstallAction - Creating IPSec configuration...

1/4/2010 2:13:22 PM Error Utility.WriteException - Exception -  : Exception - System.ArgumentException: A problem occurred when retrieving information on machine: watsdevsp2010. Make sure the machinename is spelled correctly and that the machine is available ---> Microsoft.SharePoint.Search.Extended.Installer.Mahasen.Common.IPSec.IPSecException: Exception occurred while looking up SID for machine: "watsdevsp2010". LDAP filter: "(&(objectCategory=computer)(objectClass=computer)(cn=watsdevsp2010))". Path: "LDAP://DC=watsdevsp2010". ---> System.Runtime.InteropServices.COMException (0x8007054B): The specified domain either does not exist or could not be contacted.

where it fails an IPSec configuration step. I tried commenting out C:\FastSearch\installer\scripts\psconfig.ps1 file where the steps are for "Creating IPSec configuration", but apparently this file is dynamically created and overwrites my commenting out of this step.

Has anyone successfully installed FAST search in a local account only scenario?

Has anyone run into the problem above?

Note I did successfully install Sharepoint 2010 itself using local accounts only (seehttp://sharepoint.microsoft.com/blogs/fromthefield/Lists/Posts/Post.aspx?ID=112).

January 4, 2010 2:31 PM
 

iacyclone said:

Chris thanks for the post.  We are getting the dreaded "Unable to display web part error".  One question about your instructions, in task#4 it looks like it using https to connect to the query service but in step #5 it has the $queryservicelocationvalue using http.  Is this intentional or a typo?  We are trying to just use straight Http with port number 13287 but our logs are indicating that the query never makes it to the query backend.

Any suggestions or insight would be helpful.

Thanks,

Steve

January 29, 2010 6:18 AM
 

Matthew said:

Bonjour, Après un peu de silence me revoilà pour une suite d’article sur FAST For SharePoint. Comme vous

February 16, 2010 11:36 AM
 

erkindunya said:

Set-SPEnterpriseSearchExtendedQueryProperty : Requested value 'FASTSearchQueryServiceWinAuth' was not found.

At line:1 char:44

+ Set-SPEnterpriseSearchExtendedQueryProperty <<<<  -SearchApplication $fastSSAName -Identity "FASTSearchQueryServiceWinAuth" -Value false

   + CategoryInfo          : InvalidData: (Microsoft.Offic...xtendedProperty:SetExtendedProperty) [Set-SPEnterpris...edQueryProperty], ArgumentExce

  ption

   + FullyQualifiedErrorId : Microsoft.Office.Server.Search.Cmdlet.SetExtendedProperty

April 12, 2011 11:00 AM
Anonymous comments are disabled

This Blog

Syndication

Powered by Community Server, by Telligent Systems