ようこそゲストさん

Super Neurotic Junction

2011/12/25(日) awstats_buildstaticpages.plが勝手にプレフィックスをつけくさる件について

2011/12/25 18:21 研究課題snjx
なんかねー以前もこの時期に、季節と関係ないネタで更新したよねーほほほ。

さて、自サイトのアクセス解析にawstatsを入れてみたんだけど、若干はまった部分があったのでメモしてみる。
なんでだろ、きっと俺一人じゃないのだろうにあんまり情報がなかった。awsatatsってあんまり使われてないんかな?

まず、現象。

Apacheアクセスログ解析(AWStats)
こちらを参考に、awstatsをインストールしてアクセス解析仕込んだのね。

インストールと設定はおおむねうまくいったのね。で、単発ではちゃんと動くようになったんだけど、どうもなんだか、index.htmlの統計ページから個別の「全リスト」へのリンクが間違ってるくさい。
手順に間違いはないようなのに、404が返ってくるのだ。

ディレクトリの中を見てみると、index.htmlでは「snjx.info.yyyymm.allhosts.html」とかでaタグ書かれているのが、実際のファイルでは「awstats.snjx.info.yyyymm.allhosts.html」なんてファイル名で作られていた。

ありゃー。

で、どうしたのか

これはつまり、統計ページを作るところでaタグが間違っているのか、月別の詳細ページを作るところでファイル名が間違っているのかどっちかだと見当をつけた上で、それぞれどこで作っているのか手順の再検討を始めたわけさ。
で、awstatsreport.shの中身をもにょもにょ読んでいると「awstats_buildstaticpages.pl」ってのが実際のファイル作成を担っている模様。ははぁawstatsを直接キックしているわけじゃないのね。

直接、awstats_buildstaticpages.plをたたいて、あれこれ実験してみてよくわかったけど、こいつが詳細ページのファイル名に勝手にawstatsとかつけるくさい。そのくせ、統計ページのaタグはホスト名から始まっているだけなのだ。悪さをしているのはこいつ。

で、けっきょく、awstats_buildstaticpages.pl を修正した。
446行目くらいを以下のように。

# Launch all other awstats output
for my $output (@OutputList) {
    my $command="$smallcommand -output=$output";
    print "Build $output page: $command\n";
    $retour=`$command  2>&1`;
#    $OutputFile=($OutputDir?$OutputDir:"")."awstats.$OutputSuffix.$output.$StaticExt"; # 勝手につける文言を削除
    $OutputFile=($OutputDir?$OutputDir:"")."$OutputSuffix.$output.$StaticExt";
    open("OUTPUT",">$OutputFile") || error("Couldn't open log file \"$OutputFile\" for writing : $!");
    print OUTPUT $retour;
    close("OUTPUT");
    $cpt++;
    push @pages, $OutputFile;    # Add page to @page for PDF build
}

ま、念のため環境。

念のため、走っている環境をメモしておく。
[root@server ~]# cat /etc/redhat-release
CentOS release 5.7 (Final)
[root@server ~]# yum info awstats
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* extras: ftp.nara.wide.ad.jp
* rpmforge: ftp-stud.fht-esslingen.de
* updates: ftp.nara.wide.ad.jp
Installed Packages
Name : awstats
Arch : noarch
Version : 7.0
Release : 2.el5.rf
Size : 3.2 M
Repo : installed
Summary : Powerful and fullfeatured server logfile analyzer
URL : http://awstats.sourceforge.net/
License : GPL
Description: Advanced Web Statistics is a powerful and featureful tool that generates
: advanced web server graphic statistics. This server log analyzer works
: from command line or as a CGI and shows you all information your log contains,
: in graphical web pages. It can analyze a lot of web/wap/proxy servers like
: Apache, IIS, Weblogic, Webstar, Squid, ... but also mail or ftp servers.
:
: This program can measure visits, unique vistors, authenticated users, pages,
: domains/countries, OS busiest times, robot visits, type of files, search
: engines/keywords used, visits duration, HTTP errors and more...
: Statistics can be updated from a browser or your scheduler.
: The program also supports virtual servers, plugins and a lot of features.

[root@server ~]#

名前:  非公開コメント   

E-Mail(任意/非公開):
URL(任意):
  • TB-URL  http://snjx.info/diary/adiary.cgi/snjx/048/tb/