规划以主机命名的网站集 (Office SharePoint Server)

本文内容:

  • 关于以主机命名的网站集

  • 创建以主机命名的网站集

  • 应用主机头

  • 配置以主机命名的网站集

  • 通过 HTTP 和 HTTPS 公开以主机命名的网站

Microsoft Office SharePoint Server 2007 既支持以主机命名的网站集,也支持基于路径的网站集。以主机命名的网站集提供了一个可伸缩的宿主解决方案,其中每个网站集都有不同的主机名。这意味着以主机命名的网站集具有单一主机名 URL。通过部署以主机命名的网站集,您可以将 WINS 或 DNS 条目映射到 Web 应用程序中的网站集。

基于路径的网站集提供了一个企业宿主解决方案,其中每个 Web 应用程序都有不同的主机名。在基于路径的部署中,网站集映射到从属于 Web 应用程序的管理路径。基于路径的网站集和以主机命名的网站集可以存在于相同的 Web 应用程序中,并且 Web 应用程序可以包含数千个网站集。

基于路径的网站集支持包含若干不同区域的备用访问映射,其中每个区域都可以具有不同的 WINS 映射 URL 或 DNS 映射 URL。

关于以主机命名的网站集

以主机命名的网站集使 Office SharePoint Server 2007 能够使用主机头名称(而不是路径)来确定用户访问的网站集和响应用户请求时返回的内容。通过创建以主机命名的网站集,您将能够为用户承载具有虚拟 URL 的多个网站集。每次添加以主机命名的网站集时,都必须手动添加以主机命名的网站集的 URL 作为 Office SharePoint Server 2007 搜索的起始地址,这样,Office SharePoint Server 2007 搜索将能够对以主机命名的网站集进行爬网。

有关使用表单身份验证配置以主机命名的网站集的信息,请参阅Prepare to crawl host-named sites that use forms authentication

有关使用基本身份验证配置以主机命名的网站集的信息,请参阅Prepare to crawl host-named sites that use Basic authentication

