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