Go to TOP Page
Google:


□3.0 に Version UP!!


○2.0 系との違い。

おおきなトコは、

ってなトコかな。

(_o_)スマン(_o_)
(_o_)オイラも良くワカラン(_o_)

□とりあえず build してみる。


○ダウンしてくるもの。

2008/02/01 日現在、squid-3.0.STABLE1 が最新。
squid のサイトは、

squid logo
http://www.squid-cache.org/

で、ダウンしてきてちょーらい。
ダウンしてきたら、

してアーカイブを緩めておいて、./squid-3.0.STABLE1 をカレント にしておいてちょーらい。

○configure

configure のオプションがいっぱいあるので、まずは、

してなんのオプションがあるのか調べた方がヨイに決まってる よねっ!!
今回、オイラがつけたオプションは・・・


./configure オプションの一例
./configure --enable-maintainer-mode --enable-gnuregex \
            --enable-debug-cbdata --enable-xmalloc-statistics \
            --enable-icmp --enable-delay-pools --enable-esi \
            --enable-icap-client --enable-useragent-log \
            --enable-referer-log --enable-kill-parent-hack \
            --enable-arp-acl --enable-ssl \
            --with-openssl=/usr/local/ssl

今回もいっぱいありまつね。
ってゆーか、

(_o_)スマン(_o_)
(_o_)オイラも良くワカラン(_o_)
(_o_)なので、コンパイルできそーなオプションを(_o_)
(_o_)メイッパイ詰め込んでみまつた。(_o_)

--enable-debug-cbdata は無くても良かったかな?
./configure が終わったら、後は、

して Build & install しませう。
特にエラーが発生したりとかしていなければ、 /usr/local/squid に インストールされまつ。


□環境設定


○squid.conf の Edit

環境設定のファイルは、 /usr/local/squid/etc/squid.conf ね。
ポリシーとしてわ、

ってとこか。
ICAP や ESI はどーしたっ!?ってトコについては・・・

(_o_)スマン(_o_)
(_o_)オイラも良くワカラン(_o_)

最低限、編集しないといけないとこは、


必須で編集するとこ
ディレクティブ せつめい
visible_hostname hoge.foobar.com proxy の FQDN
http_port 8080 ポート。慣例に従って8080でヨイのでわないかと。
ache_dir ufs /var/squid/cache 100 16 256 キャッシュするとこ。
オイラ的には、 /var に作るのが好みでつ。
acl localnet src 192.168.126.0/24 アクセスするネットの定義。
ここを間違えると OpenProxy になっちゃうよ。
http_access allow localnet アクセスするネットを許可する定義。
forwarded_for OFF Client の IP を知らせない。
知らせちゃうと、イワユル漏れ串☆Σ(°□°)
cache_effective_user nobody squid daemon の権限。
access_log /var/squid/logs/access.log squid アクセスログのレポジトリ。
cache_log /var/squid/logs/cach.log キャッシュログのレポジトリ。
cache_store_log /var/squid/logs/store.log キャッシュストアログのレポジトリ。

□squid の初期設定


○ログ/キャッシュディレクトリの作成

squid.conf に書いたログやキャッシュのレポジトリにディレクトリ を作ってパーミッションを与えておきましょう。
オイラ的な環境では、

ってなとこで。
キャッシュとかログも該当のパーミッションを付けないと読み書きできません。
ご注意あれ。


○squid.conf の確認

squid.conf の記述にエラーがないか確認しませぅ。

でチェックできるよ。
squid.conf にエラーが見つからなければ、


問題なかったときのメッセージ?
2008/02/08 15:05:09| Initializing https proxy context

って出るミタイ。


□squid の初期化


○ログファイルとか、キャッシュディレクトリを作る

でわ、初回起動時に初期化しまつ。
ログのディレクトリにファイルを作ったり、キャッシュのディレクトリ にサブディレクトリが沢山つくられまつ。
初期化のコマンドは、

でつ。
初期化実行中は、


