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