在 Azure 中的 SharePoint 2013 开发/测试环境

 

**上一次修改主题:**2017-09-26

**摘要:**在 Microsoft Azure 中创建一个基本或高可用性的 SharePoint 2013 开发/测试场。

可以在 Microsoft Azure 中使用 SharePoint 2013 非 HA 场SharePoint 2013 HA 场 Azure Resource Manager 的模板快速创建 SharePoint 2013 开发/测试环境。如果需要一个基本或高可用性 SharePoint 服务器场开发/测试环境,或作为一种协作解决方案为你的组织评估 SharePoint Server 2013,使用这些模板将可以节省大量的时间。

基本的 SharePoint 2013 场包含三个托管在 Azure 基础结构服务中的虚拟机。

The three servers of the SharePoint 2013 Basic Farm in Azure.

基本服务器场配置可用于 SharePoint 应用程序开发的简化安装或 SharePoint 2013 的第一次评估。

高可用性 SharePoint 场包含托管在 Azure 基础结构服务中的九个虚拟机。

The nine servers of the SharePoint 2013 High-Availability Farm in Azure.

可以使用高可用性服务器场配置来为 SharePoint 服务器场测试更高版本的客户端负载、外部 SharePoint 站点以及 SQL Server AlwaysOn 可用性组的高可用性。此外还可在高可用性环境中的 SharePoint 应用程序开发中使用此配置。

备注

Azure 的免费试用版不能创建 SharePoint 2013 非-HA 服务器场或 SharePoint 2013 HA 场。

这两个场均在仅基于云的 Azure 虚拟网络中,Web 状态为面向 Internet。没有连接到组织网络的站点到站点 VPN 或 ExpressRoute。

你可以使用 Azure 的门户或使用 Azure PowerShell 创建这些服务器场。

使用 Azure 门户创建 SharePoint 2013 开发/测试场

若要使用 Azure 门户创建基本的(三个服务器)SharePoint 服务器场:

  1. 登录到 Azure 门户网站,网址:https://portal.azure.com/

  2. 单击“新建”,然后单击“市场”旁的“查看全部”。

  3. 在搜索框中,键入 SharePoint 2013,然后单击“SharePoint 2013 非 HA 场”。

  4. 在结果中,请单击“SharePoint 2013 非 HA 场”。

  5. 在“SharePoint 2013 非 HA 场”窗格中,单击“创建”。

  6. 指定“创建 SharePoint 2013 非 HA 场”窗格步骤上的设置,然后单击“创建”。

若要使用 Azure 门户创建高可用性的(九个服务器)SharePoint 服务器场:

  1. 登录到 Azure 门户网站,网址:https://portal.azure.com/

  2. 单击“新建”,然后单击“市场”旁的“查看全部”。

  3. 在搜索框中,键入 SharePoint 2013,然后单击“SharePoint 2013 HA 场”。

  4. 在结果中,请单击“SharePoint 2013 HA 场”。

  5. 在“SharePoint 2013 HA 场”窗格中,单击“创建”。

  6. 指定“创建 SharePoint 2013 HA 场”窗格步骤上的设置,然后单击“创建”。

在这两种情况下,Azure 构建工作负载都需要一些时间。

在使用 Azure 门户创建这些 SharePoint 2013 开发/测试场时会有一些限制。例如,只能指定新的资源组。不能指定现有资源组。要解决这些限制,并进一步自定义用于创建开发/测试场的设置,可以使用 Azure PowerShell。

使用 Azure PowerShell 创建 SharePoint 2013 开发/测试场

使用 Azure PowerShell,你还可以创建基本的和高可用性的 SharePoint 2013 场,以及以下 Azure Resource Manager (ARM) 模板文件的本地副本:

  • azuredeploy.json 包含创建 Azure 的基础结构和虚拟机的说明。

  • azuredeploy.parameters.json 包含一组参数,可以针对部署进行修改。

使用 Azure PowerShell 执行带参数文件的模板本地副本,允许你指定部署的设置,具体操作与 Azure 门户窗格集的设置类似。它还可以解决 Azure 的门户中执行模板的限制,例如指定现有资源组。

基本的 SharePoint 2013 开发/测试场

