プロキシサーバの設定





w3c-httpdの場合
rc.localに以下の行を追加する。
# start proxy
if  [ -f  /usr/local/libexec/httpd  ];  then
/usr/local/libexec/httpd  -r  /etc/caching.conf  ;
(echo  -n  'Starting  proxy.' )  >  /dev/console
fi

caching.confを以下の箇所を変更して/etcディレクトリにコピーする。
Port  8080
UserId  nobody
GroupId  nogroup
ServerId  (サーバ名を記入する)
Mask  @(192.168.*.*) IPアドレスにあわせる

キャッシュ用のディレクトリ作成
#cd /var/spool
#mkdir cache
#chmod 766 cache
#chown nobody.nogroup cache
#cd cache
#makdir http
#mkdir ftp
#chmod 766 http
#chmod 766 ftp
#chown nobody.nogroup http
#chown nobody.nogroup ftp

ログディレクトリの作成
#cd /usr/local/etc
#mkdir httpd
#cd httpd
#mkdir proxy
再起動後、稼働可能。

実際に稼働しての感想としては、一番軽く動作するという感じで、
ログについてもどのパソコンからいつどのページを見ているのかが、
わかりやすい。
delegateの場合
キャッシュとログ用のディレクトリ作成
#cd /var/spool
#mkdir delegate
#cd delegate
#mkdir cache
#mkdir log
#mkdir work
#chmod 766 cache
#chmod 766 log
#chmod 766 work
#chown nobody.nogroup cache
#chown nobody.nogroup log
#chown nobody.nogroup work
#cd cache
#mkdir http
#mkdir ftp
#chmod 766 http
#chmod 766 ftp
#chown nobody.nogroup http
#chown nobody.nogroup ftp
#cd /var/spool/delegate/log
#mkdir 0
#mkdir 8080
#mkdir 8080.http
#mkdir 8080.ftp
#chmod 666 0
#chmod 666 8080
#chmod 666 8080.http
#chmod 666 8080.ftp
#chown nobody.nogroup 0
#chown nobody.nogroup 8080
#chown nobody.nogroup 8080.http
#chown nobody.nogroup 8080.ftp

起動ファイルdelegate.sh(モード755)を以下のように作成し、
/usr/local/etc/rc.d/におく。
#!/bin/sh
if  [ -x /usr/local/sbin/delegated ]; then
echo -n ' delegated'
/usr/local/sbin/delegated -P8080 \
MANAGER=higashi@higashibsd.niigatahigashi-th.ed.jp \
CHARCODE=EUC \
CACHEDIR=/var/spool/delegate/cache \
EXPIRE=7d \
RELIABLE=192.168.0.* 192.168.2.* \
> /dev/null 2>&1
fi

実際に稼働してみて、ログファイルが大きくなってしまうという事が気になる。
squidの場合
pkg_addでsquidのパッケージを追加する
/stand/sysinstallでパッケージを追加すると途中で止まってしまう。

キャッシュとログ用ののディレクトリー確認
パッケージを追加すると/usr/local/squid というディレクトリーが
できているはずです。

キャッシュとログ用のディレクトリーを作成する。
#mkdir cache
#mkdir logs

ディレクトリーのモードとオーナー、グループを変更する。
#chmod 766 cache
#chmod 766 logs
#chown nobody.nogroup cache
#chown nobody.nogroup logs

作成変更後キャッシュ用のディレクトリーを squid -z を実行して作成する。
#/usr/local/sbin/squid -z

squid.confの設定
/usr/local/etc/squid
というディレクトリーにsquid.confという設定ファイルを新しく以下の
ように作成する。

http_port 8080
icp_port 0
refresh_pattern . 4320 25% 4320
cache_effective_user nobody nogroup

という最低4行があれば稼働できる。

logfile_rotate 6
という1行を追加して、さらに/etc/crontabにも次の1行を追加する。
30 5 1 * * nobody /bin/kill -USR1 `cat /usr/local/squid/logs/squid.pid`

毎月1日のAM5:30にログファイルをローティションさせる。
何もしないでいるとログファイルが大きくなっていくだけになるため。

また他にも細かく設定も可能である。(squid.conf.defaultを参照のこと)

再起動後 squidにてproxyサーバとして稼働される。

実際に稼働して、前の2種類は、インターネットに接続していない限り、
キャッシュされたデータは、ブラウジングはできなかったが、squidだけは、
接続を切った後でも、ブラウンジグが可能のため、以前みたページは見るこ
とが可能になる。ただ、ログに関しては、いつ見ていたのかが、簡単には
把握できないような形(UNIX時間単位)になっているのが、残念な所である。
でも、どのパソコンからどのページを見ているかは分かる。

現在のサーバはsquidを利用して稼働させている。

クライアントマシンの設定については、3種類とも同じ設定でOK。
IEおよびネスケでのオプションでプロキシサーバの設定をしておく。
(プロキシサーバとポートの設定)