初期化中メッセージ
# /usr/local/squid/sbin/squid -z
2008/02/08 15:08:55| Initializing https proxy context
2008/02/08 15:08:55| Creating Swap Directories
2008/02/08 15:08:55| /var/squid/cache exists
2008/02/08 15:08:55| Making directories in /var/squid/cache/00
2008/02/08 15:08:55| Making directories in /var/squid/cache/01
2008/02/08 15:08:56| Making directories in /var/squid/cache/02
2008/02/08 15:08:56| Making directories in /var/squid/cache/03
2008/02/08 15:08:56| Making directories in /var/squid/cache/04
2008/02/08 15:08:56| Making directories in /var/squid/cache/05
2008/02/08 15:08:57| Making directories in /var/squid/cache/06
2008/02/08 15:08:57| Making directories in /var/squid/cache/07
2008/02/08 15:08:58| Making directories in /var/squid/cache/08
2008/02/08 15:08:58| Making directories in /var/squid/cache/09
2008/02/08 15:08:59| Making directories in /var/squid/cache/0A
2008/02/08 15:08:59| Making directories in /var/squid/cache/0B
2008/02/08 15:09:00| Making directories in /var/squid/cache/0C
2008/02/08 15:09:00| Making directories in /var/squid/cache/0D
2008/02/08 15:09:01| Making directories in /var/squid/cache/0E
2008/02/08 15:09:02| Making directories in /var/squid/cache/0F
#

ってなメッセージが表示されまつ。


□squid の運用。


○squid の起動

コマンドラインからの起動であれば、

でおっけ。
起動直後にログに吐き出したーみたいなメッセージがちょこっとでまつ。


起動直後のメッセージ
# Running: squid -sY    >>  /usr/local/squid/var/squid.out 2>&1

こんなのがでまつ。
ps -ef | grep squid -v squid とかして daemon が居るかみてみませぅ。


squid damon を ps で調べる
# ps -ef | grep squid | grep -v grep
nobody 19145 19142       0 15:17:06 pts/2     0:02 squid -NsY
居たっ。v(^^;)

ってとこでおっけぇ。


○squid の shutdown

可能な限り、 #pkill -9 squid とかしないのが推奨されていまつ。
# pkill -HUP も控えなくっちゃね。
squid のshutdown は、

だそーでつ。
キャッシュのフラッシュやログファイルを close するので、daemon は すぐには終了しません。数十秒程度まってから、ps -ef | grep squid とかして daemon がなくなっているのを確認しませう。
キャッシュのサイズが大きかったりすると、さらに時間がかかるモヨウでつ。

リスクを承知の上でどうしても # pkill -9 squid 的なことがしたい場合、

だそうでつ。
-k kill してもスパッとは落ちません。
それでもダメなら、

# pkill -9 squid

しかないな。
キャッシュが壊れるカモってのわ承知の上でやってね。


□squid の自動起動


○自動的に起動したほうがラクだよね。

サーバを再起動するたびにコマンドラインでなんて起動してられない っつーワケで。
自動起動用のスクリプトでつ。
不具合があるカモしれませんが、適宜、良きに計らって改変してくらさい。

ファイルを置くレポジトリは、

アタリでヨイのでわないかと・・・。
ランレベルとか、ファイル名はお好きなように。
んで、スクリプトの中身は、


スクリプトの一例
#!/bin/sh
#
# squid script
#
# This file should have uid root, gid sys and chmod 744
#
SQUID=/usr/local/squid

if [ ! -d ${SQUID} ]; then
echo "squid not found."
exit # /usr/local/squid not mounted
fi

# Start/stop processes required for qmail server
case "$1" in

'start')
echo "Start squid."
${SQUID}/bin/RunCache &
;;

'stop')
${SQUID}/sbin/squid -k shutdown
echo "Terminate squid."
echo "waite a few min."
;

'kill')
${SQUID}/sbin/squid -k kill
echo "kill squid."
;;

'restart')
$0 stop
$0 start
echo "Restart squid."
;;
*)
echo "Usage: $0 { start | stop | kill | restart }"
;;
esac

○SMF にマニフェストがっ?

おもむろに、

とかしてみたら、


マニフェストの表示
legacy_run Nov_20 lrc:/etc/rc3_d/S99squid

だって。
svcsadm とかで enable / disable できるのかな?
今度試してみよう(笑)




go back    next
Copyright(c) ORATORIO-TANGRAM.com 2001-2007 All Rights Reserved.
Total:counter