在此过程中,将下载基本 SharePoint 2013 场模板文件的副本,根据需要对其进行修改,然后再执行 Azure PowerShell 包含的模板。

备注

这些命令使用 Azure PowerShell 1.0.0 及更高版本

创建一个本地文件夹,用于存储基本 SharePoint 2013 场的 ARM 模板文件。填写 $myFolder 变量值(删除括号内的文本、“<”和“>”字符),并从 Azure PowerShell 中运行以下命令:

$myFolder="<your local folder path, such as C:\azure\templates\BasicSPFarm>"

$url1="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/sharepoint-three-vm/azuredeploy.json"
$url2="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/sharepoint-three-vm/azuredeploy.parameters.json"
$webClient=New-Object System.Net.WebClient
$filePath=$myFolder + "\azuredeploy.json"
$webclient.DownloadFile($url1,$filePath)
$filePath = $myFolder + "\azuredeploy.parameters.json"
$webclient.DownloadFile($url2,$filePath)

请确保使用此命令已成功下载。

dir $myFolder

根据需要,为基本 SharePoint 2013 场修改 azuredeploy.parameters.json 文件。可使用 Visual Studio 或免费 Sublime Text 编辑器。例如,可以指定:

  • Windows Server AD 域管理员帐户名称 (adminUsername)。

  • SQL Server 服务帐户名称 (sqlServerServiceAccountUserName)。

  • SharePoint 安装用户帐户名称 (sharePointSetupUserAccountUserName)。

  • DNS 主机名,用于 ARM 资源的公用 IP 地址 (sppublicIPAddressName)。

  • 用于 SharePoint 服务器的公共 IP 地址 (spDNSPrefix) 的 DNS 前缀。

  • 用于存储帐户 (storageAccountNamePrefix) 的 DNS 名称。

  • 域控制器的虚拟机大小 (adVMSize)。

  • SQL Server 计算机的虚拟机大小 (sqlVMSize)。

  • SharePoint 服务器的虚拟机大小 (spVMSize)。

对于虚拟机大小,必须在 DS 或 GS 虚拟机系列中指定大小。

备注

尽管可在 azuredeploy.parameters.json 文件中指定各种帐户的密码,但出于安全原因并不推荐这样做,因为密码信息会被记录在任何有访问权限的人都可轻易查看的文本文件中。

根据需要为基本 SharePoint 2013 场修改 azuredeploy.json 文件。在“参数”部分,通过每个设置的 defaultValue 行指定值。例如,可以指定:

  • SharePoint 服务器场的名称 (sharepointFarmName)。

  • Azure 位置 (location)。

  • Azure 的虚拟网络名称 (virtualNetworkName)、地址空间 (virtualNetworkAddressRange),以及域控制器 (adSubnet)、SQL 服务器 (sqlSubnet) 和 SharePoint 服务器 (spSubnet) 的地址空间。

  • 分配给域控制器虚拟机的静态私有 IP 地址 (adNicIPAddress)。

  • Windows Server AD 域名 (domainName)。

  • SharePoint 站点模板 (spSiteTemplateName)。

接下来,登录到 Azure PowerShell。

Login-AzureRmAccount

使用此命令确定基本 SharePoint 服务器场的 Azure 订阅。

Get-AzureRMSubscription | Sort SubscriptionName | Select SubscriptionName

使用这些命令将你的订阅设置正确。

$subscrName="<subscription name>"
Get-AzureRmSubscription -SubscriptionName $subscrName | Select-AzureRmSubscription

接下来,使用这些命令指定资源组名称和 Azure 部署位置。

$rgName="<resource group name>"
$locName="<Azure location, such as West US>"

你可以使用此命令获取现有资源组的列表。

Get-AzureRMResourceGroup | Sort ResourceGroupName | Select ResourceGroupName

如果需要,可创建新的资源组。

备注

如果要使用现有的资源组,则资源和模板的设置会影响组中的资源。应仔细分析现有资源组的资源,以确保无不必要的重叠。

New-AzureRMResourceGroup -Name $rgName -Location $locName

