Installation And Configuration Of FAST Search Server for SharePoint 2010

This article describes how to install and configure Microsoft FAST Search Server 2010 for SharePoint as a multiple server deployment and also add the same as a back-end for Microsoft SharePoint Server 2010.We assume that SharePoint Server 2010 is already installed. Currently we will not focus on any installation steps of SharePoint 2010 server or SQL server 2008.

Note: FAST Search Server for SharePoint is recommended to be installed on a different server from Microsoft SharePoint Server.

Installation process:

FARM Snapshot once the configuration steps are followed

image

 

Plan your install

· First Step is to have a SQL server up and working in your environment. Create a service account that will be typically used for configuring the environment. This account should have dbcreator and security administrator privileges on the SQL server. Depending on the requirement you may want to have a SQL server cluster. This account should also be added to the local admin group of the SharePoint and the FAST box or a group that has privileges to install the binaries of SharePoint and FAST in respective boxes as per your domain policies.

· Next important step is to install Microsoft SharePoint Server 2010. Ensure you install Microsoft SharePoint Server 2010 with the option “Farm install” and then choose the option “Complete” which are part of the (Advanced installation). In the search results if you want to enable document preview which is only available for Microsoft Word and PowerPoint you must also install Microsoft Office Web Applications Companion (WAC) before running the product configuration wizard.

Create a Web application and choose the template you would want for your site collection Ensure that you have the following features activated on your SharePoint Farm.

• SharePoint Server Publishing Infrastructure

• SharePoint Server Enterprise Site Collections features

Note :Turn off automatic adjustment of daylight saving time in the system to avoid query timeouts. If DST adjustment is enabled, query timeouts may occur for a brief period around midnight on the date of DST adjustment.

Following are the broad categories that we would focus on

· Running the Prerequisite Installer.

· Installing FAST Search Server 2010 for SharePoint.

· Running the post-setup configuration wizard to configure the FAST Search Server 2010 for SharePoint servers.

· Installing Advanced Filter Pack.

Following are the Hardware and Software prerequisites for Microsoft FAST Search Server 2010 for SharePoint

Hardware requirements

 

Minimum

Recommended

Operating System

Windows Server 2008 x64 with SP2

Windows Server 2008 R2 x64 with Sp2

RAM

4 GB

16 GB

CPU

4 CPU cores, 2.0GHz CPU

8 CPU cores, 2.0GHz CPU

HDD

50 GB disk

1 TB disk space on RAID across 6 spindles or more

     

Software prerequisites:

· Web Server (IIS) Role

· Power Shell 2.0

· Distributed Transaction Support

· Microsoft .NET Framework 3.5 SP1

· Windows Communication Foundation Activation Components

· XPS Viewer

· Microsoft "Geneva" Framework

· Microsoft Primary Interoperability Assemblies 2005

· Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)

· Microsoft Filter Pack 2

Run prerequisite installer: The Prerequisite Installer checks your server to ensure that it has the required components and updates, if anything is found to be missing then it downloads and installs the required software. The Prerequisite Installer connects to Microsoft Download Centre and hence needs internet access on the server you are running the tool. You can definitely configure your server to pick up the prerequisites from an alternate location if the server you are running the Prerequisite Installer does not have Internet access. You need to run the prerequisite installer command from your installation directory followed by a ‘/?’ to look at the options.

image

Sample Prerequisite script

Here is a sample prerequisite installer script that can be run to point to a physical location and skip the internet download.

To run this script below you need to have two folders .

a. Your Fast installer in a folder FastSearchServer

b. Download the prerequisites into a folder called FAST_pre-reqs.

Copy the sample below and save as a batch file

Sample Script

========================================

set CWD=%cd%

set PREREQ_DIR=%CWD%\FAST_pre-reqs

set FS14_INSTALL_HM_DIR=%CWD%\FastSearchServer

cd /D %FS14_INSTALL_HM_DIR%

PrerequisiteInstaller.exe /IDFX:%PREREQ_DIR%\MicrosoftGenevaFramework.amd64.msi /VSInteropAssembly:%PREREQ_DIR%\vs90_piaredist.exe /VCCRedistPack:%PREREQ_DIR%\vs90_piaredist.exe /FilterPack:%PREREQ_DIR%\FilterPack.exe

