Wahid's SharePoint Blog

a sharepoint blog.

Subscribe to feed

  • Home
  • News
  • Wiki
  • Free Stuff
  • About Me
  • |
Nov
29

AutoSPInstaller: Execution

by Wahid Saleemi

This entry is part 3 of 4 in the series AutoSPInstaller
VN:F [1.9.13_1145]
please wait...
Rating: 5.0/5 (1 vote cast)

Introduction

In the two previous related posts (here and here), I showed you how to setup and configure AutoSPInstaller to automate your SharePoint installation. So now, we get to see the fruits of our labor.

In this post, I’ll share the screenshots based on those configurations. You could use these to see what’s supposed to happen and perhaps adjust your settings so AutoSPInstaller completes. For the most part, AutoSPInstaller has good error handling and will let you know what’s failed. Many of the errors are simply what you’d get if you run the PowerShell equivalent of whatever the current process is. Some of these errors are not descriptive or could lead you down the wrong path (for example, "could not contact server" when you just have incorrect credentials).

In Pictures

I’ll have notes following each screenshot:

image thumb26 AutoSPInstaller: Execution

Here, you’ll note AutoSPInstaller has started a transcript/log. Take note of the location (the desktop by default). It’s also validating your accounts to prevent errors later on. And, its creating your SQL alias if you specified one.

 

image thumb27 AutoSPInstaller: Execution

Some more pre-checks here for SQL Server permissions as well as using the correct XML configuration file. I specified disabling services so it does that up front.

 

image thumb28 AutoSPInstaller: Execution

This is the prerequisite installer kicking off. Depending on your security policy, you may get a prompt to allow/trust the installer to run. I explained in my previous post how to allow it without a prompt.

 

image thumb29 AutoSPInstaller: Execution

After IIS logging is configured, SharePoint installation starts.

 

image thumb30 AutoSPInstaller: Execution

Next, Office Web Apps are installed and so are any language packs we specified. There’s also the TaxonomyPicker.ascx fix, a very annoying event log entry if you don’t do this. Also note, we’re adding our Farm account to the local Administrators at this point.

 

image thumb31 AutoSPInstaller: Execution

Ignore the "Local farm is not accessible." warning, it’s not accessible because it doesn’t exist; AutoSPInstaller continues joining the farm. Here, we’re creating the Central Admin site as well. I enabled SSL on it so it will assign a certificate.

 

image thumb32 AutoSPInstaller: Execution

The certificate handling is excellent. Note that it didn’t find one, so its creating a new self-signed certificate. We also configure ULS at this point.

 

image thumb33 AutoSPInstaller: Execution

This is where we start to configure language packs. Basically, we’re running PSCONFIG.

 

image thumb34 AutoSPInstaller: Execution

Things don’t always go perfectly, but AutoSPInstaller has some good error handling. Here, the upgrade for Language Packs didn’t work using PowerShell cmdlets (known issue) so we start the GUI. If you do not include Service Pack 1 for any language packs, you can avoid this and have a truly unattended install. Just install the Service Pack later manually and re-run PSCONFIGUI

 

image thumb35 AutoSPInstaller: Execution

So, AutoSPInstaller launches the GUI (PSCONFIGUI). Just hit next. It will ask if its OK to stop some services, press Yes and the install will continue in GUI. After it completes, you’ll have to hit Finish.

 

image thumb36 AutoSPInstaller: Execution

We simply add managed accounts here and start creating the Web Applications.

 

image thumb37 AutoSPInstaller: Execution

From the above screenshot, you can see that AutoSPInstaller is doing some cool things while creating our Web Apps. It includes setting up managed paths, SSL certificate assignment, setting locale and time format, applying the object cache accounts, etc. Doing all of this manually or even with PowerShell, would be quite tedious.

 

image thumb38 AutoSPInstaller: Execution

After the Web Apps are created, including the MySite host, we start provisioning some Service Applications.

 

image thumb39 AutoSPInstaller: Execution

More Service Applications, including properly provisioning the User Profile Service. This part could take some time, just wait. The most common cause for this taking too long is that the server doesn’t have sufficient resources (at least 2 vCPU and 8GB of RAM).

 

image thumb40 AutoSPInstaller: Execution

Even more Service Applications here as well as Usage Logging.

 

image thumb41 AutoSPInstaller: Execution

Continuing Usage Logging configuration and starting Web Analytics.

 

image thumb42 AutoSPInstaller: Execution

Creating and configuring Secure Store – doing this manually is really a pain, especially setting up the keys. We’re also adding our Service Application account to some built-in Windows groups.

 

image thumb43 AutoSPInstaller: Execution

Provisioning Enterprise Search and all of its components plus configuring the actual search topology. This could also take some time, be patient.

 

image thumb44 AutoSPInstaller: Execution

A bunch more Service Applications including BDC and Excel Services. Some of the Excel Services configuration is done for us, such as setting the unattended account credentials and adding your "Portal" Web Application as a trusted source.

 

image thumb45 AutoSPInstaller: Execution

More Enterprise Service Applications being provisioned such as Access and Visio services.

 

image thumb46 AutoSPInstaller: Execution

More Service Applications, including PerformancePoint, Word Automation and PowerPoint services. Note that the script also gives the Farm account the proper permissions to the PerformancePoint database, which isn’t done by default when manually provisioning via PowerShell.

 

image thumb47 AutoSPInstaller: Execution

Here you can see that Outgoing Email is configured and we start configuring Adobe PDF iFilter. Since the installer wasn’t present, AutoSPInstaller will download it for me.

 

image thumb48 AutoSPInstaller: Execution

Still transferring. The script uses BITS protocol for the transfer.

image thumb49 AutoSPInstaller: Execution

All done with the PDF iFilter, several configuration steps are completed, including renaming the icon and modifying SharePoint’s DOCICON.XML file.

 

image thumb50 AutoSPInstaller: Execution

After an IIS restart, it’s time to install Forefront Protection for SharePoint. Notice the STSADM command prompt window. It’ll auto-close.

 

image thumb51 AutoSPInstaller: Execution

Some final things are executed, such as running the Health Analyzer jobs and launching Central Admin before being complete.

After you press a key, the log file will also automatically open in WordPad (by default) and the PowerShell window will close. Review the log for any errors or warnings.

We’re done. Let’s take a look at our databases:

image thumb52 AutoSPInstaller: Execution

Neat! As you can see, my databases are prefixed with SOPS, like I wanted and the default underscore character was used as a separator. Also notice, there are no GUIDs and everything has a nice descriptive name. I enabled pretty much every service and installed everything on one server for demonstration purposes. I’d never advise to do on a production server. Choose your topology appropriately depending on your needs (for example, use dedicated servers for Search and separate servers for Web Servers (WFEs)).

Conclusion

Sometimes, you’ll get errors and the script will abort. This happened to me because I didn’t create a MySite, but tried to start the User Profile Service. The script needs both. All you need to do is adjust your settings, in my case I set UPS to false in the XML file and then re-run the script. It will skip the parts that are already done.

And as a reminder, although I don’t mind answering questions or responding to comments on my blog, if you have specific questions related to AutoSPInstaller, its best to use the discussion boards there: http://autospinstaller.codeplex.com/discussions

I do respond there and so do others, so your chances of getting an answer, more quickly, are much greater.

{ 0 comments }

Nov
18

AutoSPInstaller: Configuration

by Wahid Saleemi

This entry is part 2 of 4 in the series AutoSPInstaller
VN:F [1.9.13_1145]
please wait...
Rating: 4.3/5 (4 votes cast)

This is a continuation of my previous post titled “AutoSPInstaller: Getting Prepared”

In my previous post, I showed you how to stage all the software. Do this once, you’re set for life! OK, maybe not for life, but at least for any SharePoint server installs you’ll need to do now or later. Next, we need to configure several files.

Configuration Files

Here’s the list of files we need to configure:

  • answerfile-ForeFront.xml – Optional. This is the configuration file if you’re installing ForeFront Protection 2010 for SharePoint.
  • config.xml – Required. This is the settings for the SharePoint installer.
  • config-OWA.xml – Optional. This file is used to configure Office Web Apps.
  • AutoSPInstallerInput.xml – Required. This is the file where we’ll configure all the options for AutoSPInstaller, the actual configuration of SharePoint.

The main file we need to configure (AutoSPInstallerInput.xml) is also the most complex, so let’s save it for later. Use your favorite XML editor, avoid Notepad or WordPad, they make things harder. Personally, I like Notepad++ which can be downloaded here.

ForeFront

AutoSPInstaller will call “answerfile-ForeFront.xml,” which replaces the “answerfile.xml” that you’ll find in the ForeFront folder. Most of the options are self-explanatory so I just want to point out one section:

?View Code XML
1
2
3
4
<SharePointInformation> 
<UserName>COCOLYNN\svc.sops-Farm<UserName/> 
<Password>pass@word1<Password/> 
</SharePointInformation>