利用以主机命名的网站集,您能够在一个 Web 应用程序内创建多个根级别网站集。例如,托管组织的管理员使用以主机命名的网站集创建多个以域命名的网站。Office SharePoint Server 2007 允许单一 Web 应用程序中有多个域。在 Windows SharePoint Services 2.0 中,这称为可伸缩宿主模式。可伸缩宿主模式支持放置多个域(例如 http://www.adatum.com、https://www.contoso.com 等)作为同一 Web 应用程序内的单独网站集。在 Office SharePoint Server 2007 中,以主机命名的网站集提供了同样的可伸缩宿主功能。

如果需要支持对应于多个主机名 URL 的基于路径的网站集,请考虑使用备用访问映射,而不是以主机命名的网站集。有关备用访问映射的详细信息,请参阅规划备用访问映射 (Office SharePoint Server)

您可以在多个 Web 应用程序上使用以主机命名的网站集。可以使用 Office SharePoint Server 2007 扩展多个 IIS 网站。以主机命名的网站集支持门户网站。

创建以主机命名的网站集

您可以通过使用 stsadm.exe 命令行工具来创建新网站。不能使用 Office SharePoint Server 2007 管理中心 Web 应用程序来创建以主机命名的网站集。

使用 stsadm.exe createsite 命令来创建网站集,并向该操作中添加以下参数,以指示该网站集应以主机命名,而不是基于路径:

-hhurl <Web application URL>

例如,如果有名为 www.contoso.com 的 Web 应用程序,并且想要添加 URL 为 http://hoster.contoso.com 的以主机命名的网站集,请使用以下命令:

stsadm.exe -o createsite
-url http://hoster.contoso.com
-ownerlogin contoso\siteowner
-owneremail siteowner@contoso.com
-hhurl https://www.contoso.com

Internet 服务提供商 (ISP) 配置其 DNS 服务器以将 http://hoster.contoso.com 与相应的 IP 地址相关联。为了进行测试,您可以编辑 \system32\drivers\etc\hosts 文件,以便将以主机命名的网站集与运行 Office SharePoint Server 2007 的服务器的 IP 地址相关联。配置了这一点后,您可以转到 http://hoster.example.com 来访问您的网站。

如果要在创建了以主机命名的网站集后更改其 URL,请使用以下命令:

stsadm.exe -o renamesite

Office SharePoint Server 2007 修补程序中提供了此命令。有关使用 stsadm.exe -o renamesite 命令的详细信息,请参阅 Renamesite:Stsadm 操作 (Office SharePoint Server)

当创建配置数据库时,您不必指定是否要使用以主机命名的网站集。您可以在创建网站集时指定网站集应以主机命名还是应基于路径。

除了使用命令行工具来创建以主机命名的网站外,您还可以使用 Office SharePoint Server 2007 对象模型。下面的代码示例创建同一个网站 http://hoster.contoso.com:

SPWebApplication webApp = SPWebApplication.Lookup(new
Uri("https://www.contoso.com"));
SPSiteCollection sites = webApp.Sites;
SPSite Site = null;
Site = sites.Add("http://hoster.contoso.com", "Site_Title",
"Site_Description", 1033, "STS#0", "contoso\owner",
"Owner_Display_Name", "Owner_Email", "contoso\secondaryowner,
"Secondary_Owner_Display_Name", "Secondary_Owner_Email", true);

应用主机头

您可以在两个不同级别应用主机头:

  • Web 应用程序(IIS 网站)级别

  • 网站集级别

大多数情况下,如果在 Web 应用程序级别应用主机头,将无法访问以主机命名的网站集。这是因为:对于主机名与 IIS 中的设置不同的请求,IIS 将不会作出响应。但是,如果配置没有主机头的默认区域的 IIS 网站,并且仅将主机头应用于其他区域中的 IIS 网站,则您可以访问以主机命名的网站集。这样,您将能够使用包含以主机命名的网站集(这些网站集被视为位于默认区域中)的默认区域,同时允许您在其他区域中对基于路径的网站集使用备用访问映射功能。

在 Web 应用程序(IIS 网站)级别应用主机头:

  1. 单击“开始”,指向“所有程序”,再指向“Microsoft Office Server”,然后单击“SharePoint 3.0 管理中心”。

  2. 在管理中心主页上单击“应用程序管理”。

  3. 在“应用程序管理”页上的“SharePoint Web 应用程序管理”部分,单击“创建或扩展 Web 应用程序”。

  4. 在“创建或扩展 Web 应用程序”页上的“添加 SharePoint Web 应用程序”部分,单击“新建 Web 应用程序”。

  5. 在“新建 Web 应用程序”页上的“IIS 网站”部分的“主机头”框中,通过键入要用于访问 Web 应用程序的 URL,为新 Web 应用程序配置主机头。

主机头值指定要为 IIS 网站创建的绑定,并确保 IIS 仅对发送到指定主机头的请求作出响应。您可以通过 IIS 管理器手动修改 IIS 绑定,但不建议这样做。使用 IIS 管理器进行的任何更改都不会影响 Office SharePoint Server 2007。如果 Office SharePoint Server 2007 尝试在同一 Web 应用程序和区域的服务器场中另一台计算机上设置 IIS 网站,则使用在“新建 Web 应用程序”页上指定的绑定。如果要修改 IIS 网站的现有绑定,请从区域中移除 Web 应用程序,然后将 Web 应用程序重新扩展到包含想要使用的绑定的区域中。

配置以主机命名的网站集

Office SharePoint Server 2007 附带了一组用于不同用户和管理任务的 Web 服务。其中一个管理任务是创建新网站。CreateSite Web 方法不支持创建以主机命名的网站集。解决此问题的方法是编写封装 API 示例代码的 Web 服务。

在设置新的 Office SharePoint Server 2007 网站时,还要考虑若干其他配置选项。在网站创建过程中指定相应的网站模板将确定新网站上有哪些预先配置的 Web 部件和其他用户界面元素。在托管方案中,您将可能需要选择工作组网站模板(创建网站时值为“STS#0”),或没有任何 Web 部件或预建列表的空白网站(值为“STS#1”)。

在宿主环境中,请考虑在每个新设置的 Office SharePoint Server 2007 网站上指定网站配额。尽管示例 Web 服务中未包括对网站配额模板的支持,但您可以添加网站配额,并使用它们基于预先确定的限制创建网站配额模板。

使用 SQL 身份验证创建以主机命名的网站集

在托管方案中使用 SQL 成员资格提供程序时,需要进行一些额外的步骤才能正确配置和管理以主机命名的网站集。在创建任何网站时,您需要指定将成为网站所有者的用户。这意味着所有者已作为成员资格目录中的用户存在。若要简化此任务和其他 SQL 成员资格提供程序任务,请使用 MembershipSiteAdmin.exe 工具。

备注

有关下载 MembershipSiteAdmin.exe 工具的信息,请参阅SharePoint SQL 网站提供程序示例源代码 https://www.codeplex.com/SharePointHosters/Release/ProjectReleases.aspx?ReleaseId=5097

MembershipSiteAdmin.exe 是一种用于管理如何创建、删除网站和用户以及将它们映射到应用程序的命令行工具,可帮助执行以下任务:

  • 在 SQL 成员资格数据库中创建用户。

  • 在 SQL 成员资格数据库中删除用户。

  • 创建 Office SharePoint Server 2007 网站。

  • 删除 Office SharePoint Server 2007 网站。

  • 枚举与指定用户关联的所有应用程序,或检查用户在系统或任何其他应用程序中是否已存在。

创建或删除 Office SharePoint Server 2007 网站的过程由 stsadm.exe 执行。为了完成此操作,stsadm.exe 必须有可用的配置文件。MembershipSiteAdmin.exe 调用自定义存储过程和成员资格提供程序 API,并封装 stsadm.exe 工具。MembershipSiteAdmin.exe 通过调用以下自定义存储过程之一,将应用程序名称映射到 Office SharePoint Server 2007 网站的完全限定的域名 (FQDN):

  • aspnet_Sitemaps_CreateMapping 接受应用程序名称和 FQDN 作为输入

  • aspnet_Sitemaps_DeleteMapping 接受 FQDN 作为输入

您可以通过使用 ASP.NET 成员资格服务 API (System.Web.Security.Membership) 在 SQL 成员资格存储库中创建和删除用户。MembershipSiteAdmin.exe 调用 Membership.CreateUser 方法或 Membership.DeleteUser 方法来完成此过程。成员资格服务使用的提供程序是在 MembershipSiteAdmin.exe 的 App.config 文件 (MembershipSiteAdmin.exe.config) 中指定的。MembershipSiteAdmin.exe 使用传送 SQL 成员资格提供程序来执行这些任务,并指定应用程序名称以连接到用户。MembershipSiteAdmin.exe.config 文件应指向 stsadm.exe 文件的默认位置。如果将 Office SharePoint Server 2007 安装在另一个位置,您将需要更新此应用程序设置。请参阅 MembershipSiteAdmin.exe.config 文件的以下小节:

<appSettings>
<add key="stsadmPath"
      value="C:\Program Files\Common Files\Microsoft Shared\Web server
extensions\12\BIN\" />
</appSettings>

通过 HTTP 和 HTTPS 公开以主机命名的网站

如果在默认端口上创建网站集,您可以通过 HTTP 和 HTTPS 协议公开以主机命名的网站集。如果在任何其他端口上创建网站集,则每个单独的以主机命名的网站集可以只为 HTTP 或 HTTPS,具体情况取决于您随 createsite 命令的 -url 参数一起输入的 URL。您不能将以主机命名的网站集用于备用访问映射提供的高级 Extranet 方案,例如 SSL 终止。

通过分别为 HTTP 和 HTTPS 创建一个 Web 应用程序,您可以同时通过这两种协议获得搜索结果。搜索将使用分配给 Web 应用程序默认区域的公用 URL 的协议方案来确定以主机命名的网站集所使用协议方案的类型。如果希望能通过 HTTP 搜索以主机命名的网站集,请将其放在 HTTP Web 应用程序中。如果希望能通过 HTTPS 搜索以主机命名的网站集,请将其放在 HTTPS Web 应用程序中。

为以主机命名的网站集配置 HTTPS

在配置 HTTPS 之前,必须向 IIS 网站应用证书。因此,只能在 Office SharePoint Server 2007 中的 Web 应用程序级别配置 HTTPS。在托管方案中,主机托管服务提供商可以随 HTTPS 配置一个 Web 应用程序,然后在该 Web 应用程序内创建多个以主机命名的网站集。每个网站在技术上都共享一个证书。主机托管服务提供商需要获得通配符证书,然后使用以主机命名的网站集 URL 策略,该策略与通配符证书相匹配。例如,如果主机托管服务提供商获得 *.contoso.com 通配符证书,则该主机托管服务提供商必须生成诸如 https://site1.contoso.com、https://site2.contoso.com 等以主机命名的网站集 URL,才能使这些网站通过浏览器 SSL 验证。但是,如果要求为每个网站应用唯一的证书,则主机托管服务提供商必须创建多个 Web 应用程序。Web 应用程序不像 Office SharePoint Server 2007 中的网站集一样可伸缩。

若要为以主机命名的网站集配置 HTTPS,您必须在管理中心的“新建 Web 应用程序”页上启用 SSL。Office SharePoint Server 2007 会自动为 Web 应用程序分配一个端口号,但您可以手动指定其他端口号。

可以为帐户创建模式、Active Directory – 域帐户模式和 Active Directory 表单身份验证创建 HTTPS 网站。

创建了 Web 应用程序后,打开 IIS 管理器并分配证书。然后创建网站集,并在使用非默认端口的情况下确保为 stsadm.exe –o createsite 命令的 –url 和 –hhurl 参数都指定端口号,如以下示例中所示:

stsadm.exe –o createsite
–ownerlogin contoso\administrator
–owneremail administrator@contoso.com
–url https://www.hoster.contoso.com:443
–hhurl https://www.contoso.com:443

下载此书籍

本主题包含在以下可下载书籍内,以方便您阅读和打印:

有关可下载书籍的完整列表,请参阅 Office SharePoint Server 2007 的可下载书籍