CentOS 4.2でサーバ構築 squid編
- カテゴリ:
- Linux
今回は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
コメント