Specify a user account and password for database access. This account should be entered using the Domain\Account format when the server is part of a domain. This account needs a lot of privileges, it must:

  • Be a member of the Local Administrators group on the SharePoint server(s).
  • have SharePoint Farm Administrators privileges.
  • Be a member of the SQL sysadmin role on the database server.

These fields must be populated with valid credentials or unattended installations will fail. I’m using the Farm account. Why? Because it requires similar permissions. The Farm account needs to be a local administrator at least for provisioning User Profile Service. Even after initially installing UPS, it needs that right to be able to restart (re-provision) after backups. It needs to be a Farm Administrator (of course) and although it doesn’t require sysadmin role on the database server, it does require dbcreator, securityadmin and dbo on all the databases. Sysadmin role is not a far stretch from that.

In the end, I’d rather give my Farm account a bit more permissions to run ForeFront than to have another account with very high privileges. Now, I just need to secure/audit this one account.

For detailed information on all the options in this configuration file, check out the TechNet article here.

SharePoint Installer

The “config.xml” is the same as the one found on the SharePoint DVD or ISO file. It’s where we configure SharePoint installer options. Let’s look at some of the options.

?View Code XML
1
2
<INSTALLLOCATION Value="%PROGRAMFILES%\Microsoft Office Servers\" /> 
<PIDKEY Value=""/>

The INSTALLLOCATION tells SharePoint where to install the binaries (bits). For example, if you wanted to install to a non-system drive (e.g., E:\), this is where you’d change it. I recommend leaving the default.

The PIDKEY Value is your key for SharePoint, so you’ll enter 25-character license key here. This is required!

Don’t worry about the terminology in this file, such as “spswfe” or SERVERROLE Application. These will not determine your server roles and don’t need to be changed. To find out more about what can be configured here, check out the TechNet article here.

For my install, I’ve kept all the defaults and just added my 25-character license key for “PIDKEY Value”.

Office Web Apps

The “config-OWA.xml” contains the configuration options for Office Web Apps. It replaces the “config.xml” files in the OfficeWebApps folder (under the Setup sub-folder). This is similar to the file above. You must edit this with your license key, just like config.xml. So, I’ve updated this file with my 25-character license key for PIDKEY Value and kept all the other defaults.

AutoSPInstaller Configuration

Recently, the configuration file for AutoSPInstaller has matured and is now heavily commented. So, I won’t go through all of the options but I’ll highlight a few of them here.

Before we get to that though, let me explain how this works. When you’re ready, you’ll launch AutoSPInstaller using the “AutoSPInstallerLaunch.bat” batch file. The batch file will check for an XML file with the following names, in order:

  • AutoSPInstallerInput-COMPUTERNAME.xml
  • AutoSPInstallerInput-DOMAIN.xml
  • AutoSPInstallerInput.xml

My preference is to use one configuration file for each server in my farm. You can also just use one file but I’ve seen people have problems with this method. So, I’ll make a copy of the file and name it AutoSPInstallerInput-SHARECLOUD.xml

Note: You will not be passing the xml file as a parameter to AutoSPInstaller so you must name it according to one of the options listed above.

So, lets start.

?View Code XML
1
<Configuration Environment="Prod" Version="2.5.7">

Change this to your environment. I often have Dev, Test, and Prod environments so I like to specify one of those. It’s just here for your personal reference. I’ll change mine to Prod and leave the version alone. The Version is for the version of AutoSPInstaller you’re using. You must use the XML configuration file for the version of AutoSPInstaller being used, don’t mix and match.

?View Code XML
1
<OfflineInstall>true</OfflineInstall>

In my first post, I downloaded the prerequisite files, so I’m going to set this to true.

?View Code XML
1
<Disable> {...} </Disable>

I’m going to set all of these to true. Although disabling LoopbackCheck isn’t exactly the proper way, adding BackConnectionHostNames is too much work for what I’m doing here, trying to automate. See this article for more information.

The same reasoning applies to CRL Checking and IE Enhanced Security. For me, these do more harm than good but set the options according to your preference.

?View Code XML
1
<Account AddToLocalAdminsDuringSetup="true" LeaveInLocalAdmins="true">

The principle of least privilege prescribes that accounts should not be given more privileges than necessary. So, why am I setting LeaveInLocalAdmins to true? Two reasons. For me, its too much of a pain to add the Farm account back in every time I do a backup or troubleshoot UPS. Second, and more importantly in this case, I’m using the Farm account for ForeFront which requires local administrator rights.

