/usr/ports/www/squid26
/usr/local/etc/pkgtools.confに下記追記
MAKE_ARGS = {
‘*’ => ‘WITHOUT_X11=yes’,
‘www/squid26′ => [
‘SQUID_UIG=squid’,
‘SQUID_GID=squid’,
‘SQUID_LANGUAGES=”English Japanese”‘,
‘SQUID_DEFAULT_LANG=Japanese’,
],
}
# portinstall www/squid26
で一発。ダイアログで下記を選択
SQUID_DELAY_POOLS=true
SQUID_SNMP=true
SQUID_CARP=true
SQUID_WCCP=true
SQUID_IDENT=true
SQUID_REFERER_LOG=true
SQUID_USERAGENT_LOG=true
SQUID_KQUEUE=true
/usr/local/etc/squid/squid.confを編集
#キャッシュを増やす 100(MB)->4096(MB)
cache_dir ufs /usr/local/squid/cache 4096 16 256
#アクセス許可のネットワークを指定
acl ほげほげ src www.xxx.yyy.zzz/255.255.255.248
#アクセスを許可
http_access allow ほげほげ
#できるだけ寡黙なプロキシにするための設定
visible_hostname unknown
forwarded_for off
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all
昔のsquidの時は下3行の設定が無くてソースをいじって対応してました。なのでportsは使っていなかったけど、今回はportsを使うようにしました。
他にも
anonymize_headers deny From Referer Server
anonymize_header deny User-Agent WWW-Authenticate Link
fake_user_agent Mozilla/4.99 [en] (Windows NT 5.0; U)
とかあるけど、ここまでやると逆に不自然なのであえて指定してません。
設定間違いが無いかは
/usr/local/sbin/squid parse
で確認。エラーが出たら修正。
portsの場合はデフォルトで/usr/local/squid下にキャッシュやログができます。
squidは使い始めにキャッシュのディレクトリ構造を作ってやる必要があるので
/usr/local/sbin/squid -z
で初期化する。
/etc/rc.confに
squid_enable=yes
を追加。
/usr/local/etc/rc.d/squid startで起動。
なんかstopがうまく効かない。とにかく動いたので後日調べよう。
↑これは/usr/local/squid/logs/squid.pidに変な数字が入っていたせいだった。消して再起動で動くようになった。んー、まあいいか。
パスワードによるアクセス制限
squid.confに追記
acl hogehoge proxy_auth REQUIRED
http_access allow hogehoge
auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/passwd.squid
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
/usr/local/etcにパスワードファイル作成
# htpasswd -c passwd.squid ユーザー名
New password:
Re-type new password:
Adding password for user ユーザー名