| Apache2のログを各ユーザーごとに取得する |
# mkdir /var/log/apache2/ユーザー名 ← ユーザー個別のログディレクトリ作製 # vi /etc/apache2/conf/httpd.conf ← apache2の設定ファイル編集 /~ユーザー名 の場合下記を追記 SetEnvIf Request_URI "/~ユーザー名/" ユーザー名 nolog CustomLog logs/ユーザー名/access_log combined env=ユーザー名 バーチャルドメインの場合 <VirtualHost*.80> ServerAdmin ユーザー名@aaa.net DocumentRoot /home/ユーザー名/public_html ServerName zzzz.xxxx.ne.jp ErrorLog logs/ユーザー名/error_log ← ログを個別に取るように追記 CustomLog logs/ユーザー名/access_log combined env=!nolog ← ログを個別に取るように追記 </VirtualHost> |
| ログローテーションの設定 |
一定期間たまったログを古い物から削除する設定です。
# vi /etc/logrotate.d/apache2 ← 設定ファイル編集 Apache2のメインログの設定
/var/log/apache2/*log {
daily ← 好みでdaily, weekly, monthlyのいずれかを指定
rotate 14 ← ここで履歴の数を指定
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/apache2.pid 2>/dev/null` 2> /dev/null || true
endscript
}
上記のように、/etc/logrotate.confへローテートのスケジュールと 履歴回数を指定しておけば、指定した期間で古いログは削除されるようになります。 標準(上記設定を行わない状態)では、1週間単位で4週間のログが取得されるようになっています。 ユーザー用のログ設定を追記する
/var/log/apache2/*/*log {
daily ←毎日という意味
rotate 14 ←14日間という意味
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/apache2.pid 2>/dev/null` 2> /dev/null || true
endscript
}
設定できたら保存 |
Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.