■Squid用ユーザー、グループ、ディレクトリ作成
# groupadd squid
# useradd -d /usr/local/squid -g squid -m squid
# chown -R squid:squid /usr/local/squid
■インストール
http://www.squid-cache.org/
より最新のSTABLEを/usr/local/squidへダウンロード
(今回はsquid-2.6.STABLE12.tar.gz)
[ダウンロード]
# su squid
$ cd /usr/local/squid
$ wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE12.tar.gz
[展開]
$ tar zxvf squid-2.6.STABLE12.tar.gz
[configure]
$ cd squid-2.6.STABLE12
$ ./configure –enable-err-language=Japanese
※オプションはエラーを日本語で
[インストール]
$ make
$ make install
■設定
$ vi /usr/local/squid/etc/squid.conf
[ポート]
http_port 3128
※環境により書き換え
※ルータ化と組み合わせて透過型プロキシーとする場合は
http_port 3128 transparent
といったようにtransparentオプションを付ける
[キャッシュデータ]
cache_dir ufs /usr/local/squid/var/cache 100 16 256
ufs: 保存データ形式
/usr/local/squid/var/cache: 保存場所
100: キャッシュサイズ上限
16 256: サブディレクトリの階層構造16×256
[実行ユーザー/グループ]
cache_effective_user squid
cache_effective_group squid
[アクセスコントロール]
acl my_network src 192.168.0.0/255.255.255.0
http_access allow my_network
※aclで対象を定義してhttp_accessで実際に許可する考え方
[管理者メールアドレス]
cache_mgr foo@host.name
[AnonymousFTPユーザ]
ftp_user anonymous@host.name
[ログ]
access_log /usr/local/squid/var/logs/access.log squid
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
[その他]
visible_hostname host.name
※設定しないとエラー
forwarded_for off
アクセス元IPの抑制
■キャッシュディレクトリ作成
$ mkdir /usr/local/squid/var/cache
[キャッシュ構造を作成]
$ /usr/local/squid/sbin/squid -z
■起動
/usr/local/squid/bin/RunCache &
で起動するが、
ディフォルトでDNSチェックをする。
なので、ネットワーク未接続時などを考慮し、
同スクリプト内の、
echo “Running: squid -sY $conf >> $logdir/squid.out 2>&1”
にDオプション追加
echo “Running: squid -sYD $conf >> $logdir/squid.out 2>&1”
その他オプションは、
/usr/local/squid/sbin/squid –helpで