Azure 中的 SharePoint Server 开发/测试环境
适用范围:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
本文逐步讲解如何创建 Azure 中托管的 SharePoint Server 开发/测试场。 下面是生成的配置。
此配置由 Azure 虚拟网络子网中的单服务器 SharePoint Server 场组成,该服务器场提供了一个基础和常见起点,可从中演示 SharePoint Server 2016 以及开发和测试 SharePoint 应用程序。
设置此开发/测试环境包含三个主要阶段:
设置虚拟网络和域控制器 (adVM)。
配置 SQL Server 计算机 (sqlVM)。
配置 SharePoint Server (spVM)。
注意
此配置需要付费的 Azure 订阅。 无法使用 Azure 免费试用版生成此配置。
阶段 1:部署虚拟网络和域控制器
在此阶段,使用 Azure PowerShell 新建 Azure 虚拟网络和域控制器。 在本地计算机上,使用 Windows PowerShell 命令提示符或 PowerShell 集成脚本环境 (ISE) 运行 PowerShell 命令。
注意
[!注意] 下面的命令集使用最新版 Azure PowerShell。 请参阅 Get started with Azure PowerShell cmdlets(Azure PowerShell cmdlet 使用入门)。
首先,登录到你的 Azure 帐户。
Connect-AzAccount
使用以下命令获得订阅名称。
Get-AzSubscription | Sort Name | Select Name
使用下列命令设置 Azure 订阅。 通过将引号内的所有内容(包括 < 和 > 字符)替换为正确的名称来设置$subscr变量。
$subscr="<subscription name>"
Select-AzSubscription -SubscriptionName $subscr
接下来,创建一个新的资源组。 要确定一个唯一的资源组名称,请使用此命令列出你现有的资源组。
Get-AzResourceGroup | Sort ResourceGroupName | Select ResourceGroupName
使用这些命令创建新的资源组。 使用正确的名称替换引号内的所有内容(包括 < and > 字符),以设置变量。
$rgName="<resource group name>"
$locName="<location name, such as West US>"
New-AzResourceGroup -Name $rgName -Location $locName
接下来,创建 SP2016Vnet Azure 虚拟网络,它将托管 SP2016Subnet 子网并通过网络安全组对其进行保护。
$rgName="<name of your new resource group>"
$locName=(Get-AzResourceGroup -Name $rgName).Location
$spSubnet=New-AzVirtualNetworkSubnetConfig -Name SP2016Subnet -AddressPrefix 10.0.0.0/24
New-AzVirtualNetwork -Name SP2016Vnet -ResourceGroupName $rgName -Location $locName -AddressPrefix 10.0.0.0/16 -Subnet $spSubnet -DNSServer 10.0.0.4
$rule1=New-AzNetworkSecurityRuleConfig -Name "RDPTraffic" -Description "Allow RDP to all VMs on the subnet" -Access Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389
$rule2 = New-AzNetworkSecurityRuleConfig -Name "WebTraffic" -Description "Allow HTTP to the SharePoint server" -Access Allow -Protocol Tcp -Direction Inbound -Priority 101 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix "10.0.0.6/32" -DestinationPortRange 80
New-AzNetworkSecurityGroup -Name SP2016Subnet -ResourceGroupName $rgName -Location $locName -SecurityRules $rule1, $rule2
$vnet=Get-AzVirtualNetwork -ResourceGroupName $rgName -Name SP2016Vnet
$nsg=Get-AzNetworkSecurityGroup -Name SP2016Subnet -ResourceGroupName $rgName
Set-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name SP2016Subnet -AddressPrefix "10.0.0.0/24" -NetworkSecurityGroup $nsg
$vnet | Set-AzVirtualNetwork
然后,我们可以在 Azure 中创建 adVM 虚拟机。 adVM 是 corp.contoso.com Windows 服务器 Active Directory (AD) 域的域控制器和 SP2016Vnet 虚拟网络虚拟机的 DNS 服务器。
首先,填写资源组名称,并在本地计算机上使用 Azure PowerShell 命令提示符运行下面这些命令,为 adVM 创建 Azure 虚拟机。
$rgName="<resource group name>"
# Get the location
$locName=(Get-AzResourceGroup -Name $rgName).Location
# Create an availability set for domain controller virtual machines
New-AzAvailabilitySet -ResourceGroupName $rgName -Name dcAvailabilitySet -Location $locName -Sku Aligned -PlatformUpdateDomainCount 5 -PlatformFaultDomainCount 2
# Create the adVM virtual machine
$vmName="adVM"
$vmSize="Standard_D1_v2"
$vnet=Get-AzVirtualNetwork -Name SP2016Vnet -ResourceGroupName $rgName
$pip = New-AzPublicIpAddress -Name ($vmName + "-PIP") -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic = New-AzNetworkInterface -Name ($vmName + "-NIC") -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress 10.0.0.4
$avSet=Get-AzAvailabilitySet -Name dcAvailabilitySet -ResourceGroupName $rgName
$vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
$vm=Set-AzVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "Standard_LRS"
$diskConfig=New-AzDiskConfig -AccountType "Standard_LRS" -Location $locName -CreateOption Empty -DiskSizeGB 20
$dataDisk1=New-AzDisk -DiskName ($vmName + "-DataDisk1") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzVMDataDisk -VM $vm -Name ($vmName + "-DataDisk1") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
$cred=Get-Credential -Message "Type the name and password of the local administrator account for adVM."
$vm=Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName adVM -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
$vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
New-AzVM -ResourceGroupName $rgName -Location $locName -VM $vm
系统将提示你输入用户名和密码。 本文将引用此用户名为 ADMIN_NAME。 使用强密码,并记录在一个安全的位置。
注意
[!注意] 你指定的密码不能为"pass@word1"。 它必须介于 8-123 个字符之间,并且必须满足至少 3 个以下密码复杂性要求: > 包含大写字母 > 包含小写字母 > 包含数字数字 > 包含特殊字符
Azure 可能需要几分钟的时间来构建虚拟机。
请按照下列步骤操作,使用本地管理员帐户凭据连接域控制器虚拟机:
在 Azure 门户中,单击新资源组 adVM > Connect 的名称的“>>资源组><”。
运行下载的 adVM.rdp 文件,然后单击“连接”。
在" Windows 安全性中,单击" 使用另一个帐户"。 在 “用户名”中,键入 adVM\<ADMIN_NAME>。
在" 密码"中,键入 ADMIN_NAME 帐户的密码,然后单击" 确定"。
出现提示时,请单击“是”。
接下来,在管理员一级的 Windows PowerShell 命令提示符处,使用下面这些命令将额外的数据磁盘添加为新卷,驱动器号为 F:。
Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "WSAD Data"
接下来,将 adVM 配置为 corp.contoso.com 域的域控制器和 DNS 服务器。 在 adVM 上管理员级别的 Windows PowerShell 命令提示符中运行下面的命令。
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName corp.contoso.com -DatabasePath "F:\NTDS" -SysvolPath "F:\SYSVOL" -LogPath "F:\Logs"
请注意,这些命令可能会花几分钟才能完成。
AdVM 重新启动后,重新连接到 adVM 虚拟机。
使用域凭据连接域控制器虚拟机
在 Azure 门户中,单击><资源组名称>> adVM > Connect 的“资源组”。
运行下载的 adVM.rdp 文件,然后单击“连接”。
在" Windows 安全性中,单击" 使用另一个帐户"。 在 “用户名”中,键入 “CORP\<ADMIN_NAME>”。
在" 密码"中,键入 ADMIN_NAME 帐户的密码,然后单击" 确定"。
出现提示时,请单击" 是"。
在 adVM 上的桌面中打开管理员级别的 Windows PowerShell 命令提示符,然后运行以下命令:
Add-WindowsFeature RSAT-ADDS-Tools
New-ADUser -SamAccountName sp_farm_db -AccountPassword (read-host "Set user password" -assecurestring) -name "sp_farm_db" -enabled $true -PasswordNeverExpires $true -ChangePasswordAtLogon $false
在安全位置记录 sp_farm_db 帐户的密码。
以下是第 1 阶段的结果。
阶段 2:添加和配置 SQL Server 2014 虚拟机
在此阶段中,在虚拟网络中创建 SQL Server 2014 虚拟机,使其作为 Windows Server AD 域的成员,并准备 SharePoint。
若要使用 Azure PowerShell 创建 SQL Server 2014 虚拟机,请提供变量的值。 然后,在本地计算机上的 Azure PowerShell 提示符处或 PowerShell 集成脚本环境 (ISE) 中运行生成的块。
# Log in to Azure
Connect-AzAccount
# Set up key variables
$subscrName="<name of your Azure subscription>"
$rgName="<your resource group name>"
# Set the Azure subscription and location
Select-AzSubscription -SubscriptionName $subscrName
$locName=(Get-AzResourceGroup -Name $rgName).Location
# Create an availability set for SQL Server virtual machines
New-AzAvailabilitySet -ResourceGroupName $rgName -Name sqlAvailabilitySet -Location $locName -Sku Aligned -PlatformUpdateDomainCount 5 -PlatformFaultDomainCount 2
# Create the SQL Server virtual machine
$vmName="sqlVM"
$vmSize="Standard_D3_V2"
$vnet=Get-AzVirtualNetwork -Name "SP2016Vnet" -ResourceGroupName $rgName
$pip=New-AzPublicIpAddress -Name ($vmName + "-PIP") -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic=New-AzNetworkInterface -Name ($vmName + "-NIC") -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress "10.0.0.5"
$avSet=Get-AzAvailabilitySet -Name sqlAvailabilitySet -ResourceGroupName $rgName
$vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
$vm=Set-AzVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "Standard_LRS"
$diskSize=100
$diskConfig=New-AzDiskConfig -AccountType "Standard_LRS" -Location $locName -CreateOption Empty -DiskSizeGB $diskSize
$dataDisk1=New-AzDisk -DiskName ($vmName + "-SQLData") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzVMDataDisk -VM $vm -Name ($vmName + "-SQLData") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
$cred=Get-Credential -Message "Type the name and password of the local administrator account of the SQL Server computer."
$vm=Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzVMSourceImage -VM $vm -PublisherName MicrosoftSQLServer -Offer SQL2014SP3-WS2012R2 -Skus Standard -Version "latest"
$vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
New-AzVM -ResourceGroupName $rgName -Location $locName -VM $vm
注意
[!注意] 此 PowerShell 命令集创建了 sqlVM 虚拟机的 Azure 可用性集。 执行此操作,以便你想要将多个 SQL Server 虚拟机添加到此基本配置。
在 Azure 门户中,使用本地管理员帐户的凭据连接到 SQL Server 虚拟机 (sqlVM)。
接下来,在 sqlVM 上使用管理员级 Windows PowerShell 命令提示符,运行下面这些命令,将 SQL Server 加入 Windows Server AD 域。
Add-Computer -DomainName "corp.contoso.com"
Restart-Computer
请注意,必须在输入 Add-Computer 命令后提供域帐户凭据。 使用 CORP\<ADMIN_NAME> 帐户和密码。
SQL Server 虚拟机重新启动后,使用本地管理员帐户的凭据重新连接到 SQL Server 虚拟机。
接下来,在 sqlVM 上使用管理员级 Windows PowerShell 命令提示符,运行下面这些命令,将额外的数据磁盘添加为驱动器号为 F: 的新卷,并创建文件夹。
Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "SQL Data"
md f:\Data
md f:\Log
md f:\Backup
接下来,配置 SQL server 以针对新的数据库和帐户与权限使用 F: 驱动器。
在开始屏幕中,键入 SQL Studio,然后单击" SQL Server 2014 Management Studio"。
在" 连接到服务器"中,单击" 连接"。
在左窗格中,右键单击顶部节点 机器后命名的默认实例 然后单击" 属性"。
在" 服务器属性"中,单击" 数据库设置"。
在" 数据库默认位置"中,设置以下值:
对" 数据",将路径设置为 f:\Data。
对" 日志",将路径设置为 f:\Log。
对于" 备份",将路径设置为 f:\Backup。
单击" 确定"关闭该窗口。
在左窗格中,展开 Security 文件夹。
右键单击" 登录名",然后单击" 新建登录名"。
在 “登录名”中,键入 “CORP\<ADMIN_NAME>”。
在" 选择页"下,依次单击" 服务器角色"、" sysadmin"和" 确定"。
关闭 SQL Server 2014 Management Studio。
SQL Server 需要客户端用于访问数据库服务器的端口。 它还需要与 SQL Server Management Studio 进行连接的端口。 在 SQL Server 虚拟机上管理员级别 Windows PowerShell 命令提示符下运行以下命令。
New-NetFirewallRule -DisplayName "SQL Server ports 1433, 1434, and 5022" -Direction Inbound -Protocol TCP -LocalPort 1433,1434,5022 -Action Allow
以本地管理员身份注销。
以下是第 2 阶段的结果。
阶段 3:添加和配置 SharePoint Server 虚拟机
在此阶段,你将在虚拟网络中创建 SharePoint Server 虚拟机,使其成为 Windows Server AD 域的成员,然后创建新的 SharePoint 场。
若要使用 Azure PowerShell 创建 SharePoint Server 虚拟机,请提供变量的值。 对于 $dnsName 值,你必须确定一个全局唯一名称。 然后,在你的本地 Azure PowerShell 提示符下运行生成的块。
# Set up key variables
$subscrName="<name of your Azure subscription>"
$rgName="<your resource group name>"
$dnsName="<unique, public domain name label for the SharePoint server>"
# Set the Azure subscription
Select-AzSubscription -SubscriptionName $subscrName
# Get the location
$locName=(Get-AzResourceGroup -Name $rgName).Location
# Create an availability set for SharePoint virtual machines
New-AzAvailabilitySet -ResourceGroupName $rgName -Name spAvailabilitySet -Location $locName -Sku Aligned -PlatformUpdateDomainCount 5 -PlatformFaultDomainCount 2
# Create the spVM virtual machine
$vmName="spVM"
$vmSize="Standard_D3_V2"
$vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize
$pip=New-AzPublicIpAddress -Name ($vmName + "-PIP") -ResourceGroupName $rgName -DomainNameLabel $dnsName -Location $locName -AllocationMethod Dynamic
$vnet=Get-AzVirtualNetwork -Name "SP2016Vnet" -ResourceGroupName $rgName
$nic=New-AzNetworkInterface -Name ($vmName + "-NIC") -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress "10.0.0.6"
$avSet=Get-AzAvailabilitySet -Name spAvailabilitySet -ResourceGroupName $rgName
$vm=New-AzVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
$vm=Set-AzVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "Standard_LRS"
$cred=Get-Credential -Message "Type the name and password of the local administrator account."
$vm=Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzVMSourceImage -VM $vm -PublisherName "MicrosoftSharePoint" -Offer "MicrosoftSharePointServer" -Skus "sp2016" -Version "latest"
$vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
New-AzVM -ResourceGroupName $rgName -Location $locName -VM $vm
注意
[!注意] 此 Azure PowerShell 命令块创建了 spVM 虚拟机的 Azure 可用性集。 如果要将更多 SharePoint Server 虚拟机添加到此基本配置,则会执行此操作。
配置 SharePoint Server 虚拟机
使用本地管理员帐户凭据连接到 SharePoint 虚拟机 (spVM)。
在 spVM 上使用管理员级 Windows PowerShell 命令提示符,运行下面这些命令,将 SharePoint 虚拟机加入 Windows Server AD 域。
Add-Computer -DomainName "corp.contoso.com"
Restart-Computer
请注意,必须在输入 Add-Computer 命令后提供域帐户凭据。 使用 CORP\<ADMIN_NAME> 帐户名和密码。
重启 SharePoint 虚拟机后,使用 CORP\<ADMIN_NAME> 帐户名和密码重新连接到它。
新建 SharePoint 场
在“开始”屏幕中键入 SharePoint,然后单击“SharePoint 2016 产品配置向导” 。
在“欢迎使用 SharePoint 产品”页上,单击“下一步”。
显示" SharePoint 产品配置向导"对话框,警告将重新启动或重置服务(如 IIS)。 单击" 是"。
在" 连接到服务器场"页上,单击" 创建新服务器场",然后单击" 下一步"。
在“指定配置数据库设置”页上:
在“数据库服务器”中,键入 sqlVM。
在“用户名”中键入 CORP\sp_farm_db。
在“密码”中,键入 sp_farm_db 帐户密码。
单击“下一步”。
如果找不到 sqlVM 服务器,请确保在 sqlVM 的管理员级别的 Windows PowerShell 命令提示符中运行此命令:
New-NetFirewallRule -DisplayName "SQL Server ports 1433, 1434, and 5022" -Direction Inbound -Protocol TCP -LocalPort 1433,1434,5022 -Action Allow
在" 指定服务器场安全设置"页上,键入密码两次。 记下此密码并将其存储到安全位置以供将来参考。 单击" 下一步"。
在" 指定服务器角色"页的" 单服务器场"中,单击" 单服务器场",然后单击" 下一步"。
在" 配置 SharePoint 管理中心 Web 应用程序"页上,单击" 下一步"。
显示" 正在完成 SharePoint 产品配置向导"页。 单击" 下一步"。
显示" 配置 SharePoint 产品"页。 等待,直到完成配置过程。
在" 配置成功"页上,单击" 完成"。 启动新的管理网站。
在" 帮助改善 SharePoint"页上,单击你的选择以参加客户体验改善计划,然后单击" 确定"。
在" 欢迎"页中,单击" 启动向导"。
在" 服务应用程序和服务"页的" 服务帐户"中,单击" 使用现有托管帐户",然后单击" 下一步"。 可能需要几分钟才能显示下一页。
在" 创建网站集"页上的" 标题"中,键入 Contoso,然后单击" 确定"。
在" 这将完成场配置向导"页上,单击" 完成"。 显示 SharePoint 管理中心网页。
在 Internet Explorer 中打开新选项卡,在地址栏中键入 http://spvm/,然后按 Enter。 You should see the default Contoso team site.
接下来配置备用访问映射,以便 Internet 用户可以使用分配给 spVM 虚拟机的公用 IP 地址的 DNS 名称访问 SharePoint Server。
配置备用访问映射
- 在本地计算机的 Azure PowerShell 提示符中,运行以下命令:
Write-Host (Get-AzPublicIpaddress -Name "spVM-PIP" -ResourceGroup $rgName).DnsSettings.Fqdn
请注意 DNS 名称。
在 spVM 虚拟机的 Internet Explorer 中,单击" 主页 - 管理中心"选项卡。
在" 系统设置"部分,单击" 配置备用访问映射"。
在" 备用访问映射"页上,单击" 编辑公用 URL"。
在" 编辑公用区域 URL"页上,单击" 备用访问映射集"旁边的链接,然后单击" 更改备用访问映射集"。
在" 选择备用访问映射集"中,单击" SharePoint - 80"。
在 “编辑公用区域 URL ”页上的 Internet 中,键入 http://< 步骤 2> 中的 DNS 名称,然后单击“ 保存”。
以下是第 3 阶段的结果。
在本地计算机上的浏览器中,访问 spVM 虚拟机> http:// <DNS 名称。 当凭据提示时,请使用 CORP\<ADMIN_NAME> 帐户名和密码。 你会看到默认 Contoso 团队网站。
后续步骤
准备好在 Azure 中设计生产 SharePoint Server 场时,请参阅 在 Azure 中设计 SharePoint Server 场。
准备好在 Azure 中部署生产就绪的高可用性 SharePoint Server 2016 场时,请参阅 在 Azure 中使用 SQL Server Always On 可用性组部署 SharePoint Server。
若要开始开发低信任或高信任加载项,必须先配置应用域。 请参阅 为 SharePoint Server 的应用配置环境。
在场中停止和启动虚拟机
Azure 虚拟机在运行时会持续产生费用。 为了帮助最大程度地降低 SharePoint Server 开发/测试环境的成本,请使用以下命令停止虚拟机:
$rgName="<your resource group name>"
Stop-AzVM -Name spVM -ResourceGroupName $rgName -Force
Stop-AzVM -Name sqlVM -ResourceGroupName $rgName -Force
Stop-AzVM -Name adVM -ResourceGroupName $rgName -Force
若要重新启动,请使用以下命令:
$rgName="<your resource group name>"
Start-AzVM -Name adVM -ResourceGroupName $rgName
Start-AzVM -Name sqlVM -ResourceGroupName $rgName
Start-AzVM -Name spVM -ResourceGroupName $rgName
另请参阅
概念
SharePoint 2013 和 SharePoint 2016
其他资源
在 Azure 中设计 SharePoint Server 场