| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
「Webalizer」に必要なライブラリをインストールします。
必要なものは
「GDライブラリ」
「PNGライブラリ」
です。
また、解析結果をIPアドレスではなく、ホスト名に変換する場合は
「BerkeleyDB」
も必要になります。
ここでは、解析結果をホスト名に変換することを前提にインストールします。
なお、「BerkeleyDB」のインストール方法はこちらを参照して下さい。
PNGライブラリのインストール Solaris# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libpng-1.2.8-sol10-intel-local.gz <= PNGライブラリのダウンロード Solaris# gunzip libpng-1.2.8-sol10-intel-local.gz <= ダウンロードしたファイルの展開 Solaris# pkgadd -d libpng-1.2.8-sol10-intel-local |& tee pkg-libpng.log <= パッケージのインストール Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: <= 空Enter Do you want to install these conflicting files [y,n,?,q] <= y GDライブラリのインストール Solaris# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/gd-2.0.33-sol10-intel-local.gz <= GDライブラリのインストール Solaris# gunzip gd-2.0.33-sol10-intel-local.gz <= ダウンロードしたファイルの展開 Solaris# pkgadd -d gd-2.0.33-sol10-intel-local |& tee pkg-gd.log <= パッケージのインストール Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: <= 空Enter |
Solaris# mkdir /usr/local/src/webalizer <= 作業用ディレクトリの作成 Solaris# chmod 777 /usr/local/src/webalizer <= 作業用ディレクトリのパーミッション変更 Solaris# exit <= 一般ユーザになる Solaris% cd /usr/local/src/webalizer <= 作業用ディレクトリへ移動 Solaris% wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tar.bz2 <= 「Webalizer」のソースをダウンロード Solaris% bunzip2 -c webalizer-2.01-10-src.tar.bz2 | tar xf - <= ダウンロードしたファイルの展開 Solaris% cd webalizer-2.01-10 <= 展開したディレクトリに移動 Solaris% env CFLAGS=-O3 LDFLAGS="-L/opt/sfw/lib -R/opt/sfw/lib" ./configure \ --with-etcdir=/usr/local/etc \ --with-db=/usr/local/BerkeleyDB.4.3/include \ --with-dblib=/usr/local/BerkeleyDB.4.3/lib \ --enable-dns \ --with-language=japanese |& tee configure.log Solaris% vi dns_resolv.c <= ファイルの編集 #ifdef HAVE_DB_185_H #include <db_185.h> /* on my RH6.0 system ?!? */ #else #include <db.h> /* DB header ****************/ #endif /* HAVE_DB_185_H */ ↓ #include <db_185.h> /* on my RH6.0 system ?!? */ <= <db_185.h>を読み込むように編集 Solaris% gmake |& tee make.log <= コンパイル Solaris% su <= スーパーユーザになる Password: <= パスワードの入力 Solaris# gmake install |& tee make-install.log <= インストール |
アクセスログの日本語が文字化けするのを防ぐため、
アクセスログの日本語コードを変換するスクリプトを作成します。
ここで、日本語コードの変換にPerlのバージョンが5.8以前の場合はJcodeを用い、
Perl5.8以降の場合はEncodeを用います。
ただ、自分の環境ではPerlのバージョンが5.8以降なのですが、
Encodeを利用すると検索サイトによっては文字化けが発生しましたので、Jcodeを用いています。
なお、JcodeやEncodeのインストール方法については、
こちらを参照にモジュールをインストールして下さい。
Perl5.8以前の場合
Solaris# vi /root/jconvertlog.pl <= スクリプトファイルの新規作成
#!/usr/bin/perl
use Jcode;
open (IN ,$ARGV[0]);
while (<IN>){
$_ =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
Jcode::convert(\$_,'euc');
print $_;
}
close (IN);
exit;
Perl5.8以降の場合
Solaris# vi /root/jconvertlog.pl <= スクリプトファイルの新規作成
#!/usr/bin/perl
use Encode qw/ from_to /;
open (IN ,$ARGV[0]);
while (<IN>){
$_ =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
from_to( $_, 'utf-8', 'euc-jp' );
print $_;
}
close (IN);
exit;
|
作成したスクリプトファイルに実行権限を与えます。
Solaris# chmod 755 /root/jconvertlog.pl |
アクセスログの日本語コードの変換を行うスクリプトを実行してから 「webalizer」を実行する為のスクリプトを作成します。
Solaris# vi /root/webalizer.sh <= スクリプトファイルの新規作成 #!/sbin/sh /root/jconvertlog.pl /var/apache2/logs/access_log > /var/apache2/logs/jaccess_log /usr/local/bin/webalizer -c /usr/local/etc/webalizer.conf > /dev/null 2>&1 |
作成したスクリプトファイルに実行権限を与えます。
Solaris# chmod 755 /root/webalizer.sh |
ディレクトリの作成
解析結果を格納するディレクトリを作成します。
Solaris# mkdir /var/apache2/webalizer |
「Apache」の設定
解析結果を格納するディレクトリにアクセスできるように「Apache」を設定します。
Solaris# vi /etc/apache2/httpd.conf <= 設定ファイルの編集 Alias /webalizer "/var/apache2/webalizer/" <= 追加 |
「Apache」を再起動し、設定を反映させます。
Solaris# svcadm restart svc:/network/http:apache2 |
Solaris# cp /usr/local/etc/webalizer.conf.sample /usr/local/etc/webalizer.conf <= サンプル設定ファイルのコピー Solaris# vi /usr/local/etc/webalizer.conf <= 設定ファイルを編集 #LogFile /var/lib/httpd/logs/access_log ↓ LogFile /var/apache2/logs/jaccess_log <= Logファイルを指定 #OutputDir /var/lib/httpd/htdocs/usage ↓ OutputDir /var/apache2/webalizer <= 解析結果の出力先を指定 #HostName localhost ↓ HostName Solaris.crimson-snow.net <= ホスト名を指定 #DNSCache dns_cache.db ↓ DNSCache dns_cache.db <= コメント解除(DNSの逆引きによる名前解決ファイル名) #DNSChildren 0 ↓ DNSChildren 10 <= DNSCache の指定時に使用される、逆引き処理でのプロセス数 #HideReferrer mrunix.net/ ↓ HideReferrer crimson-snow.net <= 自サイト内からのアクセスはアクセス元として表示しない 日本語の検索エンジンを追加 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 msn.co.jp q= SearchEngine jp.aol.com query= SearchEngine biglobe.ne.jp q= SearchEngine nifty.com Text= SearchEngine livedoor.com q= SearchEngine ask.jp q= SearchEngine jword.jp name= SearchEngine fresheye.com kw= ここまで SearchEngine yahoo.com p= SearchEngine altavista.com q= SearchEngine google.com q= SearchEngine eureka.com q= SearchEngine lycos.com query= SearchEngine hotbot.com MT= SearchEngine msn.com MT= SearchEngine infoseek.com qt= SearchEngine webcrawler searchText= SearchEngine excite search= SearchEngine netscape.com search= SearchEngine mamma.com query= SearchEngine alltheweb.com query= SearchEngine northernlight.com qr= |
作成した起動スクリプトを実行し、「Webalizer」を実行します。
Solaris# /root/webalizer.sh |
http://サーバのIPアドレス/webalizer/ とアクセスしてページが表示されれば問題ありません。
「Webalizer」の自動実行
毎日0:00に自動実行するようにcronに登録します。
Solaris# crontab -e <= cron編集 00 00 * * * /root/webalizer.sh |