• 締切済み

Apache/2.0.54 (Debian GNU/Linux)でローカルホストからのアクセスを記録しない設定

お世話になります。当方玄箱でDebian3.1(Sarge)でApache/2.0.54 (Debian GNU/Linux) 使用中です。 特定のローカルホストからのアクセスと画像ファイルへのアクセスを記録しない設定をするべく。 /etc/apache/apache2.conf # The following directives define some format nicknames for use with # a CustomLog directive (see below). LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog /var/log/apache2/access.log combined env=!no_log SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)" no_log SetEnvIf Remote_Addr 127.0.0.1 no_log SetEnvIf Remote_Addr 192.168.1. no_lo ↑の4行を追加し /etc/init.d/apache2 restart してローカルからHP覗きaccess.logを確認するとしっかりlogを取っています。 どうすれば設定が有効になるのでしょうか?

みんなの回答

回答No.6

失礼しました 先ほどの CustomLog /var/log/apache2/access.log combined env=!no_log はコメントアウトではなくて CustomLog /var/log/apache2/access_log combined env=log と変更してください。

回答No.5

私はVine Linux 4.2 で Apacheは2.2.3を使用しています。 同様の現象に悩まされていましたが、 こちら http://papasan.org/30b530fc30fc/apache2/apache23068zope を参考にして SetEnvIf Request_Method "(GET)|(POST)|(PUT)|(DELETE)|(HEAD)" log SetEnvIf Request_URI "(\.gif|\.jpe?g|\.png|\.css|\.js)$" !log SetEnvIf Remote_Addr "^192\.168\." !log のようにして #CustomLog /var/log/apache2/access.log combined env=!no_log をコメントアウトしたら、LAN内のログは残らなくなりました。

参考URL:
http://papasan.org/30b530fc30fc/apache2/apache23068zope
回答No.4

同じ悩みを持ち、この書き込みを見つけてずっとここをチェック しながら自分でも調べて直りましたので書き込みします。 症状は全く同じで追加で以下のことも行ってみました。 ソースよりmod_setenvif.soを入れ替える 最新のmod_setenvif.oを使ってみる 全て変化無し。 結果変わったことは私の場合はバーチャルホストでの運用で、 http.confに記述されている CustomLog /var/log/apache2/access.log combined env=!no_log の部分がバーチャルホストの部分にも記述しておりました。 当然どちらか一方のみも試しましたが変化無し。 変化したのはバーチャルホストに記載している部分を以下に変更 CustomLog /var/log/apache2/VirtualHostaccess.log combined env=!no_log httpd.confのログファイル名とバーチャルホストのファイル名を 変更しました所、記述がされなくなりました。 バーチャルホストにしていますが実質は1つのホストなので 差し支えないと思っていたのが間違いでした。 お役に立てれば幸いですが見当外れなら失礼しました^^;

回答No.3

覗きにいったPCのIPアドレスが 192.168.0.* だったってことはないですか?

bxl
質問者

お礼

アドバイスありがとうございます。 良くありがちなミスですが、覗きに行っているPCは192.168.1.4なんですよね。

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

SetEnvIfディレクティブをCustomLogディレクティブの前に記述してみたら? CustomLog /var/log/apache2/access.log combined env=!no_log SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)" no_log SetEnvIf Remote_Addr 127.0.0.1 no_log SetEnvIf Remote_Addr 192.168.1. no_log   ↓ SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)" no_log SetEnvIf Remote_Addr 127.0.0.1 no_log SetEnvIf Remote_Addr 192.168.1. no_log CustomLog /var/log/apache2/access.log combined env=!no_log

bxl
質問者

お礼

アドバイスありがとうございます。 SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)" no_log SetEnvIf Remote_Addr "^127\.0\.0\.1" no_log SetEnvIf Remote_Addr "^192\.168\.1\." no_log CustomLog /var/log/apache2/access.log combined env=!no_log と変更し/etc/init.d/apache2 restart しましたが、結果は同じでした。

回答No.1

SetEnvIf Remote_Addr 127.0.0.1 no_log を SetEnvIf Remote_Addr "^127\.0\.0\.1" no_log としてもだめでしょうか? (次の行の「no_lo」はコピペミスだと思いますが)

bxl
質問者

お礼

早速の回答ありがとうございます。 CustomLog /var/log/apache2/access.log combined env=!no_log SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)" no_log SetEnvIf Remote_Addr "^127\.0\.0\.1" no_log SetEnvIf Remote_Addr "^192\.168\.1\." no_log と変更し/etc/init.d/apache2 restart しましたが、結果は同じでした。

関連するQ&A

専門家に質問してみよう