Prepare SharePoint Farm – Part 4 Install and Configure SharePoint farm (3 -tier)


In previous posts , we have configured windows cluster, SQL cluster, and NLB for the WFE servers.

Part 1 – Prepare Windows Cluster

Part 2 – Install and configure SQL Cluster

Part 3 – Install and Configure NLB on WFE

In this post we will perform a farm installation and configuration to meet 3-tier farm topology described as shown in above figure

1- Make sure all servers have internet connectivity

2- Turn off firewall on all Application and web front end servers

3- Install windows updates on all servers.

4- Add the following Roles on each server

  • IIS Role
  • Application Server


5- Run SharePoint installation setup on all servers (except the db servers), start with App Server and configure Central administration there , then continue with WFEs as below.

6- run the default.hta –> prerequisites installer


7- The setup will run the following:


8- After pre requisites installation complete , run SharePoint setup:

9- enter SharePoint key

10- Make sure to select Server Farm as we are installing SharePoint on multiple servers for scalability, click next


11- Make sure to select complete, as standalone installation will install SharePoint under SQL Express


12- Determine the installation path, and Data index files path (these index files will save index information regarding search, application server will push the index files regularly to the below location. Index files helps the WFE to find search queries and post search index result to the Search crawler to get the result faster.


13- After installation , we need to run the configuration wizard , this wizard should be executed first on the Application server, where SharePoint Central Administration going to be hosted

14- On application Server, run the configuration wizard, and select New Farm option, since this App server is the first farm in the farm.


15- Select the Cluster SQL instance name (created in Part2 of this series), the SharePoint admin account (SPSadmin) should be admin on database server.


Note: the SQL instance name above is abstracted from the windows cluster as below: (Refer to Post Part 1 &2)


16- Enter a Passphrase, make sure to save this password in some reachable place, this password is needed when ever a new server is going to be joined to the farm: 


17- Select some port to host the Central Administration web application


18- Review summary page, the click Next

19- The Central Administration URL is: http://[AppServerName]:100/

20- Open Central Administration run the Configuration wizard to configure SharePoint service applications:


Note: in more advanced scenarios you can create service applications one by one manually as per the farm requirements., in this post we will walk through creating the service applications as per the default settings

21- Check the services you need for this Farm, to create the required Service Applications:


22- Skip the Web application creation step ,as you want to create the web application on WFE NLB servers not on application server


Note : we will perform some additional configurations for the service applications in more details once we finish the installation for the rest of servers.

23- Now go to WFE Servers , Run Configuration wizard on both WFE servers selecting now the Join Farm option (not create new farm)., make sure to select Connect to existing farm


24- Enter the SQL Instance Cluster name, then press on Retrieve Database names


25- Make sure to supply the passphrase you entered previously while creating the farm on the application server


26- In the summary page , you can click on the advanced option to make sure that the WFE servers are not used to host the Central Administration Web Application (as its hosted on Application server only), then Click next:





Configure SharePoint Farm Server Roles

now we have installed and configured  SharePoint on all servers , we need to configure one of them as App server, and two of them as WFE servers, actually there is no dedicated configuration page to identify the server Roles explicitly ,alternatively the process of identifying the server roles is much dynamic and yet advanced, the trick here is that you identify the server role through the Manage Services page by identifying the appropriate services on each server, as below:

1. Open Central Administration

2. Click on Manage Service on the farm and make sure to perform the following


  • WFE Servers should have the following services started on it to serve users requests only and to act optionally as query indexers for the search,  this is why we stated the search services but in a later step we will eliminate the search role here to act as query indexer only.


Note: the most important service to be started on WFE servers to identify them as WFE is Microsoft SharePoint Foundation web application

when starting the Search service for the first time , you might be prompted to configure the search service as below:




  • Application server should have all the required services started on it, as below (some services are intentionally stopped as they are not needed in this farm


Note:  Microsoft SharePoint Foundation web application Service is stopped here



Search Service Topology configuration

in this section we will identify the search service role on each server, its true that the application server should be responsible for Search , but some components need to be there on WFE servers to handle search queries by client.

As a best practice, its better to install search components on the Web and application tiers in order to optimize performance by distributing the load placed on the servers in the farm. To distribute search components across the farm tiers, you must follow these steps:

  • Move the query components to the Web tier
  • Move the Crawl components to the App tier
  • Keep the Database components to run on SQL Server.

Search is complicated enough that it has its own topology configuration settings. The services that need to be tuned are:

  • Search Query and site settings
  • SharePoint Server Search

You can use a special configuration page to place the query functionality on the WFE and to place the crawlingindexing functionality on the Application Server.

1. Defining the Search Topology, Go to Manage Service Application to configure the Search Topology , click on Search Service Application.


Click modify and make sure to have the following :

  • App Server : change its role to be Crawler , click on the default Crawl component and change it to be assigned to application server.
  • WFE Server: change its role to be Indexer, click the default Query component –> add mirror.

after you finish press on Apply topology

2. Click on content sources on the left menu –> click on the Scope you want to schedule:


3. Scroll down to Crawl Schedule –> create schedule


4. For low search latency and instant search crawling , The configuration is set is the below , which can be changed later on for by the admin as needed

  • Full Crawl setting:


  • Incremental crawl settings:


Note: the above configuration is set to run a full crawl once every night , and to run an incremental crawl every 5 minutes for 24 hours, the interval may vary incase no dedicated application server is there for search.


Create your First Intranet Web Application in the Farm

in this step we will be creating our intranet web application on the NLB URL

1. Go to Central Administration , click manage web applications

2. Create new web application (with NLB considerations) as the following:


Make sure to supply the NLB cluster name in the host header (created in post 3 of this series) , and proper Content database name, this content database will contain the intranet content (documents, lists, etc…


3. After Web application is created, create a site collection as the following:


note how the URL is appearing using the NLB cluster name instead of server name, this is because of the host record we supplied in the previous step.

note: make sure that your NLB cluster name and IP are added as host record to the Active Directory. 


Configure Alternate Access Mapping

In some situations users might need to request to have an easy name for the portal so when ever they want to access the portal, it will be easy to memorize it and type in the URL (e.g. myPortal)

1. Go to Central Administration –> Application management –> Configure Alternate Access Mapping

2. Press on edit public URLs


3. Add a new alternate access mapping


make sure to supply the name that you want users to use when accessing the portal (e.g. myPortal), this URL is then resolved to the NLB cluster URL automatically because of this configuration of this configuration we are doing now.

4. Add binding to the web application at the IIS


5. make sure to add “myPortal” as a host record to the AD