Creating Project Server 2016 Web App
Around 10 years ago, I was on a full time job of working as Project Server consultant and developer working with project managers and team leads in writing project plan and then creating SQL reports that helped the company making informed decision on the workforce. Project server has changed allot since then but with SharePoint 2016 a lot has changed now.
Step 1 – Download Project Server 2016 installation files. Stop! Just Kidding. Project Server 2016 is now part of SharePoint 2016 setup. You just need the License key of Project Server and a single line of PowerShell will enable the project server on the server.
You can get the SharePoint Server 2016 ISO and License keys for both Project Server and SharePoint Server from http://www.microsoft.com/en-us/download/details.aspx?id=51493
Enabling Project Server 2016
Open PowerShell ISE as administrator – add the SharePoint snapin and run the following cmdlet.
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
Enable-ProjectServerLicense -Key “Y2WC2-K7NFX-KWCVC-T4Q8P-4RG9W”
Creating Project Server Service Application
This is simple process using PowerShell or User Interface.
$ApplicationPool = Get-SPServiceApplicationPool “SharePoint Web Services Default”
$ProjectServiceApp = New-SPProjectServiceApplication -Name “Project Service Application” -ApplicationPool $ApplicationPool -Verbose
New-SPProjectServiceApplicationProxy -Name “Project Service Application Proxy” -ServiceApplication $ProjectServiceApp -Verbose
Creating Project Server Web App
First choose the web application where you want to create the site. We will do all the steps with PowerShell.
If you are not familiar with Project Server then you need to know that the database structure of Project Server is different than a SharePoint content database. It has its own tables and schema. Traditionally Project Server used to have 4 Databases which were later merged to single. Content database is always there to store the Project sites which store project documents.
So as a step one we will create a new content database and set it site limit to one so no one can create the site again.
$WebApplication = Get-SPWebApplication https://portal16.contoso.com
$ProjectDB = New-SPContentDatabase -Name “WSS_Content_ProjectSite” -WebApplication $WebApplication -MaxSiteCount 1 -WarningSiteCount 0
Note: You can also create new SPSite object directly in a new content database but if you are on a heavily used SharePoint Farm it is highly likely that another site collection will be create in the same DB.
You can create the project web app like https://portal.com/sites/pwa but traditionally it is created as https://portal.com/pwa. So I will first add a new managed path as explicit inclusion.
New-SPManagedPath “PWA” -Explicit -WebApplication $WebApplication -Verbose
To create the Web app run the following cmdlet.
$Site = “https://portal16.contoso.com/PWA”
$Template = “pwa#0”
$Name = “Project Web App”
New-SPSite -Url $Site -Template $Template -Name $Name -Description $Name -ContentDatabase $ProjectDB -OwnerAlias contoso\spadmin
Wait for few minutes to complete the process. We are not done yet. We have just created a project web app site collection. We now need to provision the database schema by running the following
Enable-SPFeature pwasite -Url $Site -Verbose
I also kept my ULSViewer started and filtered to see “Product” eq “Project Server”.
Wait for few minutes to see some activity in Project Server e.g. Queue etc. This will ensure that all components are project server have come online.
Let’s browse the site.
Here you go.