How to Install WFE using AutoSPinstaller

Oct 5, 2011 at 2:43 PM
Edited Oct 5, 2011 at 2:43 PM

Hi all,

I am new to this Autospinstaller script. I have used this script one time before. It works great for Standalone server installation. But If I have 1 app server, 2 Wfe server,1 fast search.... how I should be using it to do the Wfe installation and other app search for search. please let me know how to do it. thanks...

Regards

Shaan Singh

Coordinator
Oct 13, 2011 at 3:53 PM

Essentially you first need to plan out which servers/roles are going to host which services and service applications. Guidance for this is well beyond the scope of this script alone but fortunately there's lots of it out there. Then once you have determined on which servers the various components will run, it's just a matter of editing your XML input file accordingly - e.g. listing "WFESERVER1,WFESERVER2" in the appropriate section for a particular component, service or service app.

By the way, the FAST server is not part of the SharePoint farm in the sense that it doesn't actually have the SharePoint bits installed on it. Hence it's not covered by the AutoSPInstaller at all.

Hope this helps,
Brian

Dec 5, 2011 at 5:14 AM

Hey Brian,

Great Script!  But when you say add the WFE to the appropriate spots in the inputs.xml,  where is the appropriate spots?  I cant see anything relating to the web application role in the xml?  Also will you need to copy the install files to the WFE and run it from the WFE or will it use the remote powershell feature?

Many Thanks,

 

Dec 5, 2011 at 5:23 PM

Hi Max,

I believe you still need to run AutoSPInstaller on each server individually, however, you can use a single XML input file. The best way to do this is to put the files on a file share accessible to all SharePoint servers.

To specify which services are installed on which servers, you would put the "server name" in the appropriate spots, for example:

    <ServiceApps>
        <ManagedMetadataServiceApp Provision="WFESERVER1,WFESERVER2"
                                   Name="Managed Metadata Service"
                                   ProxyName="Managed Metadata Service">
            <Database>MetaData</Database>

You can do that for each Service Application. So, you'd specify your WFE server names on the services that should be started on Web Servers and specify your App server names on the services that should be started on your App servers. This blog post covers what services are commonly started on web servers: http://www.wahidsaleemi.com/2010/04/which-services-are-required-for-sharepoint-2010-web-server-role/

Personally, all my SharePoint servers are usually web servers. However, the ones that users should use as "web front ends" are in a load-balancer IP pool. What makes a SharePoint Web Server, a web server, is the "Microsoft SharePoint Foundation Web Application." So this service must be on your web servers and you can turn it off on your app servers.

Dec 5, 2011 at 11:24 PM

Hey Wahidsaleemi,

Excellent,  thank you for the information! Much appreciated!  ;)

May 24, 2012 at 5:07 PM

Hi, 

Is there any way to specify on which server is "Microsoft SharePoint Foundation Web Application" started (in the xml) ?

Or essentially, is there any way to specify on which Front-End server the web applications get deployed?

Thanks!

Jun 5, 2012 at 4:01 AM

I don't think you can specify which server it gets started on, but you may be able to just stop it later.

But first, a front-end server is a front-end server because it has the "Microsoft SharePoint Foundation Web Application" service started. So, disabling it means its no longer a front-end server.

Anyway, here's one approach. Towards the bottom of your Input XML file, add a new node, like so (I put this after the <Forefront> node:

<NoSPWebService Provision = "SP_App1, SP_App2">

Then edit the AutoSPInstallerFunctionsCustom.ps1 file and put in something like this:

#Region Remove SPWebService
# ===================================================================================
# FUNC: Remove SPWebService
# DESC: Removes the SPWebService on specified servers
# ===================================================================================
Function RemoveSPWebService
{
    If (ShouldIProvision($xmlinput.Configuration.NoSPWebService) -eq $true)
    {
    StopFoundationWebService
    }
}
#EndRegion

You have to reference this "RemoveSPWebService" you just created, so I recommed editing AutoSPInstallerMain.ps1 and putting that in right after "InstallForeFront $xmlinput"

Just type in "RemoveSPWebService $xmlinput" on a new line. That should do it, I haven't tested this and its just one approach. I've never used the "StopFoundationWebService" function, but it exists in the latest version.

Coordinator
Jun 7, 2012 at 3:41 AM

Nice answer Wahid. Stopping the service is one of those few steps I've always preferred to do manually, after the fact, once the farm has stabilized and I can isolate any possible issues (for example, I seem to recall Nintex having a problem if Central Admin servers have Foundation Web Application stopped).

I actually considered incorporating this at one point though, and went so far as to create a function in AutoSPInstallerFunctions.ps1:

StopFoundationWebService

So you could just call that function instead in the code above.

Cheers
Brian