≪ トップ |
2005年11月18日
Webalizer インストール ( UTF-8 化 )
本サイトの文字コードを全て UTF-8 にしたので、/etc/httpd/conf/httpd.conf 編集の際、AddDefaultCharset UTF-8 をコメントアウトせずに、レスポンスヘッダで文字コードが指定されるようにしてあります。
したら、Webalizer の吐き出す HTML ファイルが文字化けですわ。
あ、そだ、これ EUC だったっけね。
つーことで、UTF-8 にするように実行スクリプトを変更しました。Jcode と nkf を使ってます。
Webalizer のインストールに必要なgd-devel、libpng-develをインストール
webalizer ダウンロード(最新版確認)
展開
展開先ディレクトリへ移動してインストール
[root@server webalizer-2.01-10]# ./configure --enable-dns --with-dblib=/lib --mandir=/usr/share/man --with-language=japanese
ホームディレクトリへ戻って、展開先ディレクトリとダウンロードしたファイルを削除
[root@server ~]# rm -rf webalizer-2.01-10
[root@server ~]# rm -f webalizer-2.01-10-src.tgz
apache のアクセスログを日本語コードに変換するスクリプトを作成
use Jcode;
open (IN ,$ARGV[0]);
while (<IN>){
chomp $_;
#URLエンコードを戻す
$_ =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ego;
#文字コードを調べる
$code = getcode($_);
#文字コードを正しく識別できない場合もしくはucs2とみなされた場合、utf8とみなす
if(($code eq '') || ($code eq 'ucs2')){$code = 'utf8'};
#文字コードをEUCに変換
$_ = jcode($_, "$code")->euc;
print "$_\n";
}
close (IN);
exit;
実行権付与
Webalizer 設定
Webalizer 設定ファイルをサンプルよりコピー
Webalizer設定ファイル編集(追加)
アクセスログを指定
LogFile /var/log/httpd/jaccess_log
アクセスログ解析結果出力先を指定
OutputDir /var/www/usage
Incremental yes
ホスト名を指定(タイトルやレポート内のリンクに使用される)
HostName www.wave440.com
DNSCache dns_cache.db
DNSChildren 10
Webalizer ページの文字化け対策
HTMLHead <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
Warning: Truncating oversized request field というエラーメッセージが表示されないようにする
ReallyQuiet yes
自サイト内からのアクセスはアクセス元として表示しない
HideReferrer wave440.com
拡張子で除外指定
‥‥‥‥
‥‥‥‥
HideURL *.css
HideURL *.ico
HideURL *.js
HideURL *.class
日本の検索エンジン追加
# their query strings on the URL. These are used to locate and report
# what search strings are used to find your site. The first word is
# a substring to match in the referrer field that identifies the search
# engine, and the second is the URL variable used by that search engine
# to define it's search terms.
SearchEngine google.co.jp q=
SearchEngine yahoo.co.jp p=
SearchEngine search.biglobe.ne.jp q=
SearchEngine infoseek.co.jp qt=
SearchEngine search.nifty.com Text=
SearchEngine goo.ne.jp MT=
SearchEngine excite.co.jp search=
SearchEngine yahoo.co.jp q=
SearchEngine biglobe.ne.jp q=
SearchEngine msn.co.jp q=
SearchEngine search.msn.co.jp q=
SearchEngine cache.yahoofs.jp w=
‥‥‥‥
‥‥‥‥
アクセスログ解析結果出力先を作成
内部からのみアクセスできるようにする
Webalizer 解析結果アクセス設定ファイル新規作成
<Location /usage>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.1
Allow from ::1
</Location>
Webサーバー設定反映
Webalizerの実行スクリプト作成
/root/jconvertlog.pl /var/log/httpd/access_log > /var/log/httpd/jaccess_log
webalizer
# HTMLの文字コードをUTF-8に変換
conf=/etc/webalizer.conf
OutputDir=`grep ^OutputDir $conf | awk '{ print $2 }'`
for html in ${OutputDir}/*.html
do
nkf -w ${html} > ${html}.utf-8
/bin/mv -f ${html}.utf-8 ${html}
done
実行権付与
Webalizer 実行
http://サーバー名/usage/ にアクセス
毎日00:00にWebalizer 実行スクリプトを実行するよう指定
00 00 * * * /root/webalizer.sh
投稿者 ゆう : 2005年11月18日 21:31 | カテゴリー CentOS (27)
トラックバック
http://www.wave440.com/blog/mt-trbk.cgi/159