?View Code XML
1
2
3
4
<DBServer>Alias_SPSQL</DBServer> 
<DBAlias Create="true" 
         DBInstance="SQL2008R2" 
         DBPort="" />

OK, so I do want to create a SQL alias because I always do. I’ve written about this before, here and here. Basically, there are times when you NEED an alias and other times when you don’t. Instead of trying to remember when, I just create one and use a naming convention that tells me its an alias. That way, the next guy won’t be looking for a server name “SPSQL” somewhere on the network.

For DBInstance, you’ll either put the SQL Server name (as I have) when you’re using the default instance, or put the SERVERNAME\INSTANCE when you’re using a named instance or a cluster. I left DBPort blank so that the default port of 1433 will be assigned.

?View Code XML
1
<DBPrefix>SOPS</DBPrefix>

Just a note on DBPrefix; by default the XML file has “localhost” which will be changed to the computer name. You’ll probably want to change this. Set it to blank for no prefix. You don’t need to put a separator value here, it will append an underscore ( _ ) automatically. If you want to change that separator value, see this posting for a tip.

?View Code XML
1
<ClaimsToWindowsTokenService Start="true" />

The Claims To Windows Token Service (C2WTS) must be started locally on any server where you have a service (such as Excel Services) that will use it. AutoSPInstaller won’t check this for you, so keep that in mind. In my case, I’ll be starting Excel Services on my Web Server (and perhaps Application Server) so I’m setting it to true.

?View Code XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<ManagedAccounts>   
	<ManagedAccount CommonName="spservice">
		<username>COCOLYNN\svc.spapps</username> 
		<Password>pass@word1</Password>
	</ManagedAccount>
	<ManagedAccount CommonName="portalapppool">
		<username>COCOLYNN\svc.spapppool</username> 
		<Password>pass@word1</Password>
	</ManagedAccount>
	<ManagedAccount CommonName="mysiteapppool">
		<username>COCOLYNN\svc.spmypool</username> 
		<Password>pass@word1</Password>
	</ManagedAccount>
	<ManagedAccount CommonName="searchservice">
		<username>COCOLYNN\svc.spsearch</username> 
		<Password>pass@word1</Password>
	</ManagedAccount>
</ManagedAccounts>

The “CommonName” cannot be changed. AutoSPInstaller uses the names to reference these accounts. I recommend filling in the passwords, you could leave them blank and be prompted for them later but that defeats the automation aspect. I’d rather find another way to secure the configuration file, such as zipping them up with a password or use encryption software.

?View Code XML
1
<WebApplications AddURLsToHOSTS="true">

I want my URLs added to my servers hosts file. In most of my configurations, I’m using a load balancer and I want to avoid directing SharePoint services through it, plus I need to be sure when I’m on the server that it’s using itself. This is especially useful for the crawler (my crawl server is always a web server as well).

?View Code XML
1
<LogDiskSpaceUsageGB>20</LogDiskSpaceUsageGB>

By default, this parameter is blank which means unlimited. I’m wary of setting anything to unlimited. Since I’m not changing my log location (to something other than the system drive), I certainly need a limit here. Without one, I risk running out of disk space, potentially causing my machine not to boot.

?View Code XML
1
2
3
4
5
6
7
8
9
10
11
<WebApplication type="Portal"
		name="Collaboration"
		applicationPool="Collab"
		applicationPoolAccount="COCOLYNN\svc.sops-AppPool"
		url="https://collab.cocolynn.com"
		port="443"
		AddURLToLocalIntranetZone="true"
		databaseName="Collab_Content"
		useClaims="false"
		useBasicAuthentication="false"
		useOnlineWebPartCatalog="false">

AutoSPInstallerInput.xml is very well commented for this section so I’ll just reiterate some points. First, don’t change the type. In this case, consider the type to mean “first web app.” It doesn’t have to be a portal, in my case it’s just going to be a team site. However, since it is the “first web app,” AutoSPInstaller will take some “nice to have” actions for you. For example, it will add this web app to the Excel Services trusted file location and as a “Portal Site Collection.” If you don’t need it, either comment it out (this section) or just remember to go back in later and delete the web app; that’s the easiest way.

In my case, I do want this as sort of a “root” site and I want it to be SSL-enabled. So I’ve updated the URL and port. The script will try to find the correct certificate and assign it in IIS. It can also create self-signed certificates if no match is found! However, you should check it afterwards and correct it if needed. I believe a limitation in IIS/Certificate PowerShell cmdlets make it impossible to specify a certificate name to assign.

