現在自宅サーバでApache2を使っています。
設定とかはGoogleとかで調べたりLinuxWorldとか見てなんとか設定して、今ではVirtualHostで複数ドメイン管理をしています。
設定ファイルはドメイン毎に分けて書いたりしてhttpd.confには共通設定しか書かないようにしました。そうしないとわからなくなっちゃうんで...
あと、apache2のsupportでインストールされるrotatelogsを使っています。
指定時間(秒設定です)で指定したログファイルをrotateしてくれたり、strftimeのフォーマットでファイルをrotateしてくれるのでありがたいのですが、時間がGMTなので、日本時間で認識するのはちょっと困難でした。
そのため、rotatelogs.cのソースに手を加えて、JST時間でrotateファイルを作るようにしました。下記がその改修点です(先頭の数字は行数です)。
199 if (use_strftime) {
200 apr_time_t tNow = apr_time_from_sec(tLogStart);
201 apr_time_exp_t e;
202 apr_size_t rs;
203 /* apr_time_exp_gmt(&e, tNow); */
204 apr_time_exp_lt(&e, tNow);
205 apr_strftime(buf2, &rs, sizeof(buf2), szLogRoot, &e);
206 } else {
207 sprintf(buf2, "%s.%010d", szLogRoot, tLogStart);
208 }
apacheと違うところは基本的にaprライブラリを使用しているところで、apr関数群内の「apr_time_exp_lt」を使用するようにしました。こちらの関数ですとローカルマシンの時間でタイムスタンプを生成してくれます。
現在では、rotatelogsに-lオプションをつけると自動でローカルタイムでファイル名を設定してくれますので、この修正は必要ありません。ご注意ください。