Please ensure that you install SQL client components separately if you are planning to host SQL in a separate server.

=============================================================================

Prerequisite GUI

Following steps needs to be followed if running prerequisite installer from UI.

1. Navigate to the installer location and double click on the splash.hta

2. In the FAST Search Server 2010 for SharePoint splash screen, click Install software prerequisites. The Welcome to the FAST Search for SharePoint prerequisite installer screen appears.

image

Click Next. The License page appears. Verify that you accept the license terms and then click Next to continue. The Prerequisite Installer installs the prerequisites

image

On the Installation Complete screen, click Finish. Restart the server .Once the server is back we need to change the execution policy of PowerShell scripts. This is to ensure that PSConfig wizard that you will run later must be able to run scripts during configuration. To do this right click the Windows PowerShell icon and select Run as Administrator. On the Powershell prompt run the below

Set-ExecutionPolicy RemoteSigned

Install FAST Search Server 2010 for SharePoint

Once you have installed the prerequisites successfully we can continue with the installation of the FAST server. Navigate to the installer location and double click on the splash.hta.

This again brings up the installer screen and under the "Install" category choose the option "Install Fast Search server For SharePoint 2010" The installation would by default install the binaries to system drive however you can use the below syntax to change the installation path

msiexec /i fsserver.msi FASTSEARCHSERVERINSTALLLOCATION="<physical path>\search\fastsearch" /l setup.log

You will see a standard installation screen like the one below

image

A successful install will have the following services but they would be set to disabled

· FastSearch for SharePoint Server 2010

· FastSearch for SharePoint SAM Admin

· FastSearch for SharePoint SAM Worker

· FastSearch for SharePoint QR Proxy

· FastSearch for SharePoint Monitoring

· FastSearch for SharePoint Browser Engine

Next step would be to run a Psconfig from GUI or from the default location %FASTSEARCH%\installer\scripts. Basically this is where you choose whether the server would be a standalone or a multi-server environment. Standalone as the name mentions has all the roles on a single box . On a multi server scenario there are separate Admin and Non-Admin servers. The admin server is the server where the administrative services are installed and run. Multiple non-admin servers can be added to this admin server. The non-admin server runs services such as indexing and document/item processing, query matching However you can always run it from a PowerShell prompt.

Powershell command to run Psconfig for an admin node

.\psconfig.ps1 -action i -roleName admin -userName (domain\user) [-password (user password as a secure string)] [-certificatePassword (Password for FAST Search Server for SharePoint certificate)] -localMachineName (fully qualified local machine name) [-adminMachineName (fully qualified admin machine name)] [-baseport (port)] -databaseConnectionString (database connection string) -databaseName (database name) [-deploymentFile (deployment file name)] [-logFileName (Name of the log file)] [-logLevelAsString (Debug/Info/Warning/Error)]

PSConfig from UI gives the following screen,

image

The first server on a multi node FAST installation scenario will always be an Admin server. The admin server is the server where the administrative services are installed and run. Multiple non-admin servers can be added to this admin server. The non-admin server runs services such as indexing and document/item processing, query matching.

To configure a multiple server environment follow these steps,

1. Prepare the deployment file

2. Configure a server as the admin server

3. Configure one or more servers as non admin servers

Choose the same from the UI and click next

image

Provide the service account credentials on the next screen

image

Provide the deployment file location. I have attached a sample deployment.xml file for a multi-server deployment below.

clip_image001

Sample Deployment XML File 

=======================================================================

<?xml version="1.0" encoding="utf-8" ?>

<!-- For permissions and the most current information about FAST Search Server 2010 for SharePoint configuration files, see the online documentation,

(https://go.microsoft.com/fwlink/?LinkId=1632279). -->

<deployment version="14" modifiedBy="domain\fastlogin" modifiedTime="2010-01-14T12:21:34Z" comment="FAST Multinode"

xmlns="https://www.microsoft.com/enterprisesearch" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www.microsoft.com/enterprisesearch

deployment.xsd">

<instanceid>FASTSearch</instanceid>

<connector-databaseconnectionstring><![CDATA[jdbc:sqlserver://SQLSERVERNAME;DatabaseName=Databasename]]></connector-databaseconnectionstring>

<host name="FQDN admin server">

<admin />

<document-processor processes="4" />

<content-distributor />

<indexing-dispatcher />

<crawler role="single" />

<webanalyzer server="true" max-targets="1" link-processing="true" lookup-db="true" />

<searchengine row="0" column="0" />

<query />

<!--

<admin />

-->

</host>

<host name="FQDN non admin server">

<query />

<searchengine row="1" column="0" />

</host>

<searchcluster>

<row id="0" index="primary" search="true" />

<row id="1" index="none" search="true" />

</searchcluster>

</deployment>

================================================================================================

Save a copy of the above file as deployment.xml to your desired location and click Next. Now once you provide path to the deployment.xml and click next you should see the screen below.

clip_image001[4]

You will have to select the relevancy options in the next screen and that should bring up a summary of the configuration options you have specified till now. Review the same and once you click on next the configuration actions specified are performed and then you should see the completion screen.

clip_image002

Before restarting the server, ensure that the domain group or domain accounts of your FAST Search Administrators are added to the local FASTSearchAdministrators group that was created by the psconfig command. Also add the SharePoint server computer account that you are planning to have as a frontend.

Now the server that will run the Index component of the FAST cluster is ready. We have to configure the server that will have the Search component. The configuration steps are pretty much the same. Ensure you log in with the service account that you configured for the Admin server. We will not go into details of most of the steps and skip the images. The primary step definitely is to run the Prerequisite installer. Once the same is run and completes successfully the next step is to install the FAST binaries. Once those are installed open a Powershell prompt and run the below set of commands,

Set-ExecutionPolicy RemoteSigned

Type Yes to change the execution policy.

Next step is to run the PSConfig wizard and it depends whether you want to run the same from GUI or a Powershell command prompt. If you run the PSConfig UI, then you need to ensure that you choose the Non-admin server on the screen in the options shown

Below is what you expect running PSConfig from UI 

clip_image001[6]

Powershell command to run psconfig on a Non-admin node:

Non admin node: .\psconfig.ps1 -action i -roleName nonadmin -userName (domain\user) [-password (user password within quotes)] -adminBasePort(base port of admin node) -localMachineName (fully qualified local machine name) -adminMachineName (fully qualified admin machine name) [-logFileName (Name of the log file)] [-logLevelAsString (Debug/Info/Warning/Error)].

Provide the service account and the certificate password on the subsequent screen. The server name for the non-admin server will be automatically populated. Provide the Admin server name that you configured earlier. For the base port ,type in 13000.

clip_image002[4]

Review the summary of the configuration you provided earlier before proceeding. The server will prompt you for a reboot. Before restarting the server, please ensure that the domain group of your FAST Search Administrators is added to the local FASTSearchAdministrators group that was created by the PSConfigcommand. Also add the SharePoint server computer account that you are planning to have as a frontend.

Once the server is back you can bring up a Powershell prompt and type,

Nctrl status .

This brings you to an end of FAST two node cluster installation without redundancy. Now the next task is to connect the SharePoint 2010 to this FAST node. Installation of SharePoint is beyond the scope of this post but I am going to talk about connecting SharePoint to FAST and creation of the SSA .

Configure Microsoft SharePoint Server

Log in to SharePoint server with the service account. Ensure that you have the SharePoint Server Enterprise Site collection and SharePoint Server Publishing Infrastructure feature activated; these are needed for FAST functionality.

clip_image002

We need to create a new site collection with the FAST Search center template. We can later on change the default OSSSearchResults.aspx page and use this site collection as the default search page.

clip_image003

SSA configuration Steps at a glance:

1. Create and set up the Content Search Service Application (SSA) .The Content SSA will crawl the content and feed it into the FAST Search Server 2010. In relation to the Content SSA, you should enable Secure Sockets Layer (SSL) communication with the FAST Search Server 2010 for SharePoint back-end.

2. Create and set up the Query Search Service Application (SSA). The Query SSA will provide query results from the content that is crawled by the Content SSA. To enable queries from MOSS 2010 to FAST Search Server 2010 for SharePoint, export a certificate to be imported to the FAST Search Server 2010 for SharePoint server.

Content Search Service Application (SSA)

Log in to your FAST environment and retrieve the file default Install_info.txt. The default location is c:\FASTSearch\install_info.txt. You can copy over this file to the SharePoint box for ease of configuration as this file has port numbers required by the SSA that you will create now.

Bring up Microsoft SharePoint Server Central Admin home page, click on Application Management > Manage Service Applications.

clip_image005

On the Manage Service Applications screen, select New Search Service Application. On the new search service application page fill in details.

image

Now that you have a FAST search connector you also need to create a FAST Search Query SSA. For creating one, browse to Microsoft SharePoint Server Central Admin home page, click on Application Management > Manage Service Applications. On the Manage Service Applications screen, select New Search Service Application. This time ensure that you select FAST Search Query Fill up the details as mentioned below. As mentioned earlier, Install_info.txt will have these ports already pre-populated.

image

Navigate to SharePoint Central Administration->Application Management->Configure Service Applications associations. Make sure the FAST Query SSA is used by default

image

Validating the SSA Configuration

Follow the steps below for a quick check on the WCF communication between SharePoint and FAST environment

From Central Administration

Central Administration>> Manage Service Applications>> FAST Query SSA>> FAST Search Administration>> Managed Properties.

If the link does not display any error SharePoint has successfully connected to FAST server.

From Search Site

Browse to the FS14 search site created above with FAST Search Centre Template

Click on site actions >>site settings >>site collection administration >> FAST Search Keyword>> Add Keyword.

If you are able to add a keyword SharePoint has successfully connected to FAST server.

Often people forget to enable SharePoint enterprise site collection feature mentioned above. If you get an error while trying to add a keyword ensure you have the feature enabled.

Configuring communication Channel

To enable queries from Microsoft SharePoint Server search application to FAST Search Server 2010 for SharePoint, you must select a communication channel for exporting and importing the certificates. To enable crawling content with the Content SSA, you must also copy certificates to all servers used in the crawl setup.

You can definitely choose HTTP or HTTPS and the traffic between SharePoint SSA and FAST server will either be encrypted or not depending on what you choose.

After selecting the communication channel, the certificate(s) must be copied from the SharePoint node and imported on all FS query nodes. The STS certificate can be seen in the trusted people certificate store on the FS node after it has been imported. Then the FAST Search Server must be configured to trust SharePoint Security Token Service certificate.

Exporting the Certificate

The steps to do this are as follows,

Open a SharePoint 2010 Management Shell. Run the following commands.

$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate

$stsCert.Export("cert") | Set-Content -encoding byte MOSS_STS.cer

The file MOSS_STS.cer is created in the same directory from where the command was executed . Copy MOSS_STS.cer to the directory FASTSearch to FS14 node.

Importing the Certificate

Log on to FAST server. Open a FASTSearch for SharePoint 2010 shell as administrator and navigate to FAST Search installed location . <install drive>\FASTSearch\installer\scripts.

Enter and run the following command:

.\InstallSTSCertificateForClaims.ps1 –certPath c:\FASTSearch\MOSS_STS.cer

Copy the FASTSearchCert.pfx from the FS14 node to the SharePointnode. Certificate location <install drive>\FASTSearch\data\data_security\cert\FASTSearchCert.pfx

Copy the securefastsearchconnector.ps1 script to the SharePointnode. Location <install drive>\FASTSearch\installer\scripts\securefastsearchconnector.ps1 .

Log on to SharePoint server. Open a SharePoint 2010 Server Management shell ( run as Administrator). Run the script with the certificate as input:

.\SecureFASTSearchConnector.ps1 –certPath FASTSearchCert.pfx –ssaName “FAST Connector” –username .  You will be prompted to type the certificate password that you had mentioned during the time of installing the FAST server.

image

Content Source Creation

The final step would be to create a content source to crawl the SharePoint site. Definitely you can create a separate content collection to crawl external websites. Once a full crawl is performed you should be able to get search results from within the site collection you created above with FAST Search Centre Template.