■squidのインストールと設定
                         
  HTTPやFTPの通信をキャッシュして通信を代理するためのプロキシサーバをいいます        
  ここではインストール及び設定方法を行います              
                         
1、squidのインストール
                         
  # wget http://www.squid-cache.org/Versions/v2/2.7/squid-2.7.STABLE3.tar.gz        
  適当なディレクトリにダウンロードをしてきます              
  # tar xzvf squid-2.7.STABLE3.tar.gz                
  # cd squid-2.7.STABLE3                  
  # ./configure --enable-err-language=Japanese --enable-useragent-log --enable-referer-log \      
  --enable-linux-netfilter --enable-poll --enable-carp --enabl e-removal-policies="heap,lru" \      
  --enable-storeio="diskd,ufs" --enable-auth-modules="LDAP,NCS A,PAM,SMB,MSNT" \        
  --disable-ident-lookups --disable-internal-dns              
  # make                      
  # make install                    
                         
  インストールが完了したら/usr/local/squidに必要ファイルがまとめて置かれているはずです        
                         
2、今回使用したオプションについて
                         
  使用したオプションの説明を下記にまとめました              
    詳しくは英語ですが以下のサイトにまとめられています            
    http://www.visolve.com/squid/squid30/accesscontrols.php          
                         
    --enable-err-language=Japanese  インストールする言語の選択          
    --enable-useragent-log   ユーザーエージェントのヘッダー情報をログに残します      
    --enable-referer-log    リファラーヘッダーをログに残します          
    --enable-linux-netfilter  透過プロキシを使用するためのオプションです        
    --enable-poll   ディスクI/Oに関するオプションらしい。redhatのデフォルトインストールでは有効    
    --enable-carp   Cache Array Routing Protocolの使用            
    --enabl e-removal-policies  組み込むモジュールリストを記載? redhatのデフォルトインストールでは有効  
    --enable-storeio  キャッシュに使うファイルシステムを指定          
    --enable-auth-modules  使用する認証モジュールの指定          
    --disable-ident-lookups  identルックアップを無効にする キャッシュを無効にするときも使用するらしい    
    --disable-internal-dns DNS関連タブを使用できるようにします          
                         
3、squidが使用するユーザー及びグループの作成・所有権の変更
                         
                         
  squidがキャッシュをディスクに書き込むために使用するユーザーを作成します          
                         
  # groupadd squidg ←squidgというグループを作成しています            
  # useradd -g squidg -s /bin/false squidu ←squiduというユーザーを作成しています        
                         
  続いて、作成したsquiduユーザーにインストールしたsquid関連ディレクトリの所有権を変更します      
                         
  # chown -R squidu:squidg /usr/local/squid                
                         
4、squid.confの設定
                         
  squidを起動させるためにsquid.confの設定を行います              
  /usr/local/squid/etcにsquid.confがあります                
  squid.confを見ますとすべてコメントアウトされていますが、デフォルトの状態で使用する場合はコメント"#"を    
  外す必要はありません                  
  設定を変更する場合は"#"を外してください                
                         
  主な設定は以下です                    
                         
  http_port 3128  
  使用するポート番号をしていします。デフォルトは3128です  
                         
  cache_dir ufs /usr/local/squid/var/cache 100 16 256  
   squid -z でキャッシュを作成する場所をしていします。デフォルトは/usr/local/squid/var/cache
 です。キャッシュを作成する場所を変更したいときはここの記述を変更します
 また、次に続く数字はキャッシュサイズ(MBで指定)、サブディレクトリ数、サブディレクト配下
 にできるディレクトリの数をあらわしています
 
   
   
   
                         
  access_log /usr/local/squid/var/logs/access.log  
  アクセスログの場所を指定しています。場所を変更したい場合は変更します。
