次の方法で共有


FTP の中央ログ オプション <centralLogFile>

概要

<centralLogFile> 要素は、中央ログ ファイルの設定を指定します。これは、<system.ftpServer/log> 要素の centralLogFileMode 属性に centralLogFileMode を指定するときに使われます。 中央ログを指定すると、すべての FTP サイトに対して 1 つのログ ファイルが保持されます。

互換性

バージョン メモ
IIS 10.0 <centralLogFile> 要素は、IIS 10.0 では変更されませんでした。
IIS 8.5 <centralLogFile> 要素は、IIS 8.5 では変更されませんでした。
IIS 8.0 <centralLogFile> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 <log> 要素の <centralLogFile> 要素は、IIS 7.5 の機能として付属しています。
IIS 7.0 <log> 要素の <centralLogFile> 要素が、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 拡張] も選択する必要があります。
    [サーバーの役割] ページが展開され、F T P サーバーが強調表示されている Web サーバー I I S および F T P サーバーの画像。 .

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

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

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

Windows 8 または Windows 8.1

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

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

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

    Note

    FTP サービスに対して ASP.NET メンバーシップ認証または IIS マネージャー認証をサポートするには、[FTP 拡張] も選択する必要があります。
    [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 拡張] も選択する必要があります。
    役割サービスの追加ウィザードの [役割サービスの選択] ページで [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 拡張] も選択する必要があります。
    [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 ログ] 機能をダブルクリックします。
    [ホーム] ウィンドウのスクリーンショット。[F T P ログ] が選択されています。

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

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

構成

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

属性 説明
directory 省略可能な文字列属性。

ログ ファイルとログ関連のサポート ファイルが格納されるログ ディレクトリを指定します。

既定値は %SystemDrive%\inetpub\logs\LogFiles です。
enabled 省略可能で、 Boolean 型の属性。

ログを有効にするには true、それ以外の場合は false

既定値は true です。
localTimeRollover 省略可能で、 Boolean 型の属性。

新しいログ ファイルがローカル時刻に基づいて作成される場合は、true、それ以外の場合は、協定世界時 (UTC) (以前はグリニッジ標準時 (GMT) と呼ばれていました) を表す false

注: 設定に関係なく、各 W3C 拡張ログのログ レコードでのタイム スタンプは UTC ベースです。

既定値は false です。
logExtFileFlags 省略可能なフラグ属性。

サイトのイベントをログ中に、ログ ファイル (W3C 拡張ログ ファイル形式を使うとき) と ODBC データ ソースのいずれかに書き込まれる情報のカテゴリを指定します。 logExtFileFlags 属性には、次の値のうち 1 つ以上を指定できます。 複数の値を指定する場合はコンマ (,) で区切ります。

既定値は、DateTimeClientIPUserNameServerIPMethodUriStemFtpStatusWin32StatusFtpSubStatusServerPortSession、および FullPath です。
Value 説明
BytesRecv サーバーが受信したバイト数をログします。

数値は 8192 です。
BytesSent サーバーが送信したバイト数をログします。

数値は 4096 です。
ClientIP 要求を行ったクライアントの IP アドレスをログします。

数値は 4 です。
ClientPort 要求を行ったクライアントのポートをログします。

数値は 33554432 です。
ComputerName ログ ファイルのエントリが生成されたサーバーの名前をログします。

数値は 32 です。
Date アクティビティが発生した日付をログします。

数値は 1 です。
FtpStatus FTP 状態コードをログします。

数値は 1024 です。
FtpSubStatus FTP エラーのサブ状態コードをログします。

数値は 2097152 です。
FullPath 完全な相対パスをログします。 : これは、クライアントが要求した URI とは異なる場合があります。UriStem フラグを設定することでログされます。

数値は 8388608 です。
Host 仮想ホスト名がある場合は、それをログします。

数値は 1048576 です。
Info 拡張デバッグ情報がある場合は、それをログします。

数値は 16777216 です。
Method 要求されたアクションをログします。 たとえば、USERPASS などです。

数値は 128 です。
ServerIP ログ ファイルのエントリが生成されたサーバーの IP アドレスをログします。

数値は 64 です。
ServerPort サイトに対して構成されているサーバーのポート番号をログします。

数値は 32768 です。
Session FTP セッションの一意識別子をログします。 これは、ログ内のセッション アクティビティの分析に便利です。

数値は 4194304 です。
SiteName サイトのインターネット サービス名とインスタンス番号をログします。

数値は 16 です。
Time アクティビティが発生した時刻を協定世界時 (UTC) でログします。

数値は 2 です。
TimeTaken 要求が完了するまでにかかった時間の長さをログします。 かかった時間はミリ秒単位で記録されます。

数値は 16384 です。
UriStem アクションのターゲットであるユニバーサル リソース識別子 (URI) のステム情報をログします。 : これは、クライアントが要求したとおりに URI ステムを示しますが、完全な相対パスではない可能性があります。 完全な相対パスには、FullPath フラグを使います。

数値は 256 です。
UserName サーバーにアクセスした認証済みユーザーの名前をログします。 匿名ユーザーはハイフンで示されます。

数値は 8 です。
Win32Status Windows 状態コードをログします。

数値は 2048 です。
period 省略可能な列挙型属性。

FTP サービスが新しいログ ファイルを作成する頻度を指定します。 period 属性には、次のいずれかの値を指定できます。

既定値は Daily です。
Value 説明
Daily 新しいログ ファイルを毎日作成します。

数値は 1 です。
Hourly 新しいログ ファイルを毎時作成します。

数値は 4 です。
MaxSize 最大サイズに達したときに、新しいログ ファイルを作成します。 最大サイズは truncateSize 属性で指定します。

数値は 0 です。
Monthly 新しいログ ファイルを毎月作成します。

数値は 3 です。
Weekly 新しいログ ファイルを毎週作成します。

数値は 2 です。
selectiveLogging 省略可能なフラグ属性。

FTP ログの詳細度を指定します。

既定値は LogSuccessful,LogError,LogInfrastructure です。
Value 説明
LogError エラーをログ記録することを指定します。 実際にログされるデータの量は、LogInfrastructure フラグの設定によっても異なります。

数値は 2 です。
LogInfrastructure すべての FTP コマンドと低レベルのデータ チャネル アクティビティをログすることを指定します。 たとえば、LogInfrastructure フラグが設定されている場合、ログには DataChannelOpened、DataChannelClosed、PORT/EPRT、PASV/EPSV のエントリが含まれます。

数値は 4 です。
LogSuccessful 成功したアクティビティをログすることを指定します。 実際にログされるデータの量は、LogInfrastructure フラグの設定によっても異なります。

数値は 1 です。
truncateSize 省略可能な int64 属性。

到達したら新しいログ ファイルを作成する、ログ ファイルの最大サイズ (バイト) を指定します。 この値は、period 属性に MaxSize が選ばれているときにのみ適用されます。 最小ファイル サイズは 1,048,576 バイトです。 この属性を 1,048,576 バイト未満の値に設定すると、既定値は暗黙的に 1,048,576 バイトとみなされます。

既定値は 20971520 です。

子要素

なし。

構成サンプル

次の構成例では、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()