カテゴリ:

今回はsquidを入れてプロキシサーバとします。インストールは簡単です。

# yum -y install squid

ローカルIP(192.168.0.0/24)の利用を可能にし、ポートは8080とエラーメッセージは日本語という最低限の設定例です。

# vi /etc/squid/squid.conf

acl CONNECT method CONNECT
acl tempest_local src 192.168.0.0/255.255.255.0 ← 追加

http_access allow tempest_local ← 追加
http_access deny all ← この下に書くと無効になる

http_port 8080 ← 追加
error_directory /usr/share/squid/errors/Japanese ← 追加

起動します。

# service squid start

ブラウザにプロキシの設定を行い利用して、squidのログに表示されれば問題ないでしょう。

# tail /var/log/squid/access.log

次にログを見やすくするためにWebalizerで解析します。Apache用の設定ファイルをコピーして使います。

# cp /etc/webalizer.conf /etc/webalizer_squid.conf

設定はとりあえずこの3ヶ所を指定すればいいはず。

# vi /etc/webalizer_squid.conf

LogFile        /var/log/squid/access.log
LogType        squid
OutputDir      /var/www/usage/squid

専用のディレクトリを作ります。

# mkdir /var/www/usage/squid
# chown webalizer /var/www/usage/squid
# chcon system_u:object_r:httpd_sys_content_t /var/www/usage/squid

そして設定ファイルを指定してWebalizerを実行します。

# webalizer -c /etc/webalizer_squid.conf

さてブラウザでhttp://サーバ/usage/squid/を開いてみると、あれれApacheの結果そのままなんですけど…。設定ファイルを確認しても間違ってない。

なぜ?

ここでwebalizer_squid.confを見てみると2ヶ所気になるところが。

HistoryName     /var/lib/webalizer/webalizer.hist
IncrementalName /var/lib/webalizer/webalizer.current

ここに過去のデータが残っているみたいなので、下記のように書き換えました。

HistoryName     /var/lib/webalizer/webalizer_squid.hist
IncrementalName /var/lib/webalizer/webalizer_squid.current

そして再度Webalizerを実行すると、おおっ!無事できました。あとは/etc/cron.dailyにあるシェルスクリプトをコピーして利用すればいいでしょう。

# cp /etc/cron.daily/00webalizer /etc/cron.daily/00webalizer_squid
# vi /etc/cron.daily/00webalizer_squid

if [ -s /var/log/squid/access.log ] ; then
    /usr/bin/webalizer -c /etc/webalizer_squid.conf
fi