I’m not using Claims. Here’s a tip, if you don’t NEED Claims, don’t use it. If you don’t know if you need it, you don’t. You can always convert to Claims later, but you can’t convert back (not supported).

I will use the same settings for URL, name, etc. in the next section for Site Collection (not shown). That section is also where you specify the template and I’ll change it from the default of SPSPORTAL#0 (Collaboration Portal) to STS#0 (Team Site). For a nice post on templates, including a list of what’s what, check out this blog post.

The same advice applies to the MySite section. Don’t change the type and in this case, also don’t change the Template for the Site Collection.

?View Code XML
1
2
3
4
5
6
7
8
 <UserProfileServiceApp Provision="true"
			Name="User Profile Service Application"
			ProxyName="User Profile Service Application"
			EnableNetBIOSDomainNames="false"
			StartProfileSync="true"
			CreateDefaultSyncConnection="false"
			SyncConnectionAccount="DOMAIN\UPSync"
			SyncConnectionAccountPassword="" >

I’m going to provision the User Profile Service (UPS). If you do want to provision this, make sure you’ve created your My Site Host earlier. If you don’t, the script will error out. I’ve left the defaults of starting UPS Sync and not creating default sync connections. I recommend not automating the sync connections because its far from perfect and unsupported:

Please note that these cmdlets are only intended for use within SharePoint Online environments by SharePoint Online engineers. Their use in on premises deployments is NOT supported.

That’s taken from Spence Harbar’s (@harbars) post on the topic.

?View Code XML
1
2
3
<CrawlServers>
    <Server Name="localhost" />
</CrawlServers>

I’m going to make this server a Crawl and Query server as well. I can always change the topology later. Remember, anywhere you have “localhost,” it will be changed automatically to the local server name.

?View Code XML
1
<OfficeWebApps Install="true" ConfigFile="config-OWA.xml">

In the OfficeWebApps section, I’m setting Install to true and will also provision all of the Office Web Apps to true as well, EXCEPT Excel. I’ve already created an Excel Service app, you don’t need two unless you just really want two. For this and any other service, follow the capacity planning guidance available on TechNet.

I’ve skipped over a lot of settings because I believe they need no further explanation. Here’s a copy of the AutoSPInstallerInput configuration file I’ve configured, with the comments removed for easier readability. Click the arrow to expand.

?View Code XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
<?xml version="1.0" ?>
<Configuration Environment="Prod" Version="2.5.7">
    <Install>
        <ConfigFile>config.xml</ConfigFile>
        <OfflineInstall>true</OfflineInstall>
        <Disable>
            <LoopbackCheck>true</LoopbackCheck>
            <UnusedServices>true</UnusedServices>
            <IEEnhancedSecurity>true</IEEnhancedSecurity>
            <CertificateRevocationListCheck>true</CertificateRevocationListCheck>
        </Disable>
    </Install>
    <Farm>
        <Passphrase>pass@word1</Passphrase>
        <Account AddToLocalAdminsDuringSetup="true" LeaveInLocalAdmins="true">
            <Username>COCOLYNN\svc.sops-Farm</Username>
            <Password>pass@word1</Password>
            <Email>helpdesk@cocolynn.com</Email>
        </Account>
        <CentralAdmin Provision="true">
            <Database>AdminContentDB</Database>
            <Port>7777</Port>
            <UseSSL>true</UseSSL>
        </CentralAdmin>
        <Database>
            <DBServer>Alias_SPSQL</DBServer>
            <DBAlias Create="true"
                     DBInstance="SQL2008R2"
                     DBPort="" />
            <DBPrefix>SOPS</DBPrefix>
            <ConfigDB>Config</ConfigDB>
        </Database>
        <Services>
            <SandboxedCodeService Start="true" />
            <ClaimsToWindowsTokenService Start="true" />
            <SearchQueryAndSiteSettingsService Start="true" />
            <SMTP Install="true" />
            <OutgoingEmail Configure="true">
                <SMTPServer>SHARECLOUD</SMTPServer>
                <EmailAddress>helpdesk@cocolynn.com</EmailAddress>
                <ReplyToEmail>spadmin@cocolynn.com</ReplyToEmail>
            </OutgoingEmail>
        </Services>
        <ManagedAccounts>
            <ManagedAccount CommonName="spservice">
                <username>COCOLYNN\svc.sops-Apps</username>
                <Password>pass@word1</Password>
            </ManagedAccount>
            <ManagedAccount CommonName="portalapppool">
                <username>COCOLYNN\svc.sops-AppPool</username>
                <Password>pass@word1</Password>
            </ManagedAccount>
            <ManagedAccount CommonName="mysiteapppool">
                <username>COCOLYNN\svc.sops-MySitePool</username>
                <Password>pass@word1</Password>
            </ManagedAccount>
            <ManagedAccount CommonName="searchservice">
                <username>COCOLYNN\svc.sops-Search</username>
                <Password>pass@word1</Password>
            </ManagedAccount>
        </ManagedAccounts>
        <ObjectCacheAccounts>
            <SuperUser>COCOLYNN\svc.sops-CacheUser</SuperUser>
            <SuperReader>COCOLYNN\svc.sops-CacheRead</SuperReader>
        </ObjectCacheAccounts>
        <Logging>
            <IISLogs Compress="true">
                <Path></Path>
            </IISLogs>
            <ULSLogs Compress="true">
                <LogLocation></LogLocation>
                <LogDiskSpaceUsageGB>20</LogDiskSpaceUsageGB>
                <DaysToKeepLogs></DaysToKeepLogs>
                <LogCutInterval></LogCutInterval>
            </ULSLogs>
            <UsageLogs Compress="true">
                <UsageLogDir></UsageLogDir>
                <UsageLogMaxSpaceGB></UsageLogMaxSpaceGB>
                <UsageLogCutTime></UsageLogCutTime>
            </UsageLogs>
        </Logging>
    </Farm>
    <WebApplications AddURLsToHOSTS="true">
        <WebApplication type="Portal"
                        name="Collaboration"
                        applicationPool="Collab"
                        applicationPoolAccount="COCOLYNN\svc.sops-AppPool"
                        url="https://collab.cocolynn.com"
                        port="443"
                        AddURLToLocalIntranetZone="true"
                        databaseName="Collab_Content"
                        useClaims="false"
                        useBasicAuthentication="false"
                        useOnlineWebPartCatalog="false">
            <ManagedPaths>
                <ManagedPath relativeUrl="help" explicit="true" />
            </ManagedPaths>
            <SiteCollections>
                <SiteCollection siteUrl="https://collab.cocolynn.com"
                                owner="COCOLYNN\svc.sops-Farm"
                                name="Collab"
                                description="Collaboration Services"
                                SearchUrl="https://collab.cocolynn.com/search"
                                CustomTemplate="false"
                                Template="STS#0"
                                LCID="1033"
                                Locale="en-us"
                                Time24="false">
                </SiteCollection>
            </SiteCollections>
        </WebApplication>
        <WebApplication type="MySiteHost"
                        name="MySite Host"
                        applicationPool="MySites"
                        applicationPoolAccount="COCOLYNN\svc.sops-MySitePool"
                        url="http://mysites.cocolynn.com"
                        port="80"
                        AddURLToLocalIntranetZone="true"
                        databaseName="MySites_Content"
                        useClaims="false"
                        useBasicAuthentication="false"
                        useOnlineWebPartCatalog="false">
            <SiteCollections>
                <SiteCollection siteUrl="http://mysites.cocolynn.com"
                                owner="COCOLYNN\svc.sops-Farm"
                                name="My Site Host"
                                description="Root site for hosting MySites"
                                SearchUrl="https://collab.cocolynn.com/search"
                                CustomTemplate="false"
                                Template="SPSMSITEHOST#0"
                                LCID="1033"
                                Locale="en-us"
                                Time24="false">
                </SiteCollection>
            </SiteCollections>
            <ManagedPaths>
                <ManagedPath relativeUrl="personal" explicit="false"/>
                <ManagedPath relativeUrl="sites" delete="true" />
            </ManagedPaths>
        </WebApplication>
    </WebApplications>
    <ServiceApps>
        <ManagedMetadataServiceApp Provision="true"
                                   Name="Managed Metadata Service"
                                   ProxyName="Managed Metadata Service">
            <Database>Metadata</Database>
        </ManagedMetadataServiceApp>
        <UserProfileServiceApp Provision="true"
                               Name="User Profile Service Application"
                               ProxyName="User Profile Service Application"
                               EnableNetBIOSDomainNames="false"
                               StartProfileSync="true"
                               CreateDefaultSyncConnection="false"
                               SyncConnectionAccount="DOMAIN\UPSync"
                               SyncConnectionAccountPassword="" >
            <ProfileDB>Profile</ProfileDB>
            <SyncDB>Sync</SyncDB>
            <SocialDB>Social</SocialDB>
        </UserProfileServiceApp>
        <EnterpriseSearchService Provision="true"
                                 ContactEmail="helpdesk@cocolynn.com"
                                 ConnectionTimeout="60"
                                 AcknowledgementTimeout="60"
                                 ProxyType="Default"
                                 IgnoreSSLWarnings="true"
                                 InternetIdentity="Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)"
                                 IndexLocation="C:\Program Files\Microsoft Office Servers\14.0\Data\Office Server\Applications"
                                 PerformanceLevel="PartlyReduced"
                                 Account="COCOLYNN\svc.sops-Search"
                                 Password="pass@word1"
                                 ShareName="SearchIndex">
            <EnterpriseSearchServiceApplications>
                <EnterpriseSearchServiceApplication Name="Search Service Application"
                                                    DatabaseServer="Alias_SPSQL"
                                                    DatabaseName="Search"
                                                    FailoverDatabaseServer=""
                                                    Partitioned="false"
                                                    Partitions="1"
                                                    SearchServiceApplicationType="Regular"
                                                    ContentAccessAccount="COCOLYNN\svc.sops-Crawl"
                                                    ContentAccessAccountPassword="pass@word1">
                    <ApplicationPool Name="SharePoint Search Application Pool" Account="COCOLYNN\svc.sops-SearchPool" Password="pass@word1" />
                    <CrawlServers>
                        <Server Name="localhost" />
                    </CrawlServers>
                    <QueryServers>
                        <Server Name="localhost" />
                    </QueryServers>
                    <SearchQueryAndSiteSettingsServers>
                        <Server Name="localhost" />
                    </SearchQueryAndSiteSettingsServers>
                    <AdminComponent>
                        <Server Name="localhost" />
                        <ApplicationPool Name="SharePoint Search Application Pool" Account="COCOLYNN\svc.sops-SearchPool" />
                    </AdminComponent>
                    <Proxy Name="Search Service Application" Partitioned="false">
                        <ProxyGroup Name="Default" />
                    </Proxy>
                </EnterpriseSearchServiceApplication>
            </EnterpriseSearchServiceApplications>
        </EnterpriseSearchService>
        <StateService Provision="true"
                      Name="State Service"
                      ProxyName="State Service">
            <Database>StateService</Database>
        </StateService>
        <WebAnalyticsService Provision="true"
                             Name="Web Analytics Service Application">
            <ReportingDB>WebAnalyticsReporting</ReportingDB>
            <StagingDB>WebAnalyticsStaging</StagingDB>
        </WebAnalyticsService>
        <SPUsageService Provision="true"
                        Name="Usage and Health Data Collection">
            <Database>UsageAndHealth</Database>
        </SPUsageService>
        <SecureStoreService Provision="true"
                            Name="Secure Store Service"
                            ProxyName="Secure Store Service">
            <Database>SecureStore</Database>
        </SecureStoreService>
        <BusinessDataConnectivity Provision="true"
                                  Name="Business Data Connectivity Service"
                                  ProxyName="Business Data Connectivity Service">
            <Database>BusinessDataCatalog</Database>
        </BusinessDataConnectivity>
        <WordAutomationService Provision="true"
                               Name="Word Automation Services"
                               ProxyName="Word Automation Services">
            <Database>WordAutomation</Database>
        </WordAutomationService>
    </ServiceApps>
    <EnterpriseServiceApps>
        <ExcelServices Provision="true"
                       Name="Excel Services Application"
                       UnattendedIDUser="COCOLYNN\svc.sops-Unattend"
                       UnattendedIDPassword="pass@word1">
        </ExcelServices>
        <VisioService Provision="true"
                      Name="Visio Graphics Service"
                      ProxyName="Visio Graphics Service"
                      UnattendedIDUser="COCOLYNN\svc.sops-Unattend"
                      UnattendedIDPassword="pass@word1">
        </VisioService>
        <AccessService Provision="true"
                       Name="Access Services"
                       ProxyName="Access Services">
        </AccessService>
        <PerformancePointService Provision="true"
                      Name="PerformancePoint Service"
                      ProxyName="PerformancePoint Service"
                      UnattendedIDUser="COCOLYNN\svc.sops-PerfPoint"
                      UnattendedIDPassword="pass@word1">
            <Database>PerformancePoint</Database>
        </PerformancePointService>
    </EnterpriseServiceApps>
    <OfficeWebApps Install="true"
                   ConfigFile="config-OWA.xml">
        <ExcelService Provision="false"
                      Name="Excel Web App"
                      ProxyName="Excel Web App"
                      UnattendedIDUser="DOMAIN\ExcelUser"
                      UnattendedIDPassword="">
        </ExcelService>
        <WordViewingService Provision="true"
                            Name="Word Viewing Service"
                            ProxyName="Word Viewing Service">
        </WordViewingService>
        <PowerPointService Provision="true"
                           Name="PowerPoint Service Application"
                           ProxyName="PowerPoint Service Application">
        </PowerPointService>
    </OfficeWebApps>
    <AdobePDF>
        <iFilter Install="true" />
        <Icon Configure="true" />
        <MIMEType Configure="true"/>
    </AdobePDF>
    <ForeFront Install="true"
               ConfigFile="answerfile-ForeFront.xml" />
</Configuration>

Almost done. It’s common for typos and syntax errors to pop up because the XML file is so long and has so much information. We need to run it through a validator. So, head over to http://www.w3schools.com/xml/xml_validator.asp and paste your entire XML in the validator.

No errors? Now, we’re ready to go! In the next post in this series, I’ll show you how to run this and how it looks as it progresses.

Service Accounts

As a reference, here are the service accounts I’ll be using and what they get assigned using the default options in the XML configuration file.

CommonName or

XML Node

Account

Notes

spservice svc.sops-Apps

(Managed Account)
Runs following services:

  • SharePoint 2010 Tracing
  • SharePoint 2010 User Code Host
  • Web Analytics Service

Runs IIS App Pools:

  • PowerPoint
  • Access Data Server
  • Word Server
  • Conversion Service
  • Excel Calculation Server
  • Managed Metadata
  • PPS Monitoring Server
  • Visio Graphics Server
  • Web Analytics
  • Secure Store
  • BDC
portalapppool svc.sops-AppPool

(Managed Account)
Runs IIS App Pool for Portal Web Application.

Site Collection owner for Portal site (by default).
mysiteapppool svc.sops-MySitePool

(Managed Account)
Runs IIS App Pool for MySite Web Application.

Site Collection owner for MySite host (by default).
searchservice

and

<EnterpriseSearchServiceApplication>

svc.sops-Search

(Managed Account)

Runs following services:

  • SharePoint Server Search 14
<SuperUser> svc.sops-CacheUser Full Control User Policy on Portal Web Application (and other Web Apps you create).
<SuperReader> svc.sops-CacheRead Full Read User Policy on Portal Web Application (and other Web Apps you create).
<Farm> svc.sops-Farm Runs the following services:

  • SharePoint 2010 Timer
  • Forefront Identity Manager Service
  • Forefront Identity Manager Synchronization
  • Microsoft Forefront Server Protection Controller for SharePoint

Runs IIS App Pool for:

  • Central Admin Web App
  • Topology Service
  • STS for each Web App (CA, Portal, Mysite)
  • STS Service
<EnterpriseSearchServiceApplication> svc.sops-Crawl Default Content Access account will be used under Search Service Application.
<EnterpriseSearchServiceApplication> svc.sops-SearchPool Runs IIS App Pool for Search Service.
<EnterpriseServiceApps> svc.sops-Unattend config’d in Secure Store?
<EnterpriseServiceApps> svc.sops-PerfPoint
Not Configured in Script LocalSystem Run the following services:

  • SharePoint 2010 Administration
  • SharePoint 2010 VSS Writer
  • SharePoint Foundation Search V14 (Disabled)
  • Office Document Conversions Launcher (Disabled)
  • Office Document Conversions Load Balancer (Disabled)

And as a reminder, although I don’t mind answering questions or responding to comments on my blog, if you have specific questions related to AutoSPInstaller, its best to use the discussion boards there: http://autospinstaller.codeplex.com/discussions

{ 0 comments }

← Previous Entries

Next Entries →

  • Recent Posts

    • #SFVSPUG Talks Social and Metadata
    • AutoSPInstaller: Extending and Customizing
    • AutoSPInstaller: Execution
  • Connect

     Twylah Fan Page .
  • Sponsors

    |
  • Translate

  • Tags

    2007 2010 add-on admin tools alias Automating and Scripting SharePoint Administration Automation AutoSPInstaller backups Brian Lalancette CodePlex collaboraton database names demo EndUserSharePoint enterprise portal federal government free resources free tools free training Gary LaPointe government agencies IBM links named instance Oracle powershell scripting scripts SFVSPUG SharePoint sharepoint 2010 social social connections social experience Social Networking spug spugs.org SQL SQL alias SQL Cluster TechNet Todd Klindt tweets wikis
  • Archives

© 2008-2010 Wahid's SharePoint Blog