SharePoint 2013 App 開發 (2) - 建立開發環境


這篇文章屬於SharePoint 2013 App開發系列文章,到這篇文章為止,此系列的文章包括:

在開發SharePoint App之前,開發人員需要有一個SharePoint開發環境。無論是開發何種類型的應用程序,開發人員都需要在開發機器上准備相應的開發環境。比如,如果是開發ASP.NET Web應用,那么在開發機器上除了Visual Studio之外,很可能還需要有IIS(或IIS Express)和SQL Server數據庫服務器。同樣,對於SharePoint工程師來說,也需要在開發機器上准備一個能夠用來開發SharePoint應用程序的環境,只不過准備SharePoint開發環境通常要比准備一個ASP.NET開發環境復雜多了(雖然SharePoint在很大程度上是基於ASP.NET技術)。

如果你曾經准備過SharePoint 2007/2010開發環境,那么就應該知道,SharePoint 2007/2010不支持遠程開發。換言之,SharePoint 2007/2010不能讓程序員在沒有安裝SharePoint Server的本地開發機器上,打開Visual Studio創建SharePoint Solution,然后部署到遠程安裝了SharePoint Server的服務器上,運行並調試。SharePoint 2007/2010要求在工程師的本地開發環境中,必須安裝有SharePoint系統本身,Visual Studio也只能將開發的Solution直接部署到本地的SharePoint系統中進行調試。這使得SharePoint 2007/2010的開發人員,只能選擇要么使用Windows Server作為自己開發機器上的操作系統,要么使用某種虛擬機技術(Hyper-V、VMware)來構建開發環境。

SharePoint 2010在當年發布時,在開發支持方面的重大改進之一,就是支持被安裝到Vista/Windows 7客戶端操作系統上。這樣,開發人員的開發機器如果使用的是Windows 7操作系統,那么可以直接安裝SharePoint 2010(需要修改安裝配置文件),而不再需要將操作系統換成Windows Server或是使用虛擬機。

SharePoint 2013在建立開發環境方面,又有了一些顯著的變化。如果開發人員是要開發SharePoint 2013 Solution,那么仍然需要在開發機器上有本地的SharePoint 2013環境,而且SharePoint 2013也不再支持被安裝到Windows 7或Windows 8客戶端操作系統上。但是本系列文章介紹的不是SharePoint 2013 Solution開發,而是SharePoint 2013 App開發,所以情況又有所不同。簡單來說,如果開發人員要開發SharePoint 2013 App,那么有兩個選擇來建立開發環境:

  • 使用Office 365提供的“雲環境”
  • 在本地建立一個SharePoint 2013環境

使用Office 365建立開發環境

如果你不想花費大量的時間和精力(或是你沒有相應的硬件資源),在本地建立一個完整的SharePoint 2013環境,那么你可以使用Office 365所提供的一個遠程開發環境。這個Office 365開發環境是免費的,能夠讓你在本地開發機器上的Visual Studio 2012中開發SharePoint 2013 App,然后將App發布到雲端的Office 365 Developer Site上。

首先,點擊這里,完成Office 365 Developer Preview的注冊過程。(在撰寫此文時,Office 365 Developer Preview還不支持中國區域的注冊,所以你可能需要用一個美國的地址完成注冊。)

在注冊過程中,你會輸入你想要的域名(一個以OnMicrosoft.com結尾的域名,比如kaneboy.OnMicrosoft.com),以及一個以你選擇的域名為后綴的ID(比如kaneboy@kaneboy.OnMicrosoft.com)。以后你會需要使用這個用戶ID,登錄Office 365 Preview。

image

完成注冊過程后,你就能打開一個Office 365 Preview管理中心的界面。如果你是剛注冊完Office 365 Developer Preview並第一次進入這個界面,那么在頁面上顯示的“當前運行狀況”可能會顯示還在初始化各個不同的服務,你只需要稍候等待各個服務初始化完成即可。

image

點擊頁面右上方的“管理員”,然后在菜單中選擇“SharePoint”。

image

在打開的SharePoint admin center界面上,會顯示出所有的SharePoint網站。其中有一個URL為“http://你的ID.sharepoint.com”的網站,這個網站就是Office 365 Preview所提供的SharePoint 2013 Developer Site。打開它。

image

現在,你就擁有了一個由Office 365所提供的,位於雲端的,SharePoint 2013 Developer Site。你可以使用這個Developer Site來完成SharePoint 2013 App的發布和調試。

image

提示:到底什么是Developer Site?

在開發SharePoint 2013 App時,Visual Studio 2012在調試App的過程中,必須將App發布到一個特殊類型的SharePoint 2013網站上,這種網站就是Developer Site。在SharePoint 2013中,有一個內置的網站模板:“開發人員網站”,使用這個模板所創建的SharePoint網站,就是Developer Site,就可以用來發布和調試SharePoint 2013 App。系統管理員可以按照需要,建立任意多個Developer Site。除了Developer Site之外,Visual Studio不能將App直接發布到其他任何類型的SharePoint網站。