接下来,确定以下值,因为在执行模板时可能会弹出提示:

  • adminUsername

  • adminPassword

  • sqlServerServiceAccountPassword

  • sharePointSetupUserAccountPassword

  • sharePointFarmAccountPassword

  • sharePointFarmPassphrasePassword

  • spDNSPrefix: ______________________________

    此值是 SharePoint 服务器的公共 IP 地址的 DNS 标签,承载第一个网站集和管理中心网站。

  • sppublicIPAddressName: ____________________

    ARM 资源公用 IP 地址的 DNS 主机名。

  • storageAccountNamePrefix: _____________________

    名称长度必须为 3 到 24 个字符,且仅可使用数字和小写字母。示例: contosotestsp2013farm。

使用这些命令来指定部署名称并执行不带 azuredeploy.parameters.json 文件的模板:

$deployName="<deployment name>"
New-AzureRMResourceGroupDeployment -Name $deployName -ResourceGroupName $rgName -TemplateFile $myFolder\azuredeploy.json

使用这些命令来指定部署名称和执行带有 azuredeploy.parameters.json 文件的模板:

$deployName="<deployment name>"
New-AzureRMResourceGroupDeployment -Name $deployName -ResourceGroupName $rgName -TemplateFile $myFolder\azuredeploy.json -TemplateParameterFile $myFolder\azuredeploy.parameters.json

当运行 New AzureResourceGroupDeployment 命令时,将弹出需要提供一些值的提示,例如密码。指定所有所需的值后,该命令会在 Azure 中创建三个服务器的基本 SharePoint 2013 场。

The single-server SharePoint 2016 farm in Azure.

这可能需要一些时间才能完成。

高可用性 SharePoint 2013 开发/测试场

在此过程中,将下载高可用性 SharePoint 2013 场模板文件的副本,根据需要对其进行修改,然后再执行 Azure PowerShell 包含的模板。

备注

这些命令使用 Azure PowerShell 1.0.0 及更高版本

创建一个本地文件夹,用于存储高可用性的 SharePoint 2013 场 ARM 模板文件。填写 $myFolder 变量值(删除括号内的文本、“<”和“>”字符),并从 Azure PowerShell 中运行以下命令:

$myFolder="<your local folder path, such as C:\azure\templates\HASPFarm>"

$url1=https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/sharepoint-server-farm-ha/azuredeploy.json"
$url2="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/sharepoint-server-farm-ha/azuredeploy.parameters.json"
$webClient=New-Object System.Net.WebClient
$filePath=$myFolder + "\azuredeploy.json"
$webclient.DownloadFile($url1,$filePath)
$filePath = $myFolder + "\azuredeploy.parameters.json"
$webclient.DownloadFile($url2,$filePath)

请确保使用此命令已成功下载。

dir $myFolder

根据需要,为高可用性 SharePoint 2013 场修改 azuredeploy.parameters.json 文件。可使用 Visual Studio 或免费 Sublime Text 编辑器。例如,可以指定:

  • Windows Server AD 域管理员帐户名称 (adminUsername)。

  • SQL Server 服务帐户名称 (sqlServerServiceAccountUserName)。

  • SharePoint 安装用户帐户名称 (sharePointSetupUserAccountUserName)。

  • 用于 SharePoint 服务器的公用 IP 地址 (sppublicIPAddressName) 的 DNS 主机名。

  • 用于 SharePoint 服务器的公共 IP 地址 (spDNSPrefix) 的 DNS 前缀。

  • 用于存储帐户 (storageAccountNamePrefix) 的 DNS 名称。

  • 域控制器虚拟机的大小 (adVMSize)。

  • SQL Server 虚拟机的大小 (sqlVMSize)。

  • 文件共享见证虚拟机的大小 (witnessVMSize)。

  • SharePoint 服务器虚拟机的大小 (spVMSize)。

  • Windows Server AD 域名 (domainName)。

对于虚拟机大小,必须在 DS 或 GS 虚拟机系列中指定大小。

备注

尽管可在 azuredeploy.parameters.json 文件中指定各种帐户的密码,但出于安全原因并不推荐这样做,因为密码信息会被记录在任何有访问权限的人都可轻易查看的文本文件中。

根据需要,为高可用性 SharePoint 2013 场修改 azuredeploy.json 文件。在“参数”部分,通过每个设置的 defaultValue 行指定值。例如,可以指定:

  • SharePoint 服务器场的名称 (sharepointFarmName)。

  • Azure 位置 (location)。

  • Azure 的虚拟网络名称 (virtualNetworkName)、地址空间 (virtualNetworkAddressRange),以及域控制器 (adSubnet)、SQL 服务器 (sqlSubnet) 和 SharePoint 服务器 (spSubnet) 的地址空间。

  • 分配给域控制器虚拟机的静态私有 IP 地址 (adPDCNICIPAddress 和 adBDCNICIPAddress)。

  • 分配给 SQL Server 虚拟机内部负载平衡器的静态 IP 地址 (sqlLBIPAddress)。

  • SharePoint 站点模板 (spSiteTemplateName)。

接下来,登录到 Azure PowerShell。

Login-AzureRmAccount

使用此命令确定高可用性 SharePoint 服务器场的 Azure 订阅。

Get-AzureRMSubscription | Sort SubscriptionName | Select SubscriptionName

使用这些命令将你的订阅设置正确。

$subscrName="<subscription name>"
Get-AzureRmSubscription -SubscriptionName $subscrName | Select-AzureRmSubscription

接下来,使用这些命令指定资源组名称和 Azure 部署位置。

$rgName="<resource group name>"
$locName="<Azure location, such as West US>"

你可以使用此命令获取现有资源组的列表。

Get-AzureRMResourceGroup | Sort ResourceGroupName | Select ResourceGroupName

如果需要,可创建新的资源组。

备注

如果要使用现有的资源组,则资源和模板的设置会影响组中的资源。应仔细分析现有资源组的资源,以确保无不必要的重叠。

New-AzureRMResourceGroup -Name $rgName -Location $locName

接下来,确定以下值,因为在执行模板时可能会弹出提示:

  • adminUsername

  • adminPassword

  • sqlServerServiceAccountPassword

  • sharePointSetupUserAccountPassword

  • sharePointFarmAccountPassword

  • sharePointFarmPassphrasePassword

  • spDNSPrefix: ______________________________

    此值是 SharePoint 服务器的公共 IP 地址的 DNS 标签,承载第一个网站集和管理中心网站。

  • sppublicIPAddressName: ____________________

    ARM 资源公用 IP 地址的 DNS 主机名。

  • storageAccountNamePrefix: _____________________

    名称长度必须为 3 到 24 个字符,且仅可使用数字和小写字母。示例: contosotestsp2013farm。

使用这些命令来指定部署名称并执行不带 azuredeploy.parameters.json 文件的模板:

$deployName="<deployment name>"
New-AzureRMResourceGroupDeployment -Name $deployName -ResourceGroupName $rgName -TemplateFile $myFolder\azuredeploy.json

使用这些命令来指定部署名称和执行带有 azuredeploy.parameters.json 文件的模板:

$deployName="<deployment name>"
New-AzureRMResourceGroupDeployment -Name $deployName -ResourceGroupName $rgName -TemplateFile $myFolder\azuredeploy.json -TemplateParameterFile $myFolder\azuredeploy.parameters.json

当运行 New AzureResourceGroupDeployment 命令时,将弹出需要提供一些值的提示,例如密码。指定所有所需的值后,该命令将在 Azure 中创建 9 个服务器的高可用性 SharePoint 2013 场。

The nine servers of the SharePoint 2013 High-Availability Farm in Azure.

这可能要花一些时间才能完成。

管理 SharePoint 2013 开发/测试场

你可以通过远程桌面连接来管理这些场的服务器。

在管理中心 SharePoint 网站中,你可以配置我的网站、SharePoint 应用程序和其他功能。有关详细信息,请参阅配置 SharePoint 2013

创建 SharePoint 2016 开发/测试场

请参阅 Azure 中的 SharePoint Server 2016 开发/测试环境,创建以下单个服务器的 SharePoint 2016 开发/测试场:

The single-server SharePoint 2016 farm in Azure.

See also

SharePoint Server 的技术图表

Azure 中的 SharePoint Server 2016 开发/测试环境