[Apache] ログを$HOSTNAME毎に出し分けする
目的
“server001”, “server002”, …, “serverN” すべてで共通の httpd.conf を使い、それぞれのログファイルを “log/server001/access_log”, …, “log/serverN/access_log” に吐くようにしたい。
ノード追加の度に手動でconfファイルをいちいち書き換えるのにはもううんざり。
そんな人には以下の方法をおすすめします。
やり方
Apacheディレクトリ内の envvars というファイルに記述することで、OSの環境変数を conf ファイルに渡すことができることを利用します。
- “apache2/bin/envvars” に以下の2行を追加する
HOSTNAME="$HOSTNAME"
export HOSTNAME
- “apache2/conf/httpd.conf” のログ出力行を編集する
#ErrorLog "logs/error_log"
ErrorLog "logs/${HOSTNAME}_error_log"
#CustomLog "logs/access_log" common
CustomLog "logs/${HOSTNAME}_access_log" common
- Apacheを再起動する