この場合、/usr/local/squid/var/logs/access.logにアクセスログがはきだされます。
 
   
                         
  cache_log /usr/local/squid/var/logs/cache.log  
  キャッシュログの場所を指定しています。場所を変更したい場合は変更します。
 squidのエラーログが記載されます。
 この場合、/usr/local/squid/var/logs/cache.logにキャッシュログがはかれます

 
   
   
                         
  cache_store_log /usr/local/squid/var/logs/store.log  
  ストアログの場所を指定しています。場所を変更したい場合は変更します
 この場合、/usr/local/squid/var/logs/store.logにストアログがはかれます。
 
   
                         
  cache_effective_user squidu  
  キャッシュをディスクに書き込むユーザーを指定します。ここでは"squidu"というユーザーを指定しています。
ここで/etc/passwdに存在しないユーザーを指定した場合squid -zでキャッシュが作成できません。
 
   
                         
  cache_effective_group squidg  
  キャッシュをディスクに書き込むグループを指定します。ここでは"squidu"というグループを指定しています。  
                         
  ftp_user Squid@  
  Anonymousユーザ用メールアドレスを指定します  
                         
  visible_hostname squidlocal.com  
  squidのホスト名を記載します。ここに記載されているホスト名は/etc/hostsに記載されている必要があります。
 ここで使用するホスト名が/etc/hostsに記載されていない場合、アボートしましたとエラーになり
 squidが起動できませんので注意してください。

 
   
   
                         
5、起動スクリプトの作成
                         
  /etc/init.d以下に置くsquidの起動スクリプトを作成します              
  squidには標準で起動スクリプトがありますがストップやリスタートができないのでこの標準起動スクリプトを    
  作り変えます                    
  標準のスクリプトは/usr/local/squid/bin以下にあるRunCacheです            
  作成した起動スクリプトを以下に記載します。コンフィグファイルの場所は必要に応じて設定しなおしてください    
  ----------------------------以下起動スクリプト--------------------------------      
  #!/bin/sh                      
  #                      
  # Startup script for squid                  
                         
  #PREFIX=/var/spool/squid                  
  #LOCKD=/var/run                    
                         
  prefix=/usr/local/squid                  
  exec_prefix=${prefix}                    
  logdir=${prefix}/var                    
  PATH=${exec_prefix}/sbin:/bin:/usr/bin                
  export PATH                    
                         
  conf="/usr/local/squid/etc/squid.conf"                
                         
  case "$1" in                    
  start)                      
  # Start squid daemons:                  
  echo "Running: squid -sDY $conf >> $logdir/squid.out 2>&1"            
  $prefix/sbin/squid -NDsY $conf >> $logdir/squid.out 2>&1 &            
  echo                      
  ;;                      
  stop)                      
  echo -n "Shutting down squid daemons >> $logdir/squid.out 2>&1"          
  $prefix/sbin/squid -k shutdown                  
  ;;                      
  restart)                      
  echo -n "Restart squid daemons >> $logdir/squid.out 2>&1"            
  $prefix/sbin/squid -k reconfigure                
  echo                      
  ;;                      
  *)                      
  echo "Usage: rc.squid {start|stop|restart}"                
  exit 1                      
  ;;                      
  esac                      
  exit 0                      
  -------------------------------------------------------------          
                         
  起動できたか確認するにはpsコマンドを使用すると良いでしょう            
  以下のようにきどうできていればOKです                
  # ps -efw | grep squid                  
  squidu 8615 1 0 23:41 pts/0 00:00:00 [squid]              
  squidu 8621 8615 0 23:41 ? 00:00:00 (unlinkd)              
  squidu 8914 8615 0 23:45 ? 00:00:00 (dnsserver)              
  squidu 8915 8615 0 23:45 ? 00:00:00 (dnsserver)              
  squidu 8916 8615 0 23:45 ? 00:00:00 (dnsserver)              
  squidu 8917 8615 0 23:45 ? 00:00:00 (dnsserver)              
  squidu 8918 8615 0 23:45 ? 00:00:00 (dnsserver)              
                         
  ちなみにストップするときは若干時間がかかります              
                         
 
前のページへ戻る