FTP 仮想ホスト名の使用

作成者 : Robert McMurray
発行日 : 2008 年 1 月 22 日 (作業者 : pharr(英語))
更新日 : 2009 年 3 月 18 日 (作業者 : pharr(英語))

はじめに

Microsoft は、Windows Server® 2008 用に完全に書き換えられた、新しい FTP サービスを作成しました。この新しい FTP サービスには多くの新機能が組み込まれており、Web 作成者にはコンテンツの発行がしやすくなる環境を、Web 管理者にはより優れたセキュリティおよび展開オプションを提供します。

新しい FTP サービスの機能の 1 つとして仮想ホスト名の構成機能があります。この機能を利用することによって、1 つの IP アドレスに複数の FTP サイトを構成できます。このドキュメントでは、2 つの FTP サイトをそれぞれ一意の仮想ホスト名を使用して作成する方法について説明します。新しい FTP ユーザー インターフェイスを使用する方法、および IIS 7.0 構成ファイルを直接編集する方法の 2 とおりの手順を確認していきます。内容は次のとおりです。

  • 前提条件
  • IIS 7.0 マネージャーを使用したホスト名ベースの 2 つの FTP サイトの作成
  • IIS 7.0 構成ファイルの編集による新しい FTP サイトの作成

: このチュートリアルでは、ローカル管理者アカウントを使用して FTP サイトにログインする一連の手順を説明します。これらの手順は、必ず当該サーバー上でループバック アドレスを使用して実行するか、リモート サーバーから SSL を介して実行してください。管理者アカウントの代わりに別のユーザー アカウントを使用する場合は、必要に応じてそのための適切なフォルダーを作成し、そのユーザー アカウントに正しいアクセス許可を設定してください。

前提条件

この記事の手順を完了するには、次の項目をインストールする必要があります。

  1. Windows Server 2008 に IIS 7.0 がインストールされ、インターネット インフォメーション サービス マネージャーがインストールされている必要があります。
  2. 新しい FTP サービスがインストールされている必要があります。この FTP サービスは、https://www.iis.net/(英語) の Web サイトから次のリンクのいずれかを使用してダウンロードし、インストールできます。
  3. 次の FTP サイト用のルート フォルダーを作成する必要があります。
    • %SystemDrive%\inetpub\www.example.com
    • %SystemDrive%\inetpub\www.contoso.com

IIS 7.0 マネージャーを使用したホスト名ベースの 2 つの FTP サイトの作成

手順 1 : FTP Site ウィザードを使用した最初の FTP サイトの作成

この最初の手順では、一意の仮想ホスト名を使用して新しい FTP サイトを作成します。

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。[接続] ウィンドウで、ツリー内の [サイト] ノードをクリックします。
  2. ツリー内の [サイト] ノードを右クリックして [Add FTP Site] をクリックするか、または [操作] ウィンドウで [Add FTP Site] をクリックします。
    Dd939106.Using FTP Virtual Host Names - Figure 1(ja-jp,TechNet.10).jpg
  3. Add FTP Site ウィザードが表示されたら、次の手順を実行します。
    • [FTP site name] ボックスに「www.example.com」と入力します。
    • 「前提条件」セクションで作成した %SystemDrive%\inetpub\www.example.com フォルダーを指定します。注 : コンテンツ フォルダーへのパスを直接入力する場合、パスに環境変数を使用することができます。
    • [次へ] をクリックします。
      Dd939106.Using FTP Virtual Host Names - Figure 2(ja-jp,TechNet.10).jpg
  4. ウィザードの次のページで、下記の手順を実行します。
    • [IP Address] ボックスで FTP サイトの IP アドレスを選択します。または、既定で選択されている [All Unassigned] をそのまま使用することもできます。このチュートリアルでは、後述の手順で管理者アカウントを使用するため、サーバーへのアクセスを制限します。[IP Address] ボックスに、コンピューターのローカル ループバック IP アドレスである「127.0.0.1」を入力してください。
    • 通常は、[Port] ボックスに FTP サイトの TCP/IP ポートを入力します。このチュートリアルでは、既定のポート 21 をそのまま使用します。
    • [Virtual Host] ボックスに「www.example.com」と入力します。
    • [SSL Certificates] ボックスで [Not Selected] が選択され、[Allow SSL] オプションがオンになっていることを確認します。
    • [次へ] をクリックします。
      Dd939106.Using FTP Virtual Host Names - Figure 3(ja-jp,TechNet.10).jpg
  5. ウィザードの次のページで、下記の手順を実行します。
    • [Authentication] の設定で、[Basic] を選択します。
    • [Authorization] の設定で、下記の手順を実行します。
      • [Allow access to] ボックスで [Specified users] を選択します。
      • その下のボックスに、ユーザー名として「administrator」と入力します。
      • [Permissions] オプションの [Read] と [Write] をオンにします。
    • [終了] をクリックします。
      Dd939106.Using FTP Virtual Host Names - Figure 4(ja-jp,TechNet.10).jpg

