Apache

Apacheのログファイルの出力場所と設定方法

2019年1月19日

こんにちは!土門大貴(daikidomon)です。

Apacheのログファイルの出力先と出力先を変更する方法と紹介します。

Apacheのログには、

  • 通常のHTTPリクエストのログ「access_log
  • エラー内容を表示する「error_log

があり、どちらもアクセスに応じでサイズが大きくなります。

ログ容量を注意する目的でも必要になるのでぜひ参考にしてみてください。

またApacheのインストール手順は以下になりますでの参考にしてみてください。

参考LinuxにApacheをインストールする方法

ログの出力場所

ログの出力先はデフォルトで以下に配置されています。
/var/log/httpd/
ディレクトリ内に

  • access_log
  • error_log

が出力されます。

以下が出力先のログファイル群です。

ls -l /var/log/httpd/
total 4284
-rw-r--r--. 1 root root 242820 Jan 18 17:17 access_log
-rw-r--r--. 1 root root 134027 Jul 29 03:10 access_log-20180729
-rw-r--r--. 1 root root 3329286 Aug 5 03:33 access_log-20180805
-rw-r--r--. 1 root root 121271 Aug 11 11:48 access_log-20180813
-rw-r--r--. 1 root root 130866 Jan 17 02:47 access_log-20190117
-rw-r--r--. 1 root root 1399 Jan 18 11:50 error_log
-rw-r--r--. 1 root root 2498 Jul 29 03:32 error_log-20180729
-rw-r--r--. 1 root root 396939 Aug 5 03:46 error_log-20180805
-rw-r--r--. 1 root root 762 Aug 11 12:22 error_log-20180813
-rw-r--r--. 1 root root 1338 Jan 17 03:22 error_log-20190117

なおデフォルト以外に出力されている場合、「/etc/httpd/conf/httpd.conf」の「CustomLog」と「ErrorLog」の箇所を確認しましょう。

vi /etc/httpd/conf/httpd.conf

CustomLog "logs/access_log" combined

ErrorLog "logs/error_log"

ログファイルはLinuxの「logrotate」でログローテーションされています。

出力場所を変更した際には、logrotateの設定も変更する必要があるので注意しましょう。

ログの出力先変更

今回のサンプルでは「/var/log/httpd/」から「/logfiles/httpd」に出力先を変更します前提で説明します。

ログの出力先を変更するには「/etc/httpd/conf/httpd.conf」の「CustomLog」と「ErrorLog」の箇所を変更します。

SELinuxが「無効化」または「正しく設定」されていない場合にはエラーとなりますので注意してください。

vi /etc/httpd/conf/httpd.conf

# 以下のように修正

CustomLog "/logfiles/httpd/access_log" combined

ErrorLog "/logfiles/httpd/error_log"

変更後にApacheを再起動させましょう。

systemctl restart httpd.service

またログ出力先を変更したら、ログローテーション設定の出力先も変更しましょう。

vi /etc/logrotate.d/httpd

# 以下のように修正する
/logfiles/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}

※ 今回の例ではログの出力先だけ変更しています。

変更後は「logrotate」を起動してログローテーションを確認しておきましょう。

logrotate -f /etc/logrotate.conf

ls -l
total 12
-rw-r--r-- 1 root root 0 Jan 19 03:26 access_log
-rw-r--r-- 1 root root 192 Jan 19 03:25 access_log-20190119
-rw-r--r-- 1 root root 490 Jan 19 03:26 error_log
-rw-r--r-- 1 root root 607 Jan 19 03:26 error_log-20190119


以上でApacheのログファイルの出力先の変更は完了です。

関連記事

-Apache

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.