安装指南

本文档涉及网站、虚拟机、服务管理门户和服务管理 API,提供有关服务管理门户和 API 以及网站组件的分步安装说明。

环境拓扑

服务管理门户网站和 API

服务管理门户和 API 包含以下组件:

  1. 服务管理管理员网站 - 管理员可以在此网站创建网站云、虚拟机云,编制计划以及管理用户订阅。

  2. 服务管理租户网站 - 用户可以在此网站注册和创建网站、虚拟机以及数据库。

  3. 服务管理 API - 该 API 层通过统一接口将管理服务(如网站、虚拟机和应用程序数据库)的功能公开给管理员网站和租户网站。服务管理 API 包含 3 个不同的接口:

    • 服务管理管理员 API – 公开从服务管理管理员网站或通过使用 PowerShell cmdlet 完成管理任务的功能。

      备注

      建议将管理员 API 安装到位于防火墙后面的计算机或无法从 Internet 访问的计算机,因为服务管理管理员 API 用于执行基础结构级管理任务。

    • 服务管理租户 API – 允许最终用户或租户管理和配置他们所订阅的计划中包含的云服务。

      备注

      建议将租户 API 安装到位于防火墙后面的计算机或无法从 Internet 访问的计算机,因为它可以执行一些关键操作,如创建/删除订阅和跨订阅操作资源。

    • 服务管理租户公共 API – 允许最终用户管理和配置他们所订阅的计划中包含的云服务。租户公共 API 设计用于满足向主机托管服务提供商订阅各种服务的最终用户的所有需要。

      备注

      建议将租户公共 API 安装到最终用户可从 Internet 访问的计算机。

备注

在 Web 平台安装程序中可以使用“服务管理门户和服务管理 API (快速)”选项在单独计算机上安装服务管理网站和 API。还可以执行分布式安装,即在不同计算机上安装各种组件,这可以提高规模和吞吐量。

网站角色

  • 网站控制器 - 设置和管理网站角色的 Web 场框架 (WFF) 的增强版本。

  • 网站 REST API - 通过 REST 终结点公开的网站管理 API。

  • Web 辅助进程 - 处理客户端 Web 请求的 IIS Web 服务器的网站特定版本。Web 辅助进程可以为“共享”或“保留”。

  • 前端 - 应用程序请求路由 (ARR) 的网站特定版本,它接受客户端的 Web 请求、将请求路由到 Web 辅助进程并将 Web 辅助进程响应返回给客户端。

  • 发布服务器 - WebDeploy 和 FTP 的网站特定版本,它为 WebMatrix、Visual Studio 和 FTP 客户端提供透明的内容发布功能。

  • 文件服务器 - 提供承载网站内容的文件服务。

重要

在将网站角色添加到计算机前,请确保计算机的防火墙设置允许以下服务的入站访问:

  • Windows Management Instrumentation (WMI-In)

  • Windows Management Instrumentation (DCOM-In)

  • 文件和打印机共享 (SMB-In)

数据库

  • SQL Server - 可以创建独立的 SQL 数据库以及为需要 SQL 数据库的网站创建数据库。

  • MySQL Server - 可以创建独立的 MySQL 数据库或者为需要 MySQL 数据库的网站创建数据库。

虚拟机

  • 虚拟机管理器 (VMM) - 提供创建虚拟机、虚拟网络、模板和磁盘的功能。

  • Service Provider Foundation (SPF) - 通过 REST API 公开虚拟机管理器功能。

备注

本安装指南不涉及虚拟机管理器和 SPF 的部署。有关部署虚拟机功能的信息,请参阅“System Center 2012 SP1 安装指南”。

服务管理安装体系结构

虚拟机/系统要求

服务管理门户和 API 以及网站组件设计用于至少在 7 台计算机上运行(这些计算机可以是虚拟机)。除了这些计算机之外,要求在数据中心中有一个或多个运行 Microsoft SQL Server 和 MySQL Server 的服务器。

SQL Server、MySQL Server 和文件服务器可以相互共存,但是 Hyper-V 主机不应与其他网站角色安装在同一虚拟机上。使用单独的 SQL Server 计算机或同一 SQL Server 计算机上的单独 SQL 实例来隔离网站配置数据库与用户/网站数据库。

命名约定

我们建议对每台计算机使用描述性计算机名称,如:

  • SvcMgmtPortal - 用于快速安装

  • SvcMgmtAdmin、SvcMgmtTenant、SvcMgtAdminAPI、SvcMgtTenantAPI、SvcMgtTenPubAPI - 用于分布式安装

  • SitesController – 网站云控制器

  • SitesRESTAPI – 网站云 REST API 层

  • SitesFE – 网站云前端

  • SitesPublisher – 网站云发布服务器

  • SitesWWS – 网站云共享的 Web 辅助进程

  • SitesWWR – 网站云保留的 Web 辅助进程

  • FileServer – 网站云文件服务器

内存

对于服务管理门户和 API,如果

  • 使用快速安装方式在同一计算机上安装全部三个组件,则计划至少预留 8GB RAM。

  • 如果使用分布式安装方式分别安装在三台计算机上,则为每台计算机预留 4GB RAM。

对于网站角色计算机,至少为每个角色分配 4GB RAM。

不要使用动态内存。

磁盘空间

  • 至少为每台计算机分配 Windows Server 2012 操作系统所需的最小磁盘空间。

  • 对于“文件服务器”角色,请为用户生成的网站内容分配足够的磁盘空间。

软件要求

  • Windows Server 2012 操作系统

  • 下载 Web 平台安装程序 (WebPI)

  • 使用 WebPI 按顺序安装以下项:

    • IIS 建议的配置

    • .NET Framework 3.5 SP1

    • .NET Framework 4.5

  • 通过服务器管理器为管理员禁用 IE ESC。

  • 所有可用的 Windows 和 .NET 更新。

重要

请按照上述顺序进行安装,以便正确地注册 .NET framework 程序集。

网络环境

按以下所述配置运行网站角色的计算机的 Intranet 和 Internet 访问。

  • 来自 Internet 的入站访问 – 应可从 Internet 访问以下角色:

    • 前端 – 以接受网站的客户端请求。

    • 发布服务器 – 以接受来自 WebMatrix 和 FTP 客户端等发布工具的请求。

    其他网站角色不需要入站 Internet 访问,因为它们不直接处理最终用户请求。

  • 到 Internet 的出站访问 - 所有网站虚拟机(包括 Web 辅助进程)具有出站 HTTP Web 访问功能很重要,以便在安装角色时下载软件依赖项。网站要求服务器具有透明的 Internet 出站访问功能。仅限 Web 代理访问不能满足要求。

网站 UAC

在每个网站角色上,必须按以下所述方式禁用 UAC:

  • 在每台计算机上,从提升权限的命令提示符运行以下命令:

    %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

  • 重新启动计算机。

    备注

    如果您在远程网站云角色计算机上以具有管理员权限的用户身份登录,则可以通过从提升权限的命令提示符运行以下命令在远程计算机上禁用 UAC:

    %windir%\System32\cmd.exe /k %windir%\System32\reg.exe ADD \\<machine_name>\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

    使用远程 Web 服务器云角色计算机的名称替换 <machine_name> 以在远程计算机上禁用 UAC。

环境要求

公共 DNS 映射

默认情况下,在默认域下创建网站。创建网站后,用户可以将自定义域名添加到每个网站。尽管租户网站可以配置为支持自定义域,但是网站不更新自定义 DNS 记录。

对于指定的域(如 MyCloud.com),您将创建以下 DNS A 记录:

主机名

IP

*

前端服务器

ftp

发布服务器

publish

发布服务器

www

服务管理租户门户

@(或空)

服务管理租户门户

此映射方案将允许用户登录到 http://www.mycloud.comhttp://mycloud.com 来管理其网站。这两个主机名映射到用户和管理员用于管理该软件的门户网站。这些门户将在本指南的后面进行介绍。

在此配置中,最初使用子域(如 site1.mycloud.com、site2.mycloud.com 等)创建用户创建的网站。

通过 Web 部署和 FTP 进行的内容发布分别使用 publish.mycloud.com 和 ftp.mycloud.com。通过 git 进行的内容发布使用 *.scm.mycloud.com。

备注

对于此部署,不要求使用特定域。您可以使用现有域下的子域,例如 my.yourdomain.com。

文件共享准备(可选)

如果使用独立的 Windows 文件服务器,则不需要进行文件服务器准备,该准备工作将在安装期间自动执行。

但是,如果使用文件服务器群集或 NAS 设备,必须创建以下共享:

  • 内容共享 – 包含租户网站内容。

  • 证书共享 – 包含租户自定义证书。

此外,您需要创建具有以下权限的用户:

用户

内容共享权限

证书共享权限

FileShareOwner

读/写

读/写

FileShareUser

读/写

CertificateShareUser

读/写

备注

网站使用不依赖每个网站文件共享权限的新安全技术。这允许网站使用异类文件存储实现(如 NAS 设备)。

在 Windows 文件服务器或群集上,请使用以下命令在文件服务器上安装“文件服务”角色和“文件服务器资源管理器”角色服务:

  • PowerShell.exe Enable-PSRemoting –Force

  • %windir%\system32\dism.exe /online /enable-feature /featurename:FSRM-Management /featurename:FSRM-Infrastructure

角色帐户准备

在角色上创建以下帐户以允许角色间通信:

用户名

文件服务器

发布服务器

Rest API

前端

FileShareUser

X

X

FileShareOwner

X

X

CertificateShareUser

X

X

备注

创建这些用户帐户时,确保应用以下选项:

  • “用户下次登录时须更改密码”未选中。

  • “用户不能更改密码”已选中。

  • “密码永不过期”已选中。

  • 如果使用本地(非 Active Directory)帐户,密码必须在各种角色上匹配。

SQL 和 MySQL

如果您没有 SQL 或 MySQL Server 的实例,可以在某台服务管理门户和 API 计算机上安装 SQL Server Express 或 MySQL 5.1。为了确保良好的性能,建议在单独的计算机上安装 SQL Server 和 MySQL。

使用 WebPI 安装 SQL Server Express

  1. 启动 Web 平台安装程序。

  2. 单击“产品”,然后选择“数据库”。单击“SQL Server Express 2008 R2”、“SQL Server 2008 R2 管理对象”和“SQL Server 2008 R2 Management Studio Express with SP1”旁边的“添加”按钮,然后单击“安装”。

    服务管理 SQL Express 安装(使用 WebPI)

  3. 输入 sa 帐户的密码,重新键入该密码,然后单击“继续”。

    服务管理 SQL Express 安装(使用 Web)

  4. 接受许可协议。Web 平台安装程序将安装 SQL Server Express。

安装 MySQL Server

  1. 启动 Web 平台安装程序。

  2. 单击“产品”,选择“数据库”,单击“MySQL Windows 5.1”旁边的“添加”,然后单击“安装”。

    服务管理 My SQL Server 安装

  3. 输入 root 帐户的密码,然后单击“继续”。

    服务管理 My SQL Server 安装

    MySQL for Windows 5.1 将完成安装。

SQL Server/SQL Server Express 准备

确保可以远程访问用于存储网站配置数据库的 SQL Server 以及每个用户/每个网站数据库。

  1. 测试所有虚拟机之间的 IP 连接性和名称解析。

  2. 确保 SQL Server 已启用远程访问。

  3. 确保 SQL Server 已启用混合模式身份验证。

  4. 在 SQL Server 计算机上启用 TCP 协议。

    1. 对于 SQL Server,按 https://technet.microsoft.com/zh-cn/library/ms191294.aspx 中所述的步骤操作。

    2. 对于 SQL Server Express,使用 SQL Server 配置管理器更新 TCP 端口。单击“开始”、“所有程序”、“Microsoft SQL Server 2008 R2”、“配置工具”、“SQL Server 配置管理器”以打开 SQL Server 配置管理器。然后导航到“MSSQLSERVER 的协议”,单击 TCP/IP 协议。确保启用了 TCP/IP 协议。

    3. 导航到“IP 地址”选项卡并滚动到“IPAll”。将 TCP 端口更新为 1433 并确保禁用了 TCP 动态端口。

      服务管理 SQL Server 准备

    4. 重新启动 SQL Server (SQLEXPRESS) 服务。

  5. 为数据库引擎访问配置 Windows 防火墙:

    1. https://technet.microsoft.com/zh-cn/library/ms175043.aspx 中所述将 TCP 端口 1433 添加到“入站”规则。

    2. 将 SqlBrowser.exe (c:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe) 添加到“入站”规则。

  6. 如果任何 SQL Server 实例在非“默认”SQL Server 实例中运行,则启用 SQL Server Browser 服务。如果 Sql 连接字符串除了指定计算机名称外还指定 SQL Server 实例(例如 YourSqlServerMachine\SqlExpress),则必须运行 SQL Server Browser 服务。

MySQL Server 准备

确保 MySQL Server 可访问。

  1. 测试 IP 连接性和名称解析。

  2. 为运行 MySQL 的每台计算机在 Windows 防火墙上打开 TCP 3306“入站”。

  3. 允许远程访问 MySQL:

    备注

    将密码更新为在安装时使用的 root 密码。以下命令假定 root 密码为 Pass@word1$

    1. 确保在提升权限的命令提示符下输入以下命令:

      C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -p

      Enter password: **********

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Pass@word1$' WITH GRANT OPTION; FLUSH PRIVILEGES;

      use mysql;

      update user set grant_priv='Y' where user='root';

    2. 验证已执行 update user 命令,然后键入以下命令:

      exit;

    3. 使用服务器管理器重新启动 MySQL 服务,或从提升权限的命令提示符下键入以下命令:

      net stop mysql

      net start mysql