![]() |
おおきなトコは、
ってなトコかな。
2008/02/01 日現在、squid-3.0.STABLE1 が最新。
squid のサイトは、
で、ダウンしてきてちょーらい。
ダウンしてきたら、
してアーカイブを緩めておいて、./squid-3.0.STABLE1 をカレント
にしておいてちょーらい。
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 |
今回もいっぱいありまつね。
ってゆーか、
--enable-debug-cbdata は無くても良かったかな?
./configure が終わったら、後は、
して Build & install しませう。
特にエラーが発生したりとかしていなければ、 /usr/local/squid に
インストールされまつ。
環境設定のファイルは、 /usr/local/squid/etc/squid.conf ね。
ポリシーとしてわ、
ってとこか。
ICAP や ESI はどーしたっ!?ってトコについては・・・
最低限、編集しないといけないとこは、
ディレクティブ | せつめい |
---|---|
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.conf に書いたログやキャッシュのレポジトリにディレクトリ
を作ってパーミッションを与えておきましょう。
オイラ的な環境では、
ってなとこで。
キャッシュとかログも該当のパーミッションを付けないと読み書きできません。
ご注意あれ。
squid.conf の記述にエラーがないか確認しませぅ。
でチェックできるよ。
squid.conf にエラーが見つからなければ、
2008/02/08 15:05:09| Initializing https proxy context |
って出るミタイ。
でわ、初回起動時に初期化しまつ。
ログのディレクトリにファイルを作ったり、キャッシュのディレクトリ
にサブディレクトリが沢山つくられまつ。
初期化のコマンドは、
でつ。
初期化実行中は、
# /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 # |
ってなメッセージが表示されまつ。
コマンドラインからの起動であれば、
でおっけ。
起動直後にログに吐き出したーみたいなメッセージがちょこっとでまつ。
# Running: squid -sY >> /usr/local/squid/var/squid.out 2>&1 |
こんなのがでまつ。
ps -ef | grep squid -v squid とかして daemon が居るかみてみませぅ。
# ps -ef | grep squid | grep -v grep nobody 19145 19142 0 15:17:06 pts/2 0:02 squid -NsY |
ってとこでおっけぇ。
可能な限り、 #pkill -9 squid とかしないのが推奨されていまつ。
# pkill -HUP も控えなくっちゃね。
squid のshutdown は、
だそーでつ。
キャッシュのフラッシュやログファイルを close するので、daemon は
すぐには終了しません。数十秒程度まってから、ps -ef | grep squid
とかして daemon がなくなっているのを確認しませう。
キャッシュのサイズが大きかったりすると、さらに時間がかかるモヨウでつ。
リスクを承知の上でどうしても # pkill -9 squid 的なことがしたい場合、
だそうでつ。
-k kill してもスパッとは落ちません。
それでもダメなら、
しかないな。
キャッシュが壊れるカモってのわ承知の上でやってね。
サーバを再起動するたびにコマンドラインでなんて起動してられない
っつーワケで。
自動起動用のスクリプトでつ。
不具合があるカモしれませんが、適宜、良きに計らって改変してくらさい。
ファイルを置くレポジトリは、
アタリでヨイのでわないかと・・・。
ランレベルとか、ファイル名はお好きなように。
んで、スクリプトの中身は、
#!/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."
fiexit # /usr/local/squid not mounted # 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 |
おもむろに、
とかしてみたら、
legacy_run Nov_20 lrc:/etc/rc3_d/S99squid |
だって。
svcsadm とかで enable / disable できるのかな?
今度試してみよう(笑)