【Mac OS X】newsyslogを使ってログローテートする

Mac OS Xにおいて定期的なログローテートを行うには「newsyslog」を使う。今回はApacheとSquidのログについて設定する。設定ファイル「/private/etc/newsyslog.conf」に、以下の行を追加した。

#### Apache用の設定
/var/log/apache2/access_log 644 7   *   $W1D04  JB  /var/run/httpd.pid
/var/log/apache2/error_log  644 7   *   $W1D04  JB  /var/run/httpd.pid
#### Squid用の設定
/opt/local/var/squid/logs/access.log    squid:squid 644 7   *   $W1D04  JB  /opt/local/var/run/squid/squid.pid
/opt/local/var/squid/logs/cache.log     squid:squid 644 7   *   $W1D04  JB  /opt/local/var/run/squid/squid.pid
/opt/local/var/squid/logs/store.log     squid:squid 644 7   *   $W1D04  JB  /opt/local/var/run/squid/squid.pid

以降の説明は以下のサイトを参考にさせていただきました。

MacOSXでサーバー稼業 : Web共有機能のログをローテーションさせよう
http://earlybirds.ddo.jp/namahage/inegalog/article.php?id=64
newsyslog.conf(5) OS X Manual Page
https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man5/newsyslog.conf.5.html#//apple_ref/doc/man/5/newsyslog.conf

Continue reading

AWStatsでちょっとリッチなアクセス解析 @ Mac OS X

100301-0001.png

すでにWebalizerは導入済みなのだけれど、もうちょっとリッチなアクセスログ解析システムが欲しくなった。ググってみるとそのようなシステムはいくつかある。

Analog: WWW logfile analysis
http://analog.cx/

Visitors – fast web log analyzer
http://www.hping.org/visitors/index_jp.php

Home of The Webalizer
http://www.mrunix.net/webalizer/

AWStats – Free log file analyzer for advanced statistics (GNU GPL).
http://awstats.sourceforge.net/

参考:Google Analytics にてアクセスIPをチェック|トピックを表示
http://forum.tsukaeru.net/viewtopic.php?t=3470

いろいろある中でもPerlで書かれてて中身がわかりやすそうなAWStatsを選んだ。こいつは前に導入したWebalizerよりずっと優れていて、解析結果が細かいだけでなく、スクリプトまで書いて対処した問題に煩わされることもない。

Continue reading

CentOSでperl 5.10.1 + Catalyst + mod_perl

CentOS 5.4は未だにperl-5.8.8なので、perl-5.10.1をソースからインストールした。この作業は簡単なので詳細は省く。

$ tar jxvf perl-5.10.1.tar.bz2
$ cd perl-5.10.1
$ ./Configure -de
$ make
$ make test
$ sudo make install

しかし標準でインストールされるmod_perlはあくまでperl-5.8.8用にビルドされている。本当ならSRPMを落としてきてリビルドするのがいいのだが、面倒なのでmod_perlのソースからインストールする。

mod_perlのインストールにはapxsが必要だ。これはhttpd-develパッケージに入っている。

$ sudo yum install httpd-devel

後はいつもの手順通り、mod_perlのインストールだ。

Continue reading

Webalizerで文字化けを解消する、他

以前の記事「Mac OS XにWebalizerをインストール → DNSCacheでハマる」ではMac OS XにてWebalizerをインストールする方法を書いた。このとき日本語化するオプション(--with-language=japanese)をつけたのだが、これによって用語が日本語化される代わりに、Total Search Strings(検索文字列リスト)が文字化けしてしまう。

100222-0001.png

原因は、検索文字列のエンコーディングにUTF-8が使用されているのに引き替え、HTML自体にはEUC-JPが使われているためだ。しょうがないので、作成したHTMLファイルに細工を加えることにする。

Continue reading

Mac OS XにWebalizerをインストール → DNSCacheでハマる

webalizer.png

Mac OS XにWebalizerをインストールしてみた日記。とりあえずいつも通りMacPortsを使ってみる。

$ sudo port install webalizer

すると/opt/local/etc/webalizer.conf.sampleというサンプルの設定ファイルが出来ているので、それを見ながらオリジナルのファイルを作成。設定ファイル内のコメントと、ここら辺を見て書いた。

Webalizer について
http://www.sea-bird.org/doc/Solaris8/webalizer2.html
5-7. Webalizer-ログ解析ソフト: 自宅サーバプロジェクト
http://saba.nitty-gritty.org/400web/55_webalizer.html

設定内容は↑のリンク集そのまんまだが、注意すべきところは次の3行。

HTMLHead    <META http-equiv="content-type" content="text/html; charset=euc-jp">
DNSCache    /var/log/apache2/dns_cache.db
DNSChildren 10

まず1行目のHTMLHeadだが、これは作成される解析ページに追加する<meta>タグを指定する。メッセージを日本語にする(方法は下に書く)時には、このタグがないと文字化けしてしまう。

2,3行目はDNSキャッシュの指定だ。一度調べたホスト名をデータベース化しておくことで、解析ページ作成にかかる時間を短縮する。便利なオプションなので必ず指定しておきたい。……のだが、早速実行してみるとこれが問題だった。

Continue reading