Web サイトへの FTP の追加
作成者 : Robert McMurray
発行日 : 2008 年 1 月 15 日 (作業者 : iisteam (英語))
更新日 : 2009 年 3 月 18 日 (作業者 : iisteam (英語))
はじめに
Microsoft は、Windows Server® 2008 用に完全に書き換えられた、新しい FTP サービスを作成しました。この新しい FTP サービスには多くの新機能が組み込まれており、Web 作成者にはコンテンツの発行がしやすくなる環境を、Web 管理者にはより優れたセキュリティおよび展開オプションを提供します。
このドキュメントでは、既存の Web サイトに FTP 発行を追加する方法について説明します。新しい FTP ユーザー インターフェイスを使用する方法、および IIS 7.0 構成ファイルを直接編集する方法の 2 とおりの手順を確認していきます。
この記事には次のような内容が含まれています。
- IIS 7.0 マネージャーを使用した FTP 発行の追加
- IIS 7.0 構成ファイルの編集による FTP 発行の追加
注 : このチュートリアルでは、ローカル管理者アカウントを使用して FTP サイトにログインする一連の手順を説明します。これらの手順は、必ず当該サーバー上でループバック アドレスを使用して実行するか、リモート サーバーから SSL を介して実行してください。管理者アカウントの代わりに別のユーザー アカウントを使用する場合は、必要に応じてそのための適切なフォルダーを作成し、そのユーザー アカウントに正しいアクセス許可を設定してください。
前提条件
この記事の手順を完了するには、次の項目を満たしている必要があります。
- Windows Server 2008 に IIS 7.0 がインストールされ、以下が構成されている必要があります。
- IIS 7.0 のインストールで作成される既定の Web サイトがまだ存在する。
- インターネット インフォメーション サービス マネージャーがインストールされている。
- 新しい FTP サービスがインストールされている必要があります。この FTP サービスは、https://www.iis.net/(英語) の Web サイトから次のリンクのいずれかを使用してダウンロードし、インストールできます。
IIS 7.0 マネージャーを使用した FTP 発行の追加
新しい FTP サービスには、必要なすべての手順を実行するためのウィザードが用意されており、既存のサイトに FTP 発行を簡単に追加できます。
手順 1 : FTP Site ウィザードを使用した FTP 発行の追加
この最初の手順では、既定の Web サイトに FTP 発行を追加し、ローカル管理者アカウントでコンテンツを編集できるようにするために必要な設定を追加します。
- IIS 7.0 マネージャーの [接続] ウィンドウで、ツリー内の [サイト] ノードを展開し、[Default Web Site] をクリックします。
- 次の図で示すように、[操作] ウィンドウの [Add FTP Publishing] をクリックします。
- Add FTP Site ウィザードが表示されたら、次の手順を実行します。
- [IP Address] ボックスで FTP サイトの IP アドレスを選択します。または、既定で選択されている [All Unassigned] をそのまま使用することもできます。このチュートリアルでは、後述の手順で管理者アカウントを使用するため、サーバーへのアクセスを制限します。[IP Address] ボックスに、コンピューターのローカル ループバック IP アドレスである「127.0.0.1」を入力してください。
- 通常は、[Port] ボックスに FTP サイトの TCP/IP ポートを入力します。このチュートリアルでは、既定のポート 21 をそのまま使用します。
- このチュートリアルではホスト名は使用しないので、[Virtual Host] ボックスは空白のままにします。
- [Certificates] ボックスで [Not Selected] が選択され、[Allow SSL] オプションがオンになっていることを確認します。
- 上記の手順を完了したら、[次へ] をクリックします。
- ウィザードの次のページで、下記の手順を実行します。
- [Authentication] の設定で、[Basic] を選択します。
- [Authorization] の設定で、下記の手順を実行します。
- [Allow access to] ボックスで [Specified users] を選択します。
- ユーザー名として「administrator」を入力します。
- [Permissions] オプションの [Read] と [Write] をオンにします。
- 上記の手順を完了したら、[終了] をクリックします。
まとめ
これで、既存の Web サイトに FTP 発行が追加されました。
このセクションで、既定の Web サイトに FTP 発行を追加するために完了した手順を下記にまとめます。
- ローカル ループバック IP アドレスのポート 21 を使用して FTP バインドを追加しました。
- FTP サイトで SSL (Secure Sockets Layer) を使用しないことを選択しました。
- 基本認証を有効にして、ローカル管理者アカウントの読み取り/書き込みアクセスの承認規則を作成しました。
手順 2 : FTP サイトへのログイン
手順 1 では、既定の Web サイトに FTP 発行を追加し、Web サイトのコンテンツへの読み取りと書き込みのアクセスをローカルの管理者アカウントに許可する承認規則を追加しました。この手順では、管理者アカウントを使用してログインします。
注 : 手順 1 で FTP サイトを作成したときに、FTP サイトをローカル ループバック IP アドレスにバインドしました。ローカル ループバック アドレスを使用しなかった場合には、SSL を使用してアカウント設定を保護してください。管理者アカウントの代わりに別のユーザー アカウントを使用する場合は、適切なフォルダーにそのユーザー アカウントの正しいアクセス許可を設定してください。
管理者アカウントによる FTP サイトへのログイン
FTP サーバー上で、コマンド プロンプト セッションを開きます。
次のコマンドを入力して FTP サーバーに接続します。
FTP localhost
ユーザー名の入力を求められたら、「administrator」と入力します。
パスワードの入力を求められたら、administrator のパスワードを入力します。
問題がなければ、FTP サイトにローカル管理者としてログインできます。手順 1 で追加した承認規則に基づいて、コンテンツ フォルダーへの読み取りアクセスと書き込みアクセスの両方が許可されます。
まとめ
この手順で完了した項目を以下にまとめます。
- FTP サイトにローカル管理者としてログインしました。
IIS 7.0 構成ファイルの編集による FTP 発行の追加
IIS 構成ファイルを編集して、既存の Web サイトに FTP 発行を追加することもできます。
注 : applicationHost.config ファイルの編集には、完全な管理アクセス許可が必要です。そのためには、次のいずれかの方法を使用することをお勧めします。
- ローカルの "administrator" アカウントを使用してコンピューターにログインします。
- ローカルの "administrator" アカウント以外の管理アクセス許可を持つアカウントを使用してログインする場合は、"管理者として実行" オプションを使用してメモ帳を開きます。
注 : Windows Vista および Windows Server 2008 オペレーティング システムでは、ユーザー アカウント制御 (UAC) セキュリティ コンポーネントにより applicationHost.config ファイルへのアクセスが制限されるため、上記の手順が必要となります。UAC の詳細については、次のドキュメントを参照してください。
https://go.microsoft.com/fwlink/?LinkID=113664
以下の手順では、既定の Web サイトに FTP 発行を追加するために必要なすべての設定について説明します。
Windows のメモ帳などのテキスト エディターを使用して applicationHost.config ファイルを開きます。このファイルは、既定では %SystemRoot%\System32\inetsrv\config フォルダーにあります。
既定の Web サイトのセクションを見つけます。このセクションは次の例のようになっています。
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site>
bindings コレクションの中に新しい binding 要素を作成し、この新しい binding 要素の protocol 属性の値として「ftp」を設定し、bindingInformation 属性のポート値を「21」に変更します。
既定の Web サイトの設定は、次の例のようになります。
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> </site>
bindings の終了タグの下に ftpServer セクションを追加します。このセクションでは認証設定を指定します。
注 : URL ごとに構成可能な Web サイトの認証とは異なり、FTP サイトの認証設定はサイトレベルで構成されます。
<ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <basicAuthentication enabled="true" /> </authentication> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow"/> </security> </ftpServer>
<sites> セクションは次の例のようになります。
<sites> <site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> <ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <basicAuthentication enabled="true" /> </authentication> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow"/> </security> </ftpServer> </site>
applicationHost.config ファイルの一番下までスクロールし、既定の Web サイト用の location セクションを追加して承認設定を指定します。
注 : この例に示すように、FTP サイトの承認設定は URL ごとに構成します。
<location path="Default Web Site"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="administrator" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location>
applicationHost.config ファイルを保存します。
これで、FTP クライアントで管理者アカウントを使用して FTP が有効なサイトにログインできるようになりました。ただし、他のユーザーはまだログインできません。
まとめ
この作業では、IIS 構成ファイルを編集して既存の Web サイトに FTP 発行を追加しました。この作業で完了した項目を以下にまとめます。
- 既定の Web サイトに FTP バインドを追加しました。
- 既定の Web サイトの FTP 基本認証を有効にし、FTP 匿名認証を無効しました。
- 既定の Web サイトで管理者アカウント向けに読み取り/書き込みアクセスを構成しました。