まとめ

新しい FTP サービスを使用して、新しい FTP サイトを作成しました。この手順で完了した項目を以下にまとめます。

  • "www.example.com" という名前を付けて新しい FTP サイトを作成し、サイトのコンテンツ ルートを %SystemDrive%\inetpub\www.example.com に設定しました。
  • 作成した FTP サイトをコンピューターのローカル ループバック アドレスにポート 21 でバインドし、"www.example.com" という仮想ホスト名を付けました。
  • 基本認証を有効にして、ローカル管理者アカウントの読み取りアクセスおよび書き込みアクセスの承認規則を作成しました。

手順 2 : FTP Site ウィザードを使用した 2 番目の FTP サイトの作成

2 つめの手順では、一意の仮想ホスト名を使用してもう 1 つの新しい FTP サイトを作成します。

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。[接続] ウィンドウで、ツリー内の [サイト] ノードをクリックします。
  2. ツリー内の [サイト] ノードを右クリックして [Add FTP Site] をクリックするか、または [操作] ウィンドウで [Add FTP Site] をクリックします。
    Dd939106.Using FTP Virtual Host Names - Figure 5(ja-jp,TechNet.10).jpg
  3. Add FTP Site ウィザードが表示されたら、次の手順を実行します。
    • [FTP site name] ボックスに「www.contoso.com」と入力します。
    • 「前提条件」セクションで作成した %SystemDrive%\inetpub\www.contoso.com フォルダーを指定します。注 : コンテンツ フォルダーへのパスを直接入力する場合、パスに環境変数を使用することができます。
    • [次へ] をクリックします。
      Dd939106.Using FTP Virtual Host Names - Figure 6(ja-jp,TechNet.10).jpg
  4. ウィザードの次のページで、下記の手順を実行します。
    • [IP Address] ボックスで FTP サイトの IP アドレスを選択します。または、既定で選択されている [All Unassigned] をそのまま使用することもできます。このチュートリアルでは、後述の手順で管理者アカウントを使用するため、サーバーへのアクセスを制限します。[IP Address] ボックスに、コンピューターのローカル ループバック IP アドレスである「127.0.0.1」を入力してください。
    • 通常は、[Port] ボックスに FTP サイトの TCP/IP ポートを入力します。このチュートリアルでは、既定のポート 21 をそのまま使用します。
    • [Virtual Host] ボックスに「www.contoso.com」と入力します。
    • [SSL Certificates] ボックスで [Not Selected] が選択され、[Allow SSL] がオンになっていることを確認します。
    • [次へ] をクリックします。
      Dd939106.Using FTP Virtual Host Names - Figure 7(ja-jp,TechNet.10).jpg
  5. ウィザードの次のページで、下記の手順を実行します。
    • [Authentication] の設定で、[Basic] を選択します。
    • [Authorization] の設定で、下記の手順を実行します。
      • [Allow access to] ボックスで [Specified users] を選択します。
      • その下のボックスに、ユーザー名として「administrator」と入力します。
      • [Permissions] オプションの [Read] と [Write] をオンにします。
    • [終了] をクリックします。
      Dd939106.Using FTP Virtual Host Names - Figure 8(ja-jp,TechNet.10).jpg

まとめ

新しい FTP サービスを使用して、新しい FTP サイトを作成しました。この手順で完了した項目を以下にまとめます。

  1. "www.contoso.com" という名前を付けて新しい FTP サイトを作成し、サイトのコンテンツ ルートを %SystemDrive%\inetpub\www.contoso.com に設定しました。
  2. 作成した FTP サイトをコンピューターのローカル ループバック アドレスにポート 21 でバインドし、"www.contoso.com" という仮想ホスト名を付けました。
  3. 基本認証を有効にして、ローカル管理者アカウントの読み取りアクセスおよび書き込みアクセスの承認規則を作成しました。

手順 3 : FTP サイトへのログイン

手順 1 と 2 では、2 つの FTP サイトをそれぞれ一意の仮想ホスト名を使用して作成し、管理者アカウントだけがログインできるようにセキュリティ設定を構成しました。この手順では、管理者アカウントを使用してログインします。

