awstatsのインストールと設定 on Debian lenny

Debianawstats入れてDigest認証かけるメモー。

# apt-get install awstats

awstatsってすごく… 打ちづらいです…

設定ファイル

/etc/awstats/awstats.conf

アイコンとか

/usr/share/awstats/icon/

awstats.plは

/usr/lib/cgi-bin/awstats.pl

相変わらずちらばってるのぅ。
Debian使い続けてれば何がどこにあるとか大体わかるけども…

設定ファイルで変更すべき場所は

SiteDomain="www.13nightcrows.org"
LogFormat=1 #Apache2でも1でおつけい。
LogFile="/var/log/apache2/apache2_access.log" #うちはちょっと色々なログをとっていて変な名前

上記を修正して、Web用の設定
awstats.plが/usr/lib/cgi-bin/の中にいるから

awstats用のディレクトリを作成してリンクを張る

# mkdir /usr/lib/cgi-bin/awstats/
# lns -s /usr/lib/cgi-bin/awstats.pl /usr/lib/cgi-bin/awstats/awstats.pl
# ls -la /usr/lib/cgi-bin/awstats/awstats.pl

アイコンもリンク張る(合ってないかも…)

# ln -s /usr/share/awstats/icon/ /usr/lib/cgi-bin/awstats/awstats-icon
# ls -la /usr/lib/cgi-bin/awstats/awstats-icon

で、Apacheの設定を追加

ScriptAlias /awstats/ "/usr/lib/cgi-bin/awstats/"

AllowOverride AuthConfig
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Includes
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On

BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On」は
IE6のDigest認証でバグる動作回避のおまじない。やれやれだぜ

そして

# htdigest -c /usr/lib/cgi-bin/awstats/.htdigest "awstats" username
# cat /usr/lib/cgi-bin/awstats/.htdigest
# vi /usr/lib/cgi-bin/awstats/.htaccess

AuthUserFile /usr/lib/cgi-bin/awstats/.htdigest
AuthType Digest
AuthName "awstats"
require valid-user

# cat /usr/lib/cgi-bin/awstats/.htaccess

で、Web用の設定は終わり。あとはawstatsをアップデート


# /usr/lib/cgi-bin/awstats.pl awstats -config=/etc/awstats/awstats.conf -update
Create/Update database for config "/etc/awstats/awstats.conf" \
by AWStats version 6.9 (build 1.925)
From data in log file "/var/log/apache2/apache2_access.log"...
Phase 1 : First bypass old records, searching new record...
Direct access after last parsed record (after line 30)
Jumped lines in file: 30
Found 30 already parsed records.
Parsed lines in file: 311
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 311 new qualified records.

少なーい。
で、反映されたか ブラウザで確認
うちなら http://www.13nightcrows.org/awstats/awstats.pl ここね。

で、cronの設定を確認(実際はばっくすらっしゅいないです。見栄えの為)

cat /etc/cron.d/awstats
0,10,20,30,40,50 * * * * root [ -x /usr/lib/cgi-bin/awstats.pl \

/usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null

デフォルトでwww-dataユーザで更新しようとしているので、パーミッションエラーになります。
ので、適当にユーザつくって権限を付与してくださいませ。
上記のようにrootユーザで実行させるのは全くイケてないですので。

で、あとログファイルの場所を修正しました。
そして10分毎に更新されているか、アクセスしてみて確認して終了。
Debian使ってると簡単にバカスカ入っちゃってダメだね。甘える

"*/10" でもいけるじゃん。なのに何でこんな書き方?って疑問に思ったんだけど

プログラムの中にあすたりくすとかややこい記号入れたくないからなのかなって勝手に思った。