當我們在Visual Studio中新建一個SharePoint 2013 App項目時,項目向導會提示要求我們提供一個Developer Site。Developer Site對於App開發是必需的。

image

正是因為Office 365為我們提供了一個雲端的Developer Site,所以開發人員就不需要在本地建立一個完整的SharePoint 2013環境了,而是使用這個Office 365 Developer Site,來進行App開發。

在本地創建SharePoint 2013開發環境

除了使用Office 365 Developer Site之外,開發人員還可以選擇在本地開發機器上,建立一個完整的SharePoint 2013開發環境。建立一個本地開發環境,相比直接使用Office 365要麻煩很多,而且需要更多的硬件資源。但這種選擇也有一些好處:

  • 你不需要依賴連接到Office 365的Internet網絡連接
  • 如果除了SharePoint 2013 App之外,你還要開發SharePoint 2013 Solution,那么你就仍然需要一個本地開發環境

創建SharePoint 2013本地開發環境,根本上就是在本地計算機上安裝一個SharePoint 2013環境。如果你的工作環境使用的是Windows Server 2008 R2 SP1或Windows Server 2012,那么你可以直接在你的工作環境中安裝SharePoint 2013(Windows Server 2008 R2 SP1和Windows Server 2012是唯一支持安裝SharePoint 2013的兩個操作系統)。但是如果你的工作環境使用的是客戶端操作系統,比如Windows 7或Windows 8,那么更合適的做法就是使用虛擬機技術,在虛擬機里面創建SharePoint 2013開發環境。筆者的筆記本安裝的是Windows 8,而Windows 8的好處之一,就是它內置了Hyper-V組件,所以筆者不需要再安裝其它第三方的虛擬機軟件(比如VMware)。

當然使用虛擬機技術,對你的開發機器的性能有一定的要求。開發機器最好有16GB內存,這樣可以將其中的至少10GB分配給虛擬機使用。雖然你可以在更少內存的機器上運行SharePoint 2013虛擬機,但它的運行速度很可能會讓你抓狂。另外,由於運行虛擬機對磁盤I/O性能也有一定的要求,所以建議將虛擬機的磁盤鏡像文件放置到機器的非系統硬盤上。比如,你可以在第一塊硬盤上安裝操作系統和其它軟件,然后在第二塊硬盤上放置虛擬機磁盤鏡像文件。使用專門的SSD硬盤來放置虛擬機磁盤鏡像文件,是最佳的選擇(但是也意味着最高的成本)。

由於使用虛擬機技術來創建SharePoint 2013開發環境是更常見的做法,所以在下文中,將講述如何從操作系統開始,創建出完整的開發環境。不過在開始之前,我們需要確定整個SharePoint 2013開發環境一共包含幾個虛擬機。基本上,你其實可以將所需要的一切都安裝到一台單獨的虛擬機上,它將包括:

  • Windows Server 2008 R2 SP1(或Windows Server 2012)操作系統
  • Active Directory域控器組件
  • SQL Server 2012數據庫服務器
  • SharePoint Server 2013
  • Office 2013
  • SharePoint Designer 2013
  • Visio 2013
  • Visual Studio 2012
  • Workflow Manager
  • Office Developer Tools for Visual Studio 2012

除了上面的軟件之外,如果你的開發環境一定需要Office Web Apps Server 2013,那么你就需要第二個虛擬機,因為Office Web Apps Server 2013不能和SharePoint Server 2013安裝到同一台服務器上。

(1) 安裝Windows Server 2008 R2 SP1操作系統

基本的步驟如下:

  • 安裝Windows Server 2008 R2。
  • 安裝Service Pack 1補丁包。
  • 將虛擬機的Windows機器名修改為合適的名稱,比如“SP2013”。
  • 在Windows Server的服務器管理器中,安裝功能“桌面體驗”和“Windows PowerShell集成腳本環境(ISE)”。
  • 為虛擬機的網卡指定一個固定的IP地址(比如192.168.100.1),並且將DNS服務器指定為自己的IP。
  • 為了讓稍后安裝后續軟件時更順利,為虛擬機添加第二塊網卡,讓第二塊網卡可以連接到Internet。
  • 在Windows Server中禁用Loopback檢查。方式是下載這個禁用Loopback檢查修復包然后運行它,或者瀏覽此頁面,然后根據“方法 1:禁用環回檢查”中的方法手工修改注冊表。

(2) 安裝Active Directory域控器

基本步驟如下:

  • 在Windows Server的服務器管理器中,添加角色“Active Directory域服務”。
  • 運行Active Directory域服務安裝向導,在向導中,會提示輸入一個域名稱,只需要輸入一個想要的名稱即可,比如“contoso.com”。

