こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Apacheのログについて解説します。Apacheのログの場所はデフォルトで、”/var/log/apache2″ディレクトリ配下にあります。今回はApacheの設定ファイルを編集して、ログの場所を変更する方法を解説します。Apacheのログについて詳しくなりましょう。
目次
Apacheのログの場所は?
Apacheのログの場所はどこ?どうやって変更するの?
今回の記事では、Apacheのログの場所について解説します。Apacheのログの場所は、以下のディレクトリ配下にあります。
/var/log/apache2もしくは/var/log/httpd
今回の記事では、Apacheのログの場所やログのフォーマットの変更方法など、Apacheのログについて詳しく解説します。
Apacheのログは2種類ある
まず、Apacheのログの種類について解説します。ログの種類を理解して、どのような目的で何のログを確認する必要があるのかを理解しましょう。
Apacheのログは以下2種類あります。
- アクセスログ
- エラーログ
アクセスログはWebサーバーにアクセスした内容が格納されたログで、アクセスしてきた時間やIPアドレス、アクセスされたページなどを知ることができます。
エラーログは、Webのエラー情報が格納されています。Webサーバーにアクセスして、エラーが起きた場合は、エラーログを確認しましょう。
では、これら2つのログを実際に見てみましょう。
Apacheのアクセスログとエラーログを見てみよう
次に、Apacheのアクセスログとエラーログを見てみましょう。
ログを見るためには、tailコマンドを使用すると便利です。まずはアクセスログから見てみましょう。
tail -f /var/log/apache2/access.log
もしくは
tail -f /var/log/httpd/access.log
ログの中身は以下のようになっています。アクセスされて日時やパス、ブラウザの情報など様々な情報を確認することができます。
::1 - - [05/Jun/2021:09:31:07 +0900] "GET /test.html HTTP/1.1" 302 528 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37"
次にエラーログを確認してみましょう。
tail -f /var/log/apache2/error.log
もしくは
tail -f /var/log/httpd/error.log
エラーログの中身も、アクセスログ同様、エラーの日時やエラーの内容などが格納されています。
Apacheの設定をすることで、ログを出力する場所やログの内容を変更することができます。ログをカスタマイズする方法を解説します。
Apacheのログの場所を変更するには?
先ほどはログの場所について解説しました。ここらは、Apacheの設定ファイルから、ログの出力先や表示形式を変更してみましょう。
Apacheの設定ファイルでログのカスタマイズを行う
では、早速ログのカスタマイズをしてみましょう。viコマンドを使用して、Apacheの設定ファイルを開きます。
vi /etc/apache/apache2.conf
もしくは
vi /etc/http/httpd.conf
設定ファイルの中で、ログの設定がすでにされています。ログの設定はこちらになります。
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ログのファイルの場所を変更するためには、”ErrorLog”と”CustomLog”の設定を行います。“LogLevel”はログの出力情報を変更し、LogFormatでは、ログの形式を変更します。
ErrorLogとCustomLogでログファイルの場所を変更する
では、設定を変更してみましょう。以下のようにApacheの設定ファイルを変更してみます。
ErrorLog ${APACHE_LOG_DIR}/test/error.log
CustomLog ${APACHE_LOG_DIR}/test/access.log combined
ログファイルを”/var/log/apache/test”ディレクトリ配下にログの出力先を変更します。CustomLogはLogFormatの設定も併せて行う必要があるので、こちらの記事を参考にしてください。
ApacheのLogFormatの使い方は?LogFormatを使ってログの書式を変更してみよう
設定が完了したら、ログを出力するディレクトリを作成します。
mkdir /var/log/apache/test
ディレクトリを作成したら、Apacheがログファイルを書き込めるように権限を付与します。
chmod 777 /var/log/apache/test
今回はフルアクセス権限を与えていますが、Apacheプロセスを動作させているユーザーに書き込み権限があれば大丈夫です。ファイル作成と権限付与のコマンドについては、こちらの記事で詳しく解説しているので、使い方が分からない方は参考にしてください。
ディレクトリの作成と権限付与が完了したら、Apacheを再起動して確認してみましょう!
service apache2 restart
もしくは
service httpd restart
最後に、本当にログファイルの場所が変更されているか確認してみましょう!
tail -f /var/log/apache/test/error.log
ログファイルの出力先が変わっていたら成功です!
Linuxの学習を始めたい方はこちらから
「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」
そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!
入門から中級まで初心者でもわかりやすく学習を進めることができます。
- 【Linux入門講座1】ディレクトリと相対パス、絶対パス
- 【Linux入門講座2】ファイルの操作方法
- 【Linux入門講座3】ファイルのアクセス権限
- 【Linux入門講座4】ファイルの編集~vimの使い方をマスターする~
- 【Linux入門講座5】ユーザーとグループ
- 【Linux入門講座6】ネットワーク
↓InfraAcademyの講座の一部です。
上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。
インフラエンジニアに必要な知識が学習できます。
当ブログでは、このほかにもApacheの設定方法について解説しています。興味のある方は引き続きご覧ください。
Apacheのログの場所まとめ
今回の記事では、Apacheのログの場所について解説しました。まとめると以下のようになります。
- アクセスログの場所は”/var/log/apache/access.log
- エラーログの場所は”/var/log/apache/error/log
- 設定ファイルのErrorLogとCustomLogでファイルの場所を変更する
ログをカスタマイズできるとWebサーバーの運用が楽になるので覚えておきましょう!
このようなインフラエンジニアに必要な知識を当ブログでは、紹介しているので興味のある方は是非ご覧ください。
さらにlinuxについて勉強したい方はこちらの参考書がオススメです。