次の方法で共有


FTP のログ オプション <log>

概要

<system.ftpServer/log> 要素は、FTP サービスのグローバル ログ設定を指定します。 具体的には、<system.ftpServer/log> 要素の属性は次のオプションを指定します。

  • centralLogFileMode - この属性は、FTP サービスで中央ログ (サーバーごと) とサイト ログ (サイトごと) のどちらを使うかを指定します。

    • 中央ログを指定すると、すべての FTP サイトに対して 1 つのログ ファイルが保持されます。
    • サイト ログを指定すると、各 FTP サイトは個別のログ ファイルに書き込まれます。
  • logInUTF8 - この属性は、ログ ファイルを UTF8 形式でエンコードすることを指定します。

中央ログを指定する場合、<centralLogFile> 子要素を使って中央ログ ファイルのオプションを構成できます。

互換性

バージョン メモ
IIS 10.0 <log> 要素は IIS 10.0 では変更されませんでした。
IIS 8.5 <log> 要素は IIS 8.5 では変更されませんでした。
IIS 8.0 <log> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 <system.ftpServer> 要素の <log> 要素は、IIS 7.5 の機能として付属しています。
IIS 7.0 <system.ftpServer> 要素の <log> 要素が、IIS 7.0 用の別個のダウンロードとして FTP 7.0 で導入されました。
IIS 6.0 <system.ftpServer> 要素とその子要素は、LM/MSFTPSVC メタベース パスにある IIS 6.0 の FTP 設定を置き換えます。

Note

FTP 7.0 サービスと FTP 7.5 サービスは IIS 7.0 とは別に出荷され、次の URL からモジュールをダウンロードしてインストールする必要がありました。

https://www.iis.net/expand/FTP

Windows 7 と Windows Server 2008 R2 では、FTP 7.5 サービスは IIS 7.5 の機能として付属しているため、FTP サービスのダウンロードは必要なくなりました。

段取り

Web サーバーの FTP 公開をサポートするには、FTP サービスをインストールする必要があります。 そのためには、次のステップに従います。

Windows Server 2012 または Windows Server 2012 R2

  1. タスク バーで [サーバー マネージャー]をクリックします。

  2. [サーバー マネージャー] で、[管理] メニューを選択し、[役割と機能の追加] を選択します。

  3. [役割と機能の追加] ウィザードで、[次へ] をクリックします。 インストールの種類を選択し、[次へ] をクリックします。 対象サーバーを選択し、[次へ] をクリックします。

  4. [サーバーの役割] ページで、[Web サーバー (IIS)] を展開して、[FTP サーバー] を選びます。

    Note

    FTP サービスに対して ASP.NET メンバーシップ認証または IIS マネージャー認証をサポートするには、[FTP Service] に加えて[FTP 拡張] も選択する必要があります。
    Windows Server 2012 インターフェイスの F T P サービスと F T P 拡張機能のスクリーンショット。 .

  5. [次へ] をクリックし、[機能の選択] ページで再度 [次へ] をクリックします。

  6. [インストール オプションの確認] ページで、[インストール] をクリックします。

  7. [結果] ページで、 [閉じる]をクリックします。

Windows 8 または Windows 8.1

  1. [スタート] 画面で、ポインターを左下隅まで移動し、[スタート] ボタンを右クリックし、[コントロール パネル] をクリックします。

  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。

  3. [インターネット インフォメーション サービス] を展開し、[FTP サーバー] を展開します。

    Note

    FTP サービスに対して ASP.NET メンバーシップ認証または IIS マネージャー認証をサポートするには、[FTP 拡張] も選択する必要があります。
    Windows 8 インターフェイスの F T P サービスと F T P 拡張機能のスクリーンショット。

  4. OK をクリックします。

  5. 閉じるをクリックします。

Windows Server 2008 R2

  1. タスク バーで [スタート] をクリックし、[管理ツール] をポイントして、[サーバー マネージャ] をクリックします。

  2. [サーバー マネージャ] 階層ウィンドウで [役割] を展開し、[Web サーバー (IIS)] をクリックします。

  3. [Web サーバー (IIS)] ウィンドウで、[役割サービス] セクションまでスクロールし、[役割サービスの追加] をクリックします。

  4. [役割サービスの追加] ウィザード[役割サービスの選択] ページで [FTP サーバー] を展開します。

  5. [FTP Service] を選択します。

    Note

    FTP サービスに対して ASP.NET メンバーシップ認証または IIS マネージャー認証をサポートするには、[FTP 拡張] も選択する必要があります。
    Windows Server 2008 インターフェイスの F T P サービスと F T P 拡張機能のスクリーンショット。

  6. 次へ をクリックします。

  7. [インストール オプションの確認] ページで、[インストール] をクリックします。

  8. [結果] ページで、 [閉じる]をクリックします。

Windows 7

  1. タスク バーで、[スタート][コントロール パネル] の順にクリックします。

  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。

  3. [インターネット インフォメーション サービス][FTP サーバー] の順に展開します。

  4. [FTP Service] を選択します。

    Note

    FTP サービスに対して ASP.NET メンバーシップ認証または IIS マネージャー認証をサポートするには、[FTP 拡張] も選択する必要があります。
    Windows 7 インターフェイスの F T P サービスと F T P 拡張機能のスクリーンショット。

  5. OK をクリックします。

Windows Server 2008 または Windows Vista

  1. 次の URL からインストール パッケージをダウンロードします。

  2. 次のチュートリアルの手順に従って、FTP サービスをインストールします。

操作方法

FTP サービスのサイト レベルまたはサーバー レベルのログを構成する方法

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 または Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8 または Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
    • Windows Server 2008 または Windows Server 2008 R2 を使用している場合:

      • タスク バーで、[スタート] ボタンをクリックし、[管理ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows Vista または Windows 7 を使用している場合:

      • タスク バーで、[スタート][コントロール パネル] の順にクリックします。
      • [管理ツール] をダブルクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ペインでサーバー名をクリックします。

  3. [ホーム] ペインで、[FTP ログ] 機能をダブルクリックします。
    Web サイトの [ホーム] ウィンドウの [F T P] セクションで選択されている F T P ログのスクリーンショット。

  4. [ログ ファイル作成単位] ドロップダウン リストで、次のオプションのいずれかを選びます。

    • [サイト] を選び、各 FTP サイトが個別のログ ファイルに書き込むように指定します。
    • すべての FTP サイトに対して 1 つのログ ファイルを指定するには、[サーバー] を選びます。
      指定したオプションを含む [F T P ログ] ウィンドウのスクリーンショット。
  5. [操作] ウィンドウで、[適用] をクリックします。

構成

<system.ftpServer/log> 要素は、ApplicationHost.config のグローバル レベルで構成されます。

属性

属性 説明
centralLogFileMode 省略可能な列挙型属性。

FTP サービスで中央ログ (サーバーごと) またはサイト ログ (サイトごと) のどちらを使うかを指定します。
属性 説明
Site 各 FTP サイトが個別のログ ファイルに書き込むように指定します。

数値は 0 です。
Central すべての FTP サイトに対して 1 つのログ ファイルを保持するように指定します。

数値は 1 です。
既定値は Site です。
logInUTF8 省略可能で、 Boolean 型の属性。 IIS が FTP サーバーのすべての文字列を Unicode Transmission Format 8 (UTF-8) でログするかどうかを指定します。 この設定は、FTP サーバー上のすべてのサイトのテキスト モード ログに適用されます。 既定値は true です。

子要素

要素 説明
centralLogFile 省略可能な要素です。

中央ログ ファイルの設定を指定します。

Note

<customLogging> という未使用の要素が FTP 7.0 スキーマで宣言されましたが、これは FTP 7.5 スキーマから削除されたため、使わないでください。

構成サンプル

次の構成例では、FTP サービスの中央ファイル ログを有効にします。

<system.ftpServer>
   <log centralLogFileMode="Central">
      <centralLogFile enabled="true" />
   </log>
</system.ftpServer>

サンプル コード

次の例では、FTP サービスの中央ファイル ログを有効にします。

AppCmd.exe

appcmd.exe set config -section:system.ftpServer/log /centralLogFileMode:"Central" /commit:apphost

appcmd.exe set config -section:system.ftpServer/log /centralLogFile.enabled:"True" /commit:apphost

Note

AppCmd.exe を使用してこれらの設定を構成するときは、commit パラメーターを必ず apphost に設定する必要があります。 これで、ApplicationHost.config ファイルの適切な場所セクションに構成設定がコミットされます。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection logSection = config.GetSection("system.ftpServer/log");
         logSection["centralLogFileMode"] = @"Central";

         ConfigurationElement centralLogFileElement = logSection.GetChildElement("centralLogFile");
         centralLogFileElement["enabled"] = true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration

      Dim logSection As ConfigurationSection = config.GetSection("system.ftpServer/log")
      logSection("centralLogFileMode") = "Central"

      Dim centralLogFileElement As ConfigurationElement = logSection.GetChildElement("centralLogFile")
      centralLogFileElement("enabled") = True

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var logSection = adminManager.GetAdminSection("system.ftpServer/log", "MACHINE/WEBROOT/APPHOST");
logSection.Properties.Item("centralLogFileMode").Value = "Central";

var centralLogFileElement = logSection.ChildElements.Item("centralLogFile");
centralLogFileElement.Properties.Item("enabled").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set logSection = adminManager.GetAdminSection("system.ftpServer/log", "MACHINE/WEBROOT/APPHOST")
logSection.Properties.Item("centralLogFileMode").Value = "Central"

Set centralLogFileElement = logSection.ChildElements.Item("centralLogFile")
centralLogFileElement.Properties.Item("enabled").Value = True

adminManager.CommitChanges()