(3) 安裝SQL Server 2012

按照標准步驟,完成SQL Server 2012即可。在選擇要安裝的SQL Server功能時,至少需要確認數據庫引擎服務以及它的全文檢索服務被選中了。

(4) 安裝SharePoint Server 2013

啟動SharePoint Server 2013的安裝程序(雙擊安裝文件根目錄的default.hta),然后點擊“安裝必備軟件”。

image

通過SharePoint 2013產品准備工具,讓它自動的下載所有必需的組件,並且在Windows Server上安裝必需的角色和功能(中間可能會提示需要重啟)。在產品准備工具運行完成之后,在提示界面確認所有必需的組件都已經被成功安裝和配置。

image

重新啟動Windows Server。手工下載並安裝下面3個補丁包:

  • KB2554876:打開此頁面后,將下載鏈接發送到你的信箱。
  • KB2708075:打開此頁面后直接下載。
  • KB2759112:點擊這里直接下載。(如果是Windows Server 2012,則換為下載KB2765317,點擊這里直接下載。)

再次重啟Windows Server,然后再次運行SharePoint Server 2013安裝程序,點擊“安裝SharePoint Server 2013”。根據向導提示,安裝完所有文件,然后運行SharePoint 2013產品配置向導。

在產品配置向導中,選擇建立新服務器場,然后指定數據庫服務器的名稱(即本機)和連接到數據庫服務器所使用的AD域賬號。如果需要,可以為管理中心站點手工指定一個特定的端口。完成產品配置向導的運行。完成之后,會自動打開瀏覽器,並打開管理中心站點。

第一次打開管理中心站點,會提示運行服務器場配置向導。

image

啟動向導后,在第一個向導界面輸入一個服務賬號或使用現有的管理賬號。在界面的下方,會顯示很多的服務,取消選中“應用程序管理服務”,然后點擊下一步,讓服務器場向導安裝其它選中的服務。

在向導安裝服務時,頁面會提示稍微等待一會兒,但你可能會在這里等待很長時間之后,發現頁面仍然顯示同樣的等待信息。如果出現了這樣的情況,在確認已經等待了至少半小時之后,你可以關閉瀏覽器,然后再重新通過開始菜單打開SharePoint 2013管理中心。所有的服務應該都已經被安裝好了。

打開Windows Server管理中心中的DNS管理器,在正向查找區域下,展開域名主節點,然后添加一個泛域名解析,指向本地IP地址。添加的方法是在主機文本框中直接輸入星號(*)。添加了*.contoso.com這個泛域名解析之后,所以以contoso.com結尾的域名(比如intranet.contoso.com、apps.contoso.com、app-1.apps.contoso.com),都會被解析到本地IP地址上。

image

添加*.contoso.com這個泛域名解析的目的,是因為我們想用“apps.contoso.com”這個域名作為App托管的應用程序域。下一步就是配置App托管。

點擊開始菜單 –> 所有程序 –> Microsoft SharePoint 2013 Products,然后用管理員權限打開“SharePoint 2013命令行管理程序”。執行下面這些PowerShell cmdlets:

// 設置應用程序域為“apps.contoso.com”

$appHostDomain = "apps.contoso.com"
Set-SPAppDomain $appHostDomain

