[ Delegate のインストール ] [FreeBSDページに戻る] [HOMEに戻る]
Delegate は、Proxy
サーバーとして機能させたい場合に使用します。
詳細は、http://wall.etl.go.jp/delegate/
を参考にして下さい。
[01] delegate の入手
FreeBSD の CD-ROM をお持ちの人は、/packages/All
にある delegate-5.7.2.tgz
などを使用しますので、フォルダ(
/usr/local/packages )を作って、そこへ入れて
おきます。
無い場合は、ftp.freebsd.org/pub/FreeBSD/packages-2.2.8
等から最新の delegate
をダウンロードして、ローカルのフォルダへ持ってくる。
[02] delegate のインストール
スーパーユーザー(su)となって、delegate-5.7.2.tgz
のあるディレクトリへ移り
% pkg_add delegate-5.7.2.tgz
とすると、勝手にインストールしてくれます。
[03] delegate.conf の作成
FreeBSD 2.2.1 以上であれば、/usr/local/etc
が設定ファイルを置くディレクトリ
となりますので、ここに delegate.conf
を作って入れておきます。
詳細は、/usr/local/share/doc/delegate/Manual.txt を参照して下さい。
(例) RESOLV=file,dns MANAGER=tommy@temp.co.jp # 管理者のメールアドレス SERVER=http://www.temp.co.jp/ # delegate のポートにアクセスがあった場合 CONNECT=direct:*:{150.61.0.0/@B,192.168.0.0/@B,172.[16-31].0.0/@B} CONNECT=cache,master,direct:*:* PROXY=proxy.temp.co.jp:10080:!192.168.0.0/@B,192.168.1.0/@B,192.168.[5-10].0/@B AUTH=anonftp:*:* # ftp のためのおまじない CHARCODE=SJIS CACHEDIR=/delegate/cache # delegate のキャッシュディレクトリ LOGDIR=/delegate/log # ログディレクトリ PERMIT=*:*:{192.168.1.0/@C,192.168.0.1,192.168.0.[11-15]} # アクセス制限 MAXIMA=delegated:15 # サーバーへの同時接続許可端末数 EXPIRE=7d # キャッシュの有効期限 LOGFILE='${LOGDIR}/${PORT}[date+.%d]' PROTOLOG='${LOGDIR}/${PORT}.${PROTO}[date+.%d]' ACTDIR=/var/run # RunID
[04] delegate の起動
pkg_add でインストールすると、/usr/local/share/examples/delegate/delegated.sh
というのが自動的に作られますので、これを
/usr/local/etc/rc.d にコピーします。
% cp /usr/local/share/sample/delegate/delegated.sh
/usr/local/etc/rc.d
コピーした delegated.sh
のパーミッションを起動可能にしておきます。
% cd /usr/local/etc/rc.d
% chmod 775 delegated.sh
reboot で再起動すれば、自動的に立ち上がるようになっています。
その場ですぐ起動したい場合は、% cd
/usr/local/etc/rc.d にカレントを移して
% ./delegated.sh とすれば、delegated が起動します。
(delegated.sh の内容) #!/bin/sh if [ -x /usr/local/sbin/delegated ]; then echo -n ' delegated' /usr/local/sbin/delegated -P10080 \ # ポート番号 +=/usr/local/etc/delegate.conf \ # コンフィグ読み込み # MANAGER=delegate-master@your.host.domain \ # delegate.confで指定 # CHARCODE=JIS \ # 〃 # CACHEDIR=/var/spool/delegate/cache \ # 〃 # EXPIRE=7d \ # 〃 # RELIABLE=hostname \ # 〃 > /dev/null 2>&1 fi
これでブラウザの proxy
設定を、このサーバーにすれば proxy
経由でアクセス
できるようになります。( 上記設定の場合
port=10080 )
[05] ログ・キャッシュの削除
/delegate/log および /delegate/cache
が、いっぱいになってしまうのを防ぐため
cron
で定期的に古いファイルを削除していく必要があります。
/etc/crontab に以下のような行を追加します。
(例) 30 2 * * * root find /delegate/log -atime +7 -delete 0 1 * * * root find /delegate/cache -atime +7 -exec rm -rf {} \;
これで、1週間以上前のキャッシュが毎日午前1時ごろに削除されるようになります。
[06] ログ(port number) の削除
05のログ削除は、毎日のアクセスログだけです。
これとは別に、ポート番号のファイルが作られており起動時や様々なログが書き込ま
れているファイルがあります。
これも、放っておくとかなり大きなサイズとなってしまうため、定期的に削除した方
がよいでしょう。
/usr/local/bin
の中に、以下のようなファイルを作り適当な名前で保存しておきます。
(例 /usr/local/bin/portlogdel) #! /bin/csh # rm /delegate/log/10080 kill -HUP `cat /tmp/delegate/pid/10080` # delegate の ID がここに入っている
このファイルに、実行権を与えておく(chmod 777 portlogdel)のを忘れずに。
先ほどと同じように、/etc/crontab に
0 3 * * 6 root /usr/local/bin/portlogdel
という行を追加しておきます。
[07] cron の再起動
% ps -aux | grep cron で cron の ID を確認して
% kill -HUP (cron-ID)
を実行し cron を再起動させます。
[08] delegate の起動確認
ブラウザの proxy
の設定で、このサーバーのホスト名および proxy
port(10080)
を設定し、アドレスに http://-.-/-/
と入れて表示させると、ブラウザ上で起動の
確認ができます。