原文:SharePoint 2013 搭建app本地开发环境
使用SharePoint App,如果要通过应用程序目录分发 SharePoint 相关应用程序,如具有完全控制权限的 SharePoint 相关应用程序(无法部署到 Office 365 网站),则将需要使用本地计算机上完整安装的SharePoint 2013。我们在本文中提供了用于设置SharePoint 2013 的本地安装以及开始开发SharePoint 相关应用程序的步骤。
一、配置前准备
1. 请确定已经安装好SharePoint 2013,如若未安装,请参考附后的安装教程。
2.确保配置 App Management Service 和用户配置文件应用程序。步骤如下:
a.在“管理中心”中的“应用程序管理”下,选择“管理服务应用程序”。
b.在“服务应用程序”页上,确保启动下列服务:
Ø User Profile Service 应用程序
Ø App Management Service
c.在“应用程序管理”下,选择“管理服务器上的服务”。
d.在“服务器上的服务”页上,确保启动下列服务:
Ø User Profile Service
3.确保在“User Profile Service 应用程序”中至少启动了一个配置文件。步骤如下:
a.在“管理中心”中的“应用程序管理”下,选择“管理服务应用程序”。
b.接着选择“User Profile Service 应用程序”。
c.在“管理配置文件服务: User Profile Service 应用程序”页上的“人员”下,选择“管理用户配置文件”。
d.在“管理用户配置文件”页上,选择“新建配置文件”。
e.在“添加用户配置文件”页上,键入帐户名和电子邮件地址。
f.选择“保存并关闭”。
g.返回“管理用户配置文件”页上,您应看到“配置文件总数: 1”。
二、在开发计算机上创建独立的应用程序域
1、通过打开命令提示符并键入以下命令来确保 spadmin 和 sptimer 服务正在运行。
net start spadminv4 net start sptimerv4
2、作为管理员运行 SharePoint Management Shell 并键入以下命令以创建独立的应用程序域。
Set-SPAppDomain "app.sinopec.ad"
3、通过在 SharePoint Management Shell 中键入以下命令来确保 SPSubscriptionSettingsService和AppManagementServiceInstance 服务正在运行。
Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"} | Start-SPServiceInstance
4、通过在 SharePoint Management Shell 中键入以下命令来验证 SPSubscriptionSettingsService 和 AppManagementServiceInstance 服务是否正在运行。输出将指明每项服务是否处于联机状态。
Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"}
5、您必须指定运行 SPSubscriptionService 和 AppManagementServiceInstance 服务实例将使用的帐户。此帐户必须是 SPManagedAccount。通过在 SharePoint Management Shell 中键入以下命令,您可以创建 SPManagedAccount(特:将会提示您输入帐户域\用户和密码)。
$account = New-SPManagedAccount
6、通过在 SharePoint Management Shell 中键入以下代码,为 SPSubscriptionService 和 AppManagementServiceInstance 服务指定帐户、应用程序池和数据库设置。如果在上一步骤中创建了 SPManagedAccount,请在此处使用该帐户名称。
$account = Get-SPManagedAccount "domain\username" $appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account $appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account $appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName myappSettingsServiceDB $proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc $appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName myappAppServiceDB $proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc
7、通过在 SharePoint Management Shell 中键入以下代码来指定租户名称。
Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false
8、查看管理中心,新添加的两个应用程序,如下图:
9、创建一个app,部署,如下图:
三、在 Internet Explorer 中将独立的应用程序域添加到您的绕过列表中
创建独立的应用程序域之后,请执行以下过程中的步骤,以在 Internet Explorer 中将该域添加到您的绕过列表中。这可以确保在部署 Sharepoint 承载的应用程序之后可以导航到此域。如果您的环境不使用代理服务器,则可以跳过此过程。
1.在 Internet Explorer 中,转至“工具”。
2.选择“Internet 选项”。
3.在“连接”选项卡上,选择“局域网设置”按钮。
4.清除“自动检测设置”复选框。
5.选中“为 LAN 使用代理服务器”复选框。
6.选择“高级”按钮,然后将 *.YourAppDomain.com 添加到“例外”列表中。
7.选择“确定”按钮。
8.选择“确定”按钮以关闭“局域网(LAN)设置”对话框。
9.选择“确定”按钮以关闭“Internet 选项”对话框。
截图说明
1、Internet选项,点击局域网设置:
2、去掉自动检测设置的勾,点击高级:
3、在例外里,添加*.my.app.domain,然后确定,保存即可:
在使用app的时候,以上配置都完成以后,发现打开*.my.app.domain出现域名无法解析的问题,因为只是一台独立服务器,自己也没有dns的权限,索性在这台服务器上新建dns,设置本的第一dns为该服务器,安装dns的功能略过,需要可以参考sharepoint安装教程。
四、添加DNS解析过程
1、添加新建区域,因为这个dns是我新建的,如果你本身是域控,或者dns服务器,里面会有很多选项,反正功能都是一样的,如下图:
2、选择主要区域,如下图:
3、输入区域名称,点击下一步:
4、设置区域文件,如下图:
5、不允许动态更新,下一步:
6、点击完成,如下图:
7、在新建的区域上,新建主机,如下图:
8、填写主机属性,点击添加主机,如下图:
9、ping无法解析的域名,如下图:
特别的,如果你只是本地测试,只需要在测试机上加Host文件,将域名和ip映射一下,就可以达到以上效果。我自己也是测试,不知道因为搭建的dns问题,还是服务器不够稳定,总是访问超时,不过加上host映射,就好很多。
10、查看我们部署的测试的SharePoint app,如下图:
总 结
因为自己更多的工作还是做基于SharePoint环境的二次开发,所以app只是一个小尝试,毕竟不能说接触sharepoint 2013了,连app都没有写过,所以配置了一下环境,创建一个app体验一下。
SharePoint app不仅仅可以从应用程序里面,下载别人开发的app(如果可以访问外网),或者自己发布一个目录,用来共享app,方便大家使用。个人理解主要用于其他开发人员,开发使用在SharePoint上的程序提供的。
附录链接
http://www.cnblogs.com/jianyus/archive/2013/02/01/2889653.html
http://msdn.microsoft.com/zh-cn/library/office/fp179923
http://www.cnblogs.com/kaneboy/archive/2012/12/04/2800652.html