キャッシュマネージャ(cachemgr.cgi)は、実行中のSquidプロセスによるメモリ使用状況に関する統計を表示するCGIユーティリティです。また、キャッシュを管理し、サーバのロギングなしで統計を表示できる便利な手段でもあります。
最初に、システムでWebサーバを稼働させる必要があります。で説明しているように、Apacheを設定します。セクション 27.0, Apache HTTPサーバApacheがすでに稼働しているかどうかを確認するには、「rootとしてrcapachestatus」コマンドを入力します。次のようなメッセージが表示される場合は、マシンでApacheが実行されています。
Checking for service httpd: OK Server uptime: 1 day 18 hours 29 minutes 39 seconds
Apacheはそのマシンで実行されています。実行していない場合は、「rcapachestart」を入力して、SUSE Linux Enterprise Serverのデフォルト設定でApacheを起動します。最後に、cachemgr.cgiファイルをApacheのディレクトリcgi-binにコピーします。32ビットの場合は次のようになります。
cp /usr/lib/squid/cachemgr.cgi /srv/www/cgi-bin/
64ビット環境では、cachemgr.cgiファイルは/usr/lib64/squid/の下に位置しており、これをApacheディレクトリにコピーするコマンドは次のとおりです。
cp /usr/lib64/squid/cachemgr.cgi /srv/www/cgi-bin/
キャッシュマネージャの場合は、オリジナルファイル内で次のようなデフォルト設定が必要です。最初に、2つのACLを定義し、http_accessオプションがこれらのACLを使用して、CGIスクリプトからSquidへのアクセスを付与するようにします。キャッシュマネージャはcache_objectプロトコルを用いてSquidと通信するため、最初のACLが最も重要です。
acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255
次の規則によって、ApacheにSquidへのアクセス権が付与されます。
http_access allow manager localhost http_access deny manager
これらの規則は、WebサーバとSquidが同じマシンで実行されている場合を想定しています。キャッシュマネージャとSquidとの通信が他のコンピュータ上のWebサーバで開始される場合は、例 29-2に示すACLを追加します。
例 29-2 アクセスルール
acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl webserver src 192.168.1.7/255.255.255.255 # webserver IP
次に、例 29-3に規則を追加して、Webサーバからのアクセスを許可します。
例 29-3 アクセスルール
http_access allow manager localhost http_access allow manager webserver http_access deny manager
キャッシュのリモートクローズやキャッシュ詳細情報の表示など、より多数のオプションにアクセスする場合は、マネージャのパスワードを設定します。そのためには、マネージャ用のパスワードと表示するオプションのリストを指定してエントリcachemgr_passwdを設定します。このリストは、/etc/squid/squid.confにエントリのコメントの一部として表示されます。
設定tァイルを変更するたびにSquidを再起動してください。それには、rcsquid reloadコマンドを使用します。
対応するWebサイトのhttp://webserver.example.org/cgi-bin/cachemgr.cgiに移動します。[ ]をクリックして様々な統計情報をブラウズします。キャッシュマネージャに表示される各エントリの詳細は、http://www.squid-cache.org/Doc/FAQ/FAQ-9.htmlにあるSquidのFAQを参照してください。