: この手順では、ローカルの管理者アカウントを使用して FTP サイトにログインします。手順 1 と 2 では、FTP サイトを作成したときにローカル ループバック IP アドレスにバインドしました。ローカル ループバック アドレスを使用しなかった場合には、SSL を使用してアカウント設定を保護してください。管理者アカウントの代わりに別のユーザー アカウントを使用する場合は、適切なフォルダーにそのユーザー アカウントの正しいアクセス許可を設定してください。

管理者アカウントを使用して 1 つめの FTP サイトにログイン

  1. FTP サーバー上で、コマンド プロンプト セッションを開きます。
  2. 次のコマンドを入力して FTP サーバーに接続します。
           FTP 127.0.0.1
  3. ユーザー名の入力を求められたら、仮想ホスト名の「www.example.com」を入力し、その後に縦線記号 (|) を入力します。
           例 : 「www.example.com|administrator」
  4. パスワードの入力を求められたら、administrator のパスワードを入力します。
  5. 問題がなければ、"www.example.com" の FTP サイトにローカル管理者としてログインできます。

管理者アカウントを使用して 2 つめの FTP サイトにログイン

  1. FTP サーバー上で、コマンド プロンプト セッションを開きます。
  2. 次のコマンドを入力して FTP サーバーに接続します。
           FTP 127.0.0.1
  3. ユーザー名の入力を求められたら、仮想ホスト名の「www.contoso.com」を入力し、その後に縦線記号 (|) を入力します。
           例 : 「www.contoso.com|administrator」
  4. パスワードの入力を求められたら、administrator のパスワードを入力します。
  5. 問題がなければ、"www.contoso.com" の FTP サイトにローカル管理者としてログインできます。

IIS 7.0 構成ファイルの編集による仮想ホスト FTP サイトの作成

IIS 7.0 構成ファイルを編集して、新しい FTP サービスを使用した FTP サイトを作成することもできます。

: applicationHost.config ファイルの編集には、完全な管理アクセス許可が必要です。次のいずれかの方法を使用してください。

  • ローカルの "administrator" アカウントを使用してコンピューターにログインします。

または

  • ローカルの "administrator" アカウント以外の管理アクセス許可を持つアカウントを使用してログインする場合は、"管理者として実行" オプションを使用してメモ帳を開きます。

: Windows Vista および Windows Server 2008 オペレーティング システムでは、ユーザー アカウント制御 (UAC) セキュリティ コンポーネントにより、applicationHost.config ファイルへのアクセスが制限されるため、上記のいずれかの手順が必要になります。UAC の詳細については、次のドキュメントを参照してください。

以下の手順では、FTP サイトを一から作成するために必要なすべての設定について説明します。

  1. Windows のメモ帳などのテキスト エディターを使用して applicationHost.config ファイルを開きます。このファイルは、既定では %SystemRoot%\System32\inetsrv\config フォルダーにあります。

  2. <sites> セクションを見つけます。次のような構文を使用して、<sites> 内に 1 つめの 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>
    
  3. 次のような構文を使用して、<sites> 内に 2 つめの 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>
    
  4. applicationHost.config ファイルの一番下までスクロールし、2 つの FTP サイトの location セクションを追加して承認設定を指定します。 : この例で示すように、FTP サイトの承認設定は URL ごとに構成します。具体的には、これらの設定によって、管理者アカウントの読み取り/書き込みアクセス許可が有効になります。

    <location path="www.example.com">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>
    <location path="www.contoso.com">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>
    
  5. applicationHost.config ファイルを保存します。

問題がなければ、新しく作成した FTP サイトに FTP クライアントを使用してログインできます。その他の詳細については、このチュートリアルの「手順 3 : FTP サイトへのログイン」セクションを参照してください。

まとめ

この手順で完了した項目を以下にまとめます。

  • 2 つの FTP サイトを、それぞれ "www.example.com" および "www.contoso.com" という名前を付けて作成し、各サイトのコンテンツ ルートを次の場所に設定しました。
    • %SystemDrive%\inetpub\www.example.com
    • %SystemDrive%\inetpub\www.contoso.com
  • 作成した 2 つの FTP サイトをコンピューターのローカル ループバック アドレスにポート 21 でバインドし、それぞれ "www.example.com" および "www.contoso.com" という仮想ホスト名を付けました。
  • 両方のサイトで基本認証を有効にして、ローカル管理者アカウントの読み取りアクセスおよび書き込みアクセスの承認規則を作成しました。

関連コンテンツ

記事