squid は プロキシキャッシュのサービス。&br;
 オープンソース(ライセンスは GPL)。クラスプラットフォーム。ヤリイカだそうです。
 
 - [[squid(公式/英語):http://www.squid-cache.org/]]
 -- [[Squid Versions(Download):http://www.squid-cache.org/Versions/]]
 - [[Squid cache (Wikipedia):http://ja.wikipedia.org/wiki/Squid_cache]]
 
 ** 入手 [#s5b788b8]
 ここからダウンロード。
 - [[Squid Versions:http://www.squid-cache.org/Versions/]]
 
 ソースは 2.x まで C、3.0 から C++ になっているので注意。&br;
 3.x 系の安定バージョンは 2010年 05月 現在 3.1.3。
 
 #contents
 
 ** とりあえず使ってみる [#pf8edc27]
 Fedora 12 などの最近の Linux には squid をインストール時に組み込めたりする。&br;
 インストールで導入してない場合は、パッケージをインストールして使ってみる。
 
 + スーパーユーザになる。
  $ su -
 + squid をインストールする。
  # yum install squid
 + /etc/squid/squid.conf を開いて、次の項目を変更、追加。&br;
 -- "acl CONNECT method CONNECT" の次の行くらいに以下を追記。&br;
  acl lan src 192.168.0.0/255.255.255.0
  acl example_net src 192.168.0.0/255.255.255.0
 ※"example_net" は何でも良い。下の http_access allow の記述に合わせる。&br;
 ※この IP はローカル使用を想定してます。
 -- "http_access allow localhost" の次の行くらいに以下を追記。&br;
  http_access allow lan
 -- "http_access deny all" の前の行に以下を追記。&br;
  http_access allow example_net
 ※"example_net" は何でも良い。上の acl の記述に合わせる。
 -- "http_access deny all" の次の行くらいに以下を追記。&br;
  forwarded_for off
 -- 次の行を追記。(多分どこでも良い)&br;
  visible_hostname squid.example.com
 ※ローカルで使用する名前なら何でも良い。
 -- 次の行を追記。(多分どこでも良い)&br;
  request_header_access X-Forwarded-For deny all
  request_header_access Via deny all
  request_header_access Cache-Control deny all
 + 「システム」→「管理」→「ファイアーウォール」を開く。
 + 画面左ペインから「その他のポート」を選択。
 + 画面右ペインで「追加」を押して 3128 番(squid)を選択して「OK」。
 + 「適用」を押して設定画面を閉じる。
 + squid を起動。
  /etc/rc.d/init.d/squid start
 + 自動起動の設定もしておく(任意)
  # chkconfig squid on
 
 これで、このサーバを介してインターネットに接続してみる。
 
 IE8 なら、「ツール」→「インターネットオプション」→「接続」タブ→「LANの設定」で「プロキシサーバ」のチェックボックスを ON にして、アドレスに上記で設定した Linux サーバの IPを、ポートに 3128 を設定。
 
 Firefox の場合も 「ツール」→「オプション」→「詳細」タブ→「ネットワーク」タブの接続グループに同様の設定がある。
 
 上記設定をして、どこかインターネットのページ(www.yahoo.co.jp とか)を開いてみる。開ければ、とりあえず動いてるということ。
 
 ** コンパイルして実行してみる [#p052867c]
 今度は yum ではなく、squid のソースから導入してみる。
 
 + まず、ダウンロード。
 -- [[squid downlad:http://www.squid-cache.org/Versions/]]
 -- どこでもいいけど、ここは /home/(ユーザ名)/download に squid-3.1.x.tar.gz として保存したとする。
 + スーパーユーザになる。&br;
  $ su -
 + カレントを移動する。
  # cd /home/(ユーザ名)/download
 + ダウンロードした書庫を展開する。
  # tar zxvf squid-3.1.x.tar.gz
 ※squid-3.1.x というディレクトリができる。
 + カレントを移動する。
  # cd squid-3.1.x
 + configure して Makefile をつくる。
  # ./configure
 + make する。
  # make
 + 特にエラーがなければインストールする。
  # make install
 + ここまでで、/usr/local/squid にインストールされているはずなので、確認。
  # ls /usr/local/squid
 + squid 用のグループがあるか確認。
  # grep squid /etc/group
 -- 見つかれば、すでにあるということ。私の環境には以下のようなグループが既にあった。
  squid:x:23:
 ※yum で squid を入れると勝手に作成されるのかな。。ちとよくわからん。
 -- ない場合は作成。
  # groupadd squid
 + squid 用のユーザがいるか確認。
  # grep squid /etc/passwd ←実際は半角です。なぜか wiki 更新できないので全角で書いてますが。
 -- 私の環境には以下のようなユーザが既にいた。
  squid:x:23:23::/var/spool/squid:/sbin/nologin
 -- いない場合は作成。
  # useradd -g squid -s /sbin/nologin squid
 ※明示的なログインを不可にするので、ホームディレクトリはいらんでしょう。多分。
 + キャッシュディレクトリを作成。
  # mkdir /usr/local/squid/var/cache
 + ログディレクトリを作成。
  # mkdir /usr/local/squid/var/logs
 ※これは多分インストールで作成されてると思う。
 + キャッシュとログのディレクトリのオーナーを squid に変更する。
  # chown squid /usr/local/squid/var/cache
  # chown squid /usr/local/squid/var/logs
  # chown squid /usr/local/squid/var/run
 或いは、こうかな。
  # chown -R squid /usr/local/squid/var
 + squid.conf を設定する。
 -- 上記 yum で設定したものがあれば /usr/local/squid/etc にコピー。
  # mv /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.org ← 一応バックアップ
  # cp /etc/squid/squid.conf /usr/local/squid/etc/squid.conf
 -- なければ、上記を参考に設定。
  # vi /usr/local/squid/etc/squid.conf
 -- 上記に加えて、以下も設定。
 --- cache_dir の設定を変更。
  #cache_dir ufs /var/spool/squid 100 16 256
  cache_dir ufs /usr/local/squid/var/cache 1024 16 256
 ※コメントになってるので、有効にしてパスとサイズを書き換える。&br;
 ※ここは サイズ 1G としてますが、お好みで。
 --- coredump_dir の設定変更。
  #coredump_dir /var/spool/squid
  coredump_dir /usr/local/squid/var/cache
 + キャッシュディレクトリを作成させる。
  # sudo squid /usr/local/squid/sbin/squid -z
 ※ユーザ squid が所有者となるように sudo で実行。
 
 ここまでで、一応動くようになっているはず。
 
 squid ユーザで、とりあえずログ出力させながら起動してみる。
  # sudo squid /usr/local/squid/sbin/squid -NCd1
 
 ※-NCd1 というのは、非デーモン、デバッグモードで起動する、というオプションです。&br;
 ※実行後プロンプトに復帰しないので、停止させる場合は Ctrl + C で。
 
 特にエラーが出ていないようなら、Windows などの PC で接続してみる。&br;
 Windows 側のインターネットの設定方法は、上述と同じで。
 
 
 *** 参考 [#id28b92e]
 - [[プロキシサーバー構築(Squid):http://fedorasrv.com/squid.shtml]]
 - [[Fedora 12 でプロキシサーバー構築(squid):http://ytooyama.spaces.live.com/blog/cns!916D80FD288EB35A!902.entry]]
 - [[Proxyキャッシュサーバ設定術―Squidの設定:http://arika.org/doc/sd.200112]]
 - [[squidのインストールと設定:http://www.rose.sannet.ne.jp/nterasim/linux/squidinst.html]]
 
  
 
 
 -----
 [[MLEXP. Wiki]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS