In the previous post, we have built our server farm, it is time to install SharePoint itself. As in my other walkthroughs for this, we are going to utilize AutoSPInstaller. The process is very similar to the one I illustrated in my series earlier, but this time we are building a full MinRole environment. In this post, we’ll walk through the process of building out the SP2019 template for the farm.
This is a multi-part series. You can see what is coming and review other posts in the series by clicking one of the following links:
- Microsoft Azure – Prepping the Azure Environment for SharePoint 2019
- Microsoft Azure – Configure Azure Network Resources for SharePoint 2019
- Microsoft Azure – Build Storage Resources for Azure SharePoint 2019
- Microsoft Azure – Creating the Domain Controller
- Microsoft Azure – Configuring the Domain Controller Network
- Microsoft Azure – Configuring DNS and Active Directory
- Microsoft Azure – Build SharePoint Server Virtual Machine
- Microsoft Azure – Deploy SQL Server
- Microsoft Azure – Build SharePoint 2019 Template with AutoSPInstaller (this post)
- Microsoft Azure – Prepping SharePoint Servers
- Microsoft Azure – Installing SharePoint 2019
- Microsoft Azure – Add a Load Balancer for External Access
Create AutoSPInstaller file
To get started from the home page click on “Build a farm”
Add the names of the servers you have within the farm.
- Name: Default is Dev. You can change this as you please. Because I am running multiple Dev environments I renamed mine to Azure-SP2019Dev
- Offline Install: Indicate if you have already prepared the files required for installation. Since we did this in the previous post, we will place check here.
- Pause After Install: This will stop the script from continuing while the other servers have their binaries installed. Check this if you are installing multiple servers at the same time.
- Remote Install: Selecting this will allow the script to install SharePoint on all of the servers you entered in the Host Name section. Ensure you set up your servers for remote installation (steps in the previous post).
- Parallel Install: Only enable this if your servers aren’t hosted together. For the sake of this post, we will select this option since the VMs are hosted in Azure and not on our own system. It also forces the pause after install to occur to ensure all the servers are ready.
- Auto Logon: Check this option, but note that if you do this, your password is stored in plain text in the script. You can leave it blank however to be prompted during the install process. This allows the script to login on your behalf for any reboots.
- Disable Components: Don’t make any changes to the options in this section.
- Config File: Enter the name of the config file. It will be created by AutoSPInstaller and automatically prepped in the script.
- Install Directory: Location where SharePoint should be installed to. Make sure the location exists for all servers.
- Data Directory: Where data components (like search index) are stored. Make sure the location exists for all servers.
- SKU: Are you installing Standard Server or Enterprise
- Pid Key: The license key for the install.
Farm – Main
- Farm Passphrase: Enter the passphrase needed to join servers to the farm.
- Farm Account:
- Leave the admin checkmarks as they are (we want it as admin for the configuration, but don’t want to leave it there).
- Enter the username and password of the farm account
- Make sure the Create Alias option is checked and enter your alias name.
- Enter the Instance as “Server name\Instance” (since we have a separate server for SQL). Note: in my screenshot, I don’t have an instance name because I used the Azure template which just builds a default instance.
- Get the port number the instance is running on and enter it in Database Server Port (1433 if you used the template as I did)
- If you want all of your DB’s to have a particular prefix enter it in the Database Prefix. You can leave it blank, but it makes it easier if your server is shared.
- Central Administration: I would suggest you provision on both the app server and the WFE server. I have actually had a server’s CA connection break and had to flip over to the other server to configure the farm.
- You can change the port if you want, but if it is a dev environment you can just leave it the same.
- Finally, enter your cache and managed accounts as well as the passwords.
Farm – Services
For the initial purpose of this farm, I don’t want to enable most of the features in this section so depending on your needs you can provision them as you choose, but with one exception you can set all of the options to “Do not Provision“. The one exception is Web Application Service, which you can select Provision on all.
Farm – MinRoles
Here’s where we configure the different roles of the servers. The names I selected for my farm are pretty indicative of which server is handling which role. However, if you didn’t name your servers similarily then you need to determine which server is going to do what role.
In my case I set things up as follows:
- Front-End: DrevAzureSP-WFE
- Front-end With Distributed Cache: Do not Provision
- Application: DrevAzureSP-APP
- Application with Search: Do not Provision
- Distributed cache: DrevSP-Cache
- Search: DrevAzureSPSrch
- Custom: Do not Provision
Make sure you are compressing your logs (three checkmarks). The only item I would suggest changing is the ULS Log locations. I would leave everything else as default for a DEV environment.
Not much needs to be changed here. The biggest item to edit is the removal of the MySite WebApp (unless you really want to use that over OneDrive). I don’t intend to use Host Named Site Collections off of my Portal web application, but I am still going to leave the host header option blank. It doesn’t hurt anything to leave enabled and you never know what can happen. Leave all of the checkboxes at the default setting and update your content database fields if you so feel the need.
I suggest the addition of a non-explicit appdev managed path (for development of SharePoint add-ins) and an explicit search managed path (sites is created by default).
Modify the default site collection to match the domain you wish to use.
- Site URL: URL of root site
- Host Named Site Collection: Unchecked
- Web Template: Communication Site – SitePagePublishing#0
- Site Owner: <domain>\<username of owner>
- Site Name: Your choice
- Site Description: Your choice
- Content Database: Something meaningful for your site
- Search Center URL: <URL of where you will be deploying the search center>
- Locale ID: 1033 for US English
- Time in 24h: Your Choice.
You can add further site collections at your discretion, though I suggest you at least add a search site collection
Next provision the service applications for a proper minrole environment. Can change the names and databases as required.
- Managed Metadata: WFE and App
- User Profile Services: WFE and App
- Usage and Health: All
- State Service: All
- Search Service: Search Server
- Set the contact email
- Fill in the other fields as necessary. Ensure the Topology is all running on the search server.
- Secure Store: WFE and App
- App Management: WFE and App
- Subscription Service: WFE and App
- Machine Translation Service Application: WFE and App
- PowerPoint Conversion Service Application: App
Do not provision the Enterprise Service applications or project server.
Next review and download the provided script (Review and Download).
That’s it. In the next post, we’ll start the actual install process.
Thanks for reading!