// 啟動“應用程序管理服務”和“Microsoft SharePoint Foudation Subscription Settings Service”服務
$appMgmtSvcInstance = Get-SPServiceInstance | Where-Object { $_.GetType().Name -eq "AppManagementServiceInstance" }
if ($appMgmtSvcInstance.Status -ne "Online") { Start-SPServiceInstance -Identity $appMgmtSvcInstance }
$appSubSettingSvcInstance = Get-SPServiceInstance | Where-Object { $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"}
if ($appSubSettingSvcInstance.Status -ne "Online") { Start-SPServiceInstance -Identity $appSubSettingSvcInstance }

// 創建“Settings Service Application”和“應用程序管理服務”服務應用程序
$appPoolServiceApps = Get-SPServiceApplicationPool -Identity "SharePoint Web Services Default"
$appSubSvc = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $appPoolServiceApps -Name "Settings Service Application" -DatabaseName SettingsServiceDB
$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $appSubSvc
$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolServiceApps -Name "應用程序管理服務" -DatabaseName AppServiceDB
$proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc

// 設置應用程序前綴
Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false

運行完成之后,在SharePoint 2013管理中心網站打開“系統設置 - 管理服務器上的服務”頁面,應該能夠看到下面這兩個服務已經處於啟動狀態。

image

image

然后打開“應用程序管理 - 管理服務應用程序”頁面,在頁面上應該能夠看到下面這兩個服務應用程序。

image

image

最后打開“應用程序 - 配置應用程序URL”頁面,頁面上的“應用程序域”和“應用程序前綴”應該如下圖所示。

image

最后,在新安裝的SharePoint 2013系統中,創建一個新的Developer Site(你還記得Developer Site的作用,對吧?)。在管理中心新建網站集,然后選擇“開發人員網站”模板即可。

image

(5) 安裝Office客戶端程序

在虛擬機中安裝Office 2013、SharePoint Designer 2013和Visio 2013。其中SharePoint Designer 2013可以免費下載

(6) 安裝Visual Studio 2012

在虛擬機中安裝Visual Studio 2012。在筆者撰寫此文時,Visual Studio 2012 Update1已經發布了。

(7) 安裝Workflow Manager

這個頁面下載Workflow Manager 1.0,然后雙擊下載的WorkflowManager.exe。實際上,這是一個Web平台安裝程序(Web Platform Installer,簡稱WebPI)安裝包,它會啟動機器上的Web平台安裝程序4.0(如果機器上沒有安裝WebPI 4.0,它會自動下載並安裝),來下載安裝所有必需的組件。

image

安裝Workflow Manager 1.0時,WebPI會自動安裝下面這些依賴的組件:

  • Workflow Client 1.0
  • Service Bus 1.0
  • Microsoft Windows Fabric

在WebPI 4.0完成安裝后,會啟動Workflow Manager配置。在配置向導中,選擇按照默認設置配置Workflow Manager,配置向導會接着創建一個Workflow Farm。

在新建Workflow Farm的界面,輸入SQL Server服務器的名稱,然后輸入一個服務賬戶。服務賬號的格式必需是“賬號@完整域名”,比如“administrator@contoso.com”。服務賬號的文本框中,在@符號后面默認不會顯示完整域名(比如它只會顯示“@contoso”),你必需將它補全為完整域名。選中下方的允許通過HTTP進行連接的復選框。輸入任意一個key來生成證書。

繼續其它步驟,完成Workflow Manager的配置向導。

接下來還需要將SharePoint系統連接到Workflow Farm。打開Windows開始菜單,在Workflow Manager 1.0文件夾下面有一個Workflow Manager PowerShell,運行它,然后執行“Get-WFFarm”指令。指令運行后,會列出Workflow Farm的信息,其中我們要使用的是HttpPort這個信息,它的默認值應該都是12291。

image

然后打開SharePoint 2013命令行管理程序,執行“Register-SPWorkflowService -SPSite "http://sp2013" -WorkflowHostUri "http://sp2013:12291" -AllowOAuthHttp”指令。指令的SPSite參數要指定為一個存在的SharePoint 2013網站集的路徑,WorkflowHostUri參數要指定為你的環境中的Workflow Farm的端點路徑,其中的12291端口來自於上一條“Get-WFFarm”指令所獲取的端口信息。

image

現在,Workflow Manager就安裝並配置完成了。

(8) 安裝Office Developer Tools for Visual Studio 2012

Office Developer Tools for Visual Studio 2012包含了對SharePoint 2013 App開發的支持,沒有這個插件的話,在Visual Studio 2012中是不會有SharePoint App項目模板的。在筆者撰寫此文時,實際上Office Developer Tools for Visual Studio 2012還沒有發布正式版,最新的版本是Preview 2。但是Preview 2版本的Developer Tools針對的就是Visual Studio 2012正式版和SharePoint 2013正式版,只是Developer Tools工具本身還沒有RTM而已。你可以點擊這里下載Developer Tools Preview 2。注意,Developer Tools的安裝也是通過WebPI 4.0來完成。Web PI同時會安裝下面這些Office Developer Tools所依賴的組件:

  • Windows Identity Foundation SDK
  • SharePoint Client Component
  • Workflow Manager Tools for VS2012
  • Microsoft Exchange Web Services
  • Microsoft LightSwitch HTML Client for VS2012
  • VSTO Runtime
  • VSTO Runtime語言包

終於,完成了這一步之后,我們就完成了SharePoint 2013本地開發環境的建立。以后我們就可以用這個虛擬機,來進行SharePoint 2013 App的開發。

如果你需要Office Web Apps的功能,那么還需要創建第二個虛擬機,讓其中的Windows Server加入到第一個虛擬機所創建的Active Directory域,然后安裝並配置Office Web Apps Server 2013。安裝Office Web Apps Server 2013並且將其連接到SharePoint服務器場的方法,可以參考杜偉寫的這篇博客。雖然這篇博客針對的是Office Web Apps 2013 Preview版本,但基本的操作步驟和正式版是相同的。

最后要提醒的是,這篇文章面對的是SharePoint 2013 App開發人員,而不是SharePoint 2013系統管理員。也就是說,上面對於安裝SharePoint 2013的步驟的描寫,僅是用來建立開發環境,這並不意味着這些步驟在生產環境中也是正確的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM