web-dev-qa-db-ja.com

Apacheファイルアクセスログはどこに保存されますか?

ファイルアクセスログの保存場所を誰かが知っているので、tail -fコマンドを使用して、特定のファイルにアクセスしているユーザーを確認します。

私のマシンにインストールされているApacheサーバーであるXAMPPを使用して、アクセスを自動的にログに記録します。インストールフォルダに保存されています。

187
AkshaiShah

最終的に、これはApacheの設定に依存します。 Apache設定でCustomLogディレクティブを探します。例については manual を参照してください。

すべてのログファイルの一般的な場所は、/var/logおよびサブディレクトリです。 /var/log/Apache/access.logまたは/var/log/Apache2/access.logまたは/var/log/httpd/access.logをお試しください。ログがそこにない場合は、locate access.log access_logを実行してみてください。

Gilles's answer でログが見つからない場合は、さらにいくつか試すことができます。

  • /var/log/httpdをご覧ください。
  • Sudo locate access.logおよびSudo locate access_logを実行します。私のシステムのログはroot以外には表示されず、ファイルはaccess_logではなくaccess.logと呼ばれていました。
40
Don Kirkby

Apacheサーバーは、すべての受信リクエストと処理されたすべてのリクエストをログファイルに記録します。アクセスログのフォーマットは高度に設定可能です。アクセスログの場所と内容は、CustomLogディレクティブによって制御されます。デフォルトのApacheアクセスログファイルの場所:

RHEL/Red Hat/CentOS/Fedora Linux Apacheアクセスファイルの場所–

/var/log/httpd/access_log

Debian/Ubuntu Linux Apacheアクセスログファイルの場所–

/var/log/Apache2/access.log

FreeBSD Apacheアクセスログファイルの場所–

 /var/log/httpd-access.log

Apacheログファイルの正確な場所を見つけるには、grepコマンドを使用できます。

# grep CustomLog /usr/local/etc/Apache22/httpd.conf
# grep CustomLog /etc/Apache2/Apache2.conf
# grep CustomLog /etc/httpd/conf/httpd.conf

出力例:

# a CustomLog directive (see below).
#CustomLog "/var/log/httpd-access.log" common
CustomLog "/var/log/httpd-access.log" combined 
25
hector adam

Debian/Ubuntu LinuxでApache access.logファイルの場所を見つける

私のマシンでは/etc/Apache2/Apache2.confが指す${Apache_LOG_DIR}ログディレクトリ自体ではなく、環境変数。

実際のログディレクトリを見つけるには、次の(追加の)手順が必要です。

$ grep Apache_LOG_DIR /etc/Apache2/envvars
export Apache_LOG_DIR=/var/log/Apache2$SUFFIX
$

envvarsには、Apacheのデフォルトの環境変数が含まれています。

したがって、アクセスログを表示するには、次のコマンドを使用します。

$ Sudo tail -f /var/log/Apache2/access.log
7
Dmytro Dzyubak