As sandbox solutions are deprecated, SharePoint 2013 brings the new capability called "Apps" to extend SharePoint with client side code. Although the conventional SharePoint solution approach (Full Trust) is still there, Microsoft encourages the usage of Apps. Everything is an App, including Lists & Libraries, Web Parts, etc.
This implementation guide walks through configuring apps for SharePoint 2013 step by step.
Steps In Summary:
Create a Wildcard (*) CNAME in CrescentApps.com, Point it to your SharePoint site: SharePoint.Crescent.com(Assuming there is a HOST A Record: SharePoint.Crescent.com is already created)
Start these two services :
Create App Management Service Application
Go to Central Admin >> Application Management >> Service Applications >> New >> App Management Service. Provide necessary parameters and create new App Management service application.
Create Service application for Subscription service
Subscription service application can be created only with PowerShell and there is no Central Admin UI!
You can verify the subscription service application created from central admin:
Go to Central Admin >> Apps >> Click on App URL under App Management, Specify App Domain (Say: CrescentApps.com) and App Prefix (say: App)
Configure App Catalog - App catalog is the repository for Apps. In other words, Its actually is a site collection on the web application that hosts the apps.
Go to Central Admin >> Apps >> Manage App Catalog >> Pick the relevant web application and create a new SharePoint 2013 app catalog site.
Grant access to "NT Authority\Authenticated users" under End-users section. That's all, we've done configure SharePoint 2013 apps environment.
Go to your App Catalog site,Click on "SharePoint Store" link from Quick launch.
Pick the desired application and Add the App. You may be prompted to Login with your Microsoft account (Hotmail/Outlook.com/Live)
Once installed, you can add that app to your SharePoint sites, by clicking "Add an app" from site settings menu.
Pick the desired app to create a new instance of it.
You get this error message, when trying to install new App.
Lets try this again...
Everything is fine, but we had a small problem getting your license. Please go back to the SharePoint Store to get this app again and you won't be charged for it.
Solution: Don't Install apps with Farm Admin account ( or System account). Login with the account other than Farm Admin account install again!
HTTP 404 The Web Page Cannot be Found error:
If you use path based site collections with Host header (which is other than the machine name), it results page cannot be displayed error, When try adding apps..
http://sharepoint.crescent.com/_layouts/15/appredirect.aspx?instance_id=b7s23806-ca1a%2X51c7-3424e-6f7145gae3s
Solution: Create a web application without host headers on Port 80! Also Stop/Delete the Default Web Site from IIS (Thanks to Technet Forums!).
To create a new web application using PowerShell:
Technet guide: Configure an environment for apps for SharePoint 2013
This implementation guide walks through configuring apps for SharePoint 2013 step by step.
Steps In Summary:
- Create a forward Look-up zone and Wildcard Alias (CNAME) in your DNS Server.
- Start App Management Service and Subscription Services. Create Service Applications for them.
- Configure App management service by creating App catalog and providing App URLs.
- Install Apps to App Catalog from App Store / In-house. Add them to SharePoint sites.
Step 1: Create New Forward look-up zone
As SharePoint 2013 apps works on its own domain, we need to have a new domain created in DNS sever. So, lets create a new domain in DNS say: CrescentApps.com. Login to your DNS server and create a new Forward Look-up zone.Create a Wildcard (*) CNAME in CrescentApps.com, Point it to your SharePoint site: SharePoint.Crescent.com(Assuming there is a HOST A Record: SharePoint.Crescent.com is already created)
Verify that the zone created successfully by pinging it. Type in command prompt:
Ping MyApp.CrescentApps.com
It should get the reply from SharePoint.Crescent.com.
Ping MyApp.CrescentApps.com
It should get the reply from SharePoint.Crescent.com.
Step 2: Start App Services and Create Service Applications
Go to Central Admin >> System Settings >> Manage services on serverStart these two services :
- App management service
- Microsoft SharePoint Foundation Subscription Settings Service - which takes care of multi-tenancy feature for apps.
Create App Management Service Application
Go to Central Admin >> Application Management >> Service Applications >> New >> App Management Service. Provide necessary parameters and create new App Management service application.
Create Service application for Subscription service
Subscription service application can be created only with PowerShell and there is no Central Admin UI!
#Get the managed account to use.
$account = Get-SPManagedAccount "Crescent\SPSvcServApp"
# Create New application pool for the Subscription Settings service application.
$AppPoolSubSvc = New-SPServiceApplicationPool -Name SubSettingsServiceAppPool -Account $account
# Create Subscription Settings service application
$AppSubSvc
= New-SPSubscriptionSettingsServiceApplication –ApplicationPool
$appPoolSubSvc –Name SubSettingsServiceApp –DatabaseName
SubSettingsServiceDB
# Create a proxy for the Subscription Settings service application.
$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc
You can verify the subscription service application created from central admin:
3. Configure App management service by creating App catalog and providing App URLs.
Configure the App URLGo to Central Admin >> Apps >> Click on App URL under App Management, Specify App Domain (Say: CrescentApps.com) and App Prefix (say: App)
Configure App Catalog - App catalog is the repository for Apps. In other words, Its actually is a site collection on the web application that hosts the apps.
Go to Central Admin >> Apps >> Manage App Catalog >> Pick the relevant web application and create a new SharePoint 2013 app catalog site.
Grant access to "NT Authority\Authenticated users" under End-users section. That's all, we've done configure SharePoint 2013 apps environment.
4. Install Apps to SharePoint site from App Store / In-house.
Install Apps:Go to your App Catalog site,Click on "SharePoint Store" link from Quick launch.
Pick the desired application and Add the App. You may be prompted to Login with your Microsoft account (Hotmail/Outlook.com/Live)
Once installed, you can add that app to your SharePoint sites, by clicking "Add an app" from site settings menu.
Pick the desired app to create a new instance of it.
Troubleshooting:
Let's Try this again Error Message:You get this error message, when trying to install new App.
Lets try this again...
Everything is fine, but we had a small problem getting your license. Please go back to the SharePoint Store to get this app again and you won't be charged for it.
Solution: Don't Install apps with Farm Admin account ( or System account). Login with the account other than Farm Admin account install again!
HTTP 404 The Web Page Cannot be Found error:
If you use path based site collections with Host header (which is other than the machine name), it results page cannot be displayed error, When try adding apps..
http://sharepoint.crescent.com/_layouts/15/appredirect.aspx?instance_id=b7s23806-ca1a%2X51c7-3424e-6f7145gae3s
Solution: Create a web application without host headers on Port 80! Also Stop/Delete the Default Web Site from IIS (Thanks to Technet Forums!).
To create a new web application using PowerShell:
$ap = New-SPAuthenticationProvider
New-SPWebApplication -Name "SharePoint - 80" -ApplicationPool "SharePoint 80" -ApplicationPoolAccount (Get-SPManagedAccount "Crescent\Administrator") -Port "80" -AuthenticationProvider $ap -AuthenticationMethod NTLM -DatabaseName "WSS_Content_default"
Technet guide: Configure an environment for apps for SharePoint 2013