兼容性
版本 | 说明 |
---|---|
IIS 7.5 | FTP 7.5 服务作为 Windows 7 和 Windows Server 2008 R2 中 IIS 7.5 的功能提供。 |
IIS 7.0 | FTP 7.0 和 FTP 7.5 服务是 IIS 7.0 带外提供的,需要从以下 URL 下载和安装该服务:https://www.iis.net/downloads/microsoft/ftp。 |
介绍
Microsoft 创建了一个新的 FTP 服务,该服务针对 Windows Server® 2008 完全重新编写。 这种新的 FTP 服务包含许多新功能,使 Web 作者能够比以前更好地发布内容,并为 Web 管理员提供了更多的安全性和部署选项。
新 FTP 服务的功能之一是能够配置虚拟主机名,使 Web 托管商能够在单个 IP 地址上配置多个 FTP 站点。 本文档将指导你通过两种方式创建两个具有唯一虚拟主机名的 FTP 站点:使用新的 FTP 用户界面和通过直接编辑 IIS 7.0 配置文件。 该结构包含:
注意
本演练包含使用本地用户帐户登录 FTP 站点的一系列步骤。
先决条件
必须安装以下项才能完成本文中的过程:
必须在 Windows Server 2008 上安装 IIS 7.0,并且必须安装 Internet Information Services 管理器。
新的 FTP 服务。 可以使用以下链接之一从 https://www.iis.net/ 网站下载并安装 FTP 服务:
- FTP 7.5 for IIS 7.0 (x64)
- FTP 7.5 for IIS 7.0 (x86)
需要为 FTP 站点创建根文件夹:
%SystemDrive%\inetpub\www.example.com
%SystemDrive%\inetpub\www.contoso.com
使用 IIS 7.0 管理器创建两个基于主机名的 FTP 站点
步骤 1:使用 FTP 站点向导创建第一个 FTP 站点
在这第一个步骤中,我们将使用唯一的虚拟主机名创建新的 FTP 站点。
打开 Internet Information Services (IIS) 管理器。 在“连接”窗格中,单击树中的“站点”节点。
右键单击树中的“站点”节点,单击“添加 FTP 站点”,或者单击“操作”窗格中的“添加 FTP 站点”。
显示“添加 FTP 站点”向导时:
在“FTP 站点名称”框中输入
www.example.com
。导航到在“先决条件”部分中创建的
%SystemDrive%\inetpub\www.example.com
文件夹。注意
如果选择键入内容文件夹的路径,可以在路径中使用环境变量。
单击 “下一步” 。
在向导的下一页:
从“IP 地址”下拉菜单中选择 FTP 站点的 IP 地址,或者选择接受默认选择“所有未分配”。
通常你会在“端口”框中输入 FTP 站点的 TCP/IP 端口。 对于本演练,请选择接受默认端口 21。
在“虚拟主机”框中输入
www.example.com
。确保 SSL 证书 下拉列表设置为“未选择”,并且 已选择“无 SSL ”或 “允许 SSL ”选项。
单击 “下一步” 。
在向导的下一页:
在“身份验证”设置中选择“基本”。
在“授权”设置中:
- 在“允许以下对象访问”下拉列表中,选择“指定的用户”。
- 在以下字段中输入本地用户的用户名;例如,可以键入“MyUser”。
- 在“权限”选项中,选择“读取”和“写入”。
单击“完成”。
总结
你使用新的 FTP 服务成功新建了 FTP 站点。 回顾在此步骤中完成的项:
- 你创建了一个名为
www.example.com
的新 FTP 站点,该站点的内容根目录位于%SystemDrive%\inetpub\www.example.com
。 - 你将 FTP 站点作为虚拟主机名绑定到了
www.example.com
。 - 你启用了基本身份验证,并为本地用户帐户创建了读写访问授权规则。
步骤 2:使用 FTP 站点向导创建第二个 FTP 站点
在这第二个步骤中,我们将使用唯一的虚拟主机名创建另一个新的 FTP 站点。
打开 Internet Information Services (IIS) 管理器。 在“连接”窗格中,单击树中的“站点”节点。
右键单击树中的“站点”节点,单击“添加 FTP 站点”,或者单击“操作”窗格中的“添加 FTP 站点”。
显示“添加 FTP 站点”向导时:
在“FTP 站点名称”框中输入
www.contoso.com
。导航到在“先决条件”部分中创建的
%SystemDrive%\inetpub\www.contoso.com
文件夹。注意
如果选择键入内容文件夹的路径,可以在路径中使用环境变量。
单击 “下一步” 。
在向导的下一页:
- 从“IP 地址”下拉菜单中选择 FTP 站点的 IP 地址,或者选择接受默认选择“所有未分配”。
- 通常你会在“端口”框中输入 FTP 站点的 TCP/IP 端口。 对于本演练,请选择接受默认端口 21。
- 在“虚拟主机”框中输入
www.contoso.com
。 - 确保 SSL 证书 下拉列表设置为“未选择”,并且 已选择“无 SSL ”或 “允许 SSL ”选项。
- 单击 “下一步” 。
在向导的下一页:
在“身份验证”设置中选择“基本”。
在“授权”设置中:
- 在“允许以下对象访问”下拉列表中,选择“指定的用户”。
- 在以下字段中输入本地用户的用户名;例如,可以键入“MyUser”。
- 在“权限”选项中,选择“读取”和“写入”。
单击“完成”。
总结
你使用新的 FTP 服务成功新建了 FTP 站点。 回顾在此步骤中完成的项:
- 你创建了一个名为
www.contoso.com
的新 FTP 站点,该站点的内容根目录位于%SystemDrive%\inetpub\www.contoso.com
。 - 你将 FTP 站点作为虚拟主机名绑定到了
www.contoso.com
。 - 你启用了基本身份验证,并为本地用户帐户创建了读写访问授权规则。
步骤 3:登录到 FTP 站点
在步骤 1 和步骤 2 中,你使用唯一的虚拟主机名创建了两个 FTP 站点,并配置了安全设置,以便仅允许管理员帐户登录。 在此步骤中,你将使用管理员帐户登录。
注意
在此步骤中,你将使用本地管理员帐户登录到 FTP 站点。 在步骤 1 和 2 中创建 FTP 站点时,我们将 FTP 站点绑定到了本地环回 IP 地址。 如果未使用本地环回地址,请使用 SSL 来保护帐户设置。 如果你偏好使用单独的用户帐户而不是管理员帐户,请为该用户帐户设置相应文件夹的正确权限。
使用本地用户帐户登录到第一个 FTP 站点
在 FTP 服务器上,打开命令提示符会话。
键入以下命令连接到 FTP 服务器;例如,可以键入以下内容:
FTP www.example.com
当系统提示你输入用户名时,请输入
www.example.com
虚拟主机名,后接竖线 (|) 字符。 例如:www.example.com|MyUser
当系统提示你输入密码时,请输入本地用户帐户密码。
现在应以本地用户帐户登录到
www.example.com
FTP 站点。
使用本地用户帐户登录到第二个 FTP 站点
在 FTP 服务器上,打开命令提示符会话。
键入以下命令连接到 FTP 服务器;例如,可以键入以下内容:
FTP www.contoso.com
当系统提示你输入用户名时,请输入
www.contoso.com
虚拟主机名,后接竖线 (|) 字符。 例如:www.contoso.com|MyUser
当系统提示你输入密码时,请输入本地用户帐户密码。
现在应以本地用户帐户登录到
www.contoso.com
FTP 站点。
通过编辑 IIS 7.0 配置文件创建虚拟主机 FTP 站点
还可以通过编辑 IIS 7.0 配置文件为新 FTP 服务创建 FTP 站点。
注意
编辑 applicationHost.config 文件需要完整的管理权限。 使用以下两种方法之一:
- 使用本地“管理员”帐户登录到计算机。
或
- 如果已使用具有管理员权限但不是本地“管理员”帐户的帐户登录,请使用“作为管理员运行”选项打开记事本。
注意
必须执行上述其中一步操作,因为 Windows Vista 和 Windows Server 2008 操作系统中的用户帐户控制 (UAC) 安全组件会阻止访问 applicationHost.config 文件。 有关 UAC 的详细信息,请参阅用户帐户控制文章。
以下步骤将引导你完成从头开始创建新 FTP 站点所需的所有设置。
使用文本编辑器(例如 Windows 记事本)打开 applicationHost.config 文件,该文件默认位于
%SystemRoot%\System32\inetsrv\config
文件夹中。找到
<sites>
部分。 使用如下所示的语法在<sites>
中添加第一个 FTP 站点。注意
如果有任何站点当前正在使用该站点标识符,你可能需要为站点 ID 选择其他数字而不是“2”。
<site name="www.example.com" id="2"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\www.example.com" /> </application> <bindings> <binding protocol="ftp" bindingInformation="127.0.0.1:21:www.example.com" /> </bindings> <ftpServer> <security> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" /> <authentication> <basicAuthentication enabled="true" /> </authentication> </security> </ftpServer> </site>
使用如下所示的语法在
<sites>
中添加第二个 FTP 站点。注意
如果有任何站点当前正在使用该站点标识符,你可能需要为站点 ID 选择其他数字而不是“3”。
<site name="www.contoso.com" id="3"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\www.contoso.com" /> </application> <bindings> <binding protocol="ftp" bindingInformation="127.0.0.1:21:www.contoso.com" /> </bindings> <ftpServer> <security> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" /> <authentication> <basicAuthentication enabled="true" /> </authentication> </security> </ftpServer> </site>
滚动到 applicationHost.config 文件的底部,为 FTP 站点添加包含授权设置的位置部分。
注意
如本示例所示,FTP 站点的授权设置是按 URL 配置的,这些设置专门为本地用户帐户启用读/写权限。
<location path="www.example.com"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="MyUser" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location> <location path="www.contoso.com"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="MyUser" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location>
保存 applicationHost.config 文件。
现在你应该能够使用 FTP 客户端登录到新建的 FTP 站点。 有关更多详细信息,请参阅本演练的步骤 3:登录到 FTP 站点部分。
总结
回顾在此步骤中完成的项:
你创建了名为
www.example.com
和www.contoso.com
的两个 FTP 站点,这些站点各自的内容根目录位于:%SystemDrive%\inetpub\www.example.com
%SystemDrive%\inetpub\www.contoso.com
。
你使用
www.example.com
和www.contoso.com
作为虚拟主机名,将两个 FTP 站点绑定到了计算机端口 21 上的本地环回 IP 地址。你启用了基本身份验证,并为每个站点的本地用户帐户创建了读写访问授权规则。