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
- Open SharePoint Central
Administration - Click “Application
Management” - Click “Create Site
Collection” - Select the web application
called “SharePoint –115” - For site name, type “FAST
Search” - For url, type FAST
- For template, select
“Enterprise->FAST Search Center” - For site collection admin,
type “Administrator” - Click “Create”
Task 2 – Install FAST
Search
- 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 - Run “C: empPrerequistieInstaller”
- The splash screen will open:
- Click “Next”
- The prereqs for FAST Search
will be installed
- Click “Finish”
- Run “fsserver”
- This will create a new
directory called “C:FASTSearch” - Click “Start”, right click
“Computer”, select “Properties” - Click “Advanced System
Settings” - Click “Environment Variables”
- Add the following to your
path variable - “C:FASTSearchinstallerscripts”
- Run the SharePoint 2010
Management Shell - Run the following:
- Psconfig.ps1 –action i
–roleName single –userName contosoadministrator –localMachineName <FQDNservername>
-databaseConnectionString <dbservername> –databaseName FASTSearch - Enter the password,
“Pa$$w0rd” - For self signed password,
type “Pa$$w0rd” - Reboot the computer
- Run the following command:
- ConfigureSharePointAuthorization
–installedMode Advanced
Task 3 – Start
Services
- 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
- Open SharePoint Central
Administration - Click “Application Management”
- Click “Manage service
applications” - Click “New->Search
Service” - For name, type “FAST Search
Query” - For the type, select “FAST
Search Query” - For the application pool for
admin server, type “FASTSearchAdminPool” - For the application pool for
search query and site settings”, type “FASTSearchQueryPool” - For Query Service Location,
type “https://sharepoint2010.contoso.corp:13286” - For Administration Service
Location, type “net.tcp://sharepoint2010.contoso.corp:13256” - 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 - For account, type
“contosoadministrator” - Click “Ok”
- Click “Application
Management” - Click “Manage service
applications” - Click “New->Search
Service” - For name, type “FAST Search
Connector” - For type, select “FAST Search
Connector” - For application pool, type
“FASTConnectorPool” - For content distributor, type
“sp2010.contoso.com:13329” - For the content collection,
type “sp” - NOTE: the content collection “sp” is the
default one created by the install and configuration steps - Click “OK”
Task 5 – Setup
Certificate
- Open a SharePoint 2010
Management Console - 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
- 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
- Open the C:FASTSearchinQRProxyService.exe.config
- Uncomment the following line
that starts with:
|
- 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
- Open SharePoint Central
Administration - Click “Application
Management” - Click “Manage service
applications” - Click “FAST Connector”
- Click “Content Sources”
- Click “New Content Source”
- For name, “SharePoint Sites”
- For start address, type http://servername:100
- Check the “Start full crawl
of this content source” - Click “OK”
- Wait for the crawl to finish
Task 7 – Test FAST
Search
- Open the http://servername:115
site - Type in and run a query