Dell Optiplex GXa SolarisTM 9  x86  12/02

squid-2.5.STABLE4

戻る
proxy (プロクシ(プロキシと発音する人もいる) 代理という意味) キャッシュ サーバーソフト。 必要なソフトウェア:
squid-2.5.STABLE4.tar.gz(02.Jly.2002 Released) http://www.squid-cache.org/Versions/v2/2.5/
準備からインストール:
作業ディレクトリを作成する。
$ mkdir /opt/src/squid-2.5.STABLE4
作成したディレクトリに移動する。
$ cd /opt/src/squid-2.5.STABLE4/
アーカイブをダウンロードする。
$ wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE4.tar.gz
アーカイブを解凍展開する。
$ tar xozf squid-2.5.STABLE4.tar.gz
展開されたディレクトリに移動する。
$ cd squid-2.5.STABLE4
最適化スクリプトを実行する。
$ ./configure --sysconfdir=/etc
コンパイルスクリプトを実行する。
$ make all
SuperUserになる。
$ su password:
インストールする。
# make install
インストールされたディレクトリの所有者と所属グループを変更しておく。
# chown -R nobody:nogroup /usr/local/squid
設 定:
設定ファイルをviで開く。
# vi /etc/squid.conf
以下のように変更して保存する。
53行目 http_port 8080  (最近(ここ1〜2ヶ月の間)8080ポートをスキャンされることが  多いので、ルーターやFireWallで閉じる事が出来ない場合は、  3128と8080以外の他の奇想天外なポート番号を指定した方  がいいだろう) 115行目 icp_port 0  (他のキャッシュサーバーと連携をとる訳ではないので、0を  指定してやる) 486行目 cache_mem 0 MB  (今回のサーバーはキャッシュプロクシ専用と言う訳ではなく、  搭載メモリ容量も少ないのでメモリキャッシュは使用しない。) 519行目 maximum_object_size 40960 KB  (キャッシュ対象のファイルサイズ上限はデフォルトでは4MB  だが比較的大きなアーカイブもキャッシュするように40MBに  した) 695行目 cache_dir ufs /var/spool/squid_cache 400 32 256  (キャッシュファイルのパスを指定し、容量も指定している。  家庭内LAN用なのと、/varの残り容量を加味して、容量は  比較的少なめの400MBとした。  一次ディレクトリ数は32個、それぞれの中の二次ディレ  クトリ数は256個に指定している) 702行目 cache_access_log /var/log/squid/access.log  (ログのパス指定) 710行目 cache_log /var/log/squid/cache.log  (ログのパス指定) 762行目 emulate_httpd_log on  (デフォルトのアクセスログは非常に見づらい(時刻表記が1970年1月1日からの   加算秒になってたり)ので、Apacheのログ出力に準拠したフォーマットにする。) 815行目 pid_filename /var/log/squid/squid.pid  (プロセスIDメモファイルのパス指定) 863行目 ftp_user you@domain1.com  (匿名ftp時のパスワード指定(自分のメールアドレス)) 1743行目以下に追加行 acl LAN src 192.168.0.0/255.255.255.0 http_access allow LAN  (アクセス許可ホスト(ネットワーク)をLANという名前で定義して、  許可を与える) 1986と1987行目 cache_effective_user nobody cache_effective_group nogroup  (コメントアウト(#)を外す) 2163行目 logfile_rotate 10  (コメントアウト(#)を外す)
ログ格納ディレクトリを作成する。
# mkdir /var/log/squid
作成したログ格納ディレクトリをsquidを実行するユーザー権限に変更する。
# chown -R nobody:nogroup /var/log/squid
一時的に/var/spoolディレクトリのパーミッションを緩くしておく。
# chmod 777 /var/spool
キャッシュファイル用ディレクトリ(/var/spool/squid_cache/)を作成させる。  (結構時間がかかった)
# /usr/local/squid/bin/squid -z
/var/spoolディレクトリのパーミッションを戻す。
# chmod 755 /var/spool
起動してみる。
# /usr/local/squid/bin/squid
起動スクリプトの作成:
Linux用の起動スクリプトならソースに付属 /opt/src/squid-2.5.STABLE4/squid-2.5.STABLE4/contrib/squid.rc しているが、Solaris用に書き換えるには内容が違いすぎるので、 単純なスクリプトを以下のように新しく手書きした。 新規ファイル /etc/init.d/squid.rc をviで作成する。
# vi /etc/init.d/squidrc
以下の内容を書き込んで保存する。
#!/bin/sh case "$1" in 'start') if [ -f /etc/squid.conf ] ; then /usr/local/squid/bin/squid & echo " Squid STARTED OK!" fi ;; 'stop') if [ -n /var/log/squid/squid.pid ] ; then /usr/local/squid/bin/squid -k shutdown echo " Squid STOPPED ok " fi ;; *) echo " !!! ??? !!! squid.rc { start | stop } !!! ??? !!! " ;; esac exit 0
作成した起動スクリプトのパーミッションに実行を追加する。
# chmod 755 /etc/init.d/squid.rc
テストしてみる。
# /etc/init.d/squid.rc stop # /etc/init.d/squid.rc start
ディレクトリを移動する。
# cd /etc/rc2.d
起動スクリプトのシンボリックリンクをこの中に張る。
# ln -s ../init.d/squid.rc ./S99squid