29.6. cachemgr.cgi

Der Cache-Manager (cachemgr.cgi) ist ein CGI-Dienstprogramm für die Anzeige der Statistiken zur Arbeitsspeichernutzung eines laufenden Squid-Prozesses. Außerdem bietet er eine bequemere Methode zur Verwaltung des Cache und zur Anzeige der Statistiken ohne Anmeldung beim Server.

29.6.1. Setup

Zunächst muss ein Webserver in Ihrem System ausgeführt werden. Konfigurieren Sie Apache, wie in Kapitel 26, Der HTTP-Server Apache beschrieben. Um zu überprüfen, ob Apache bereits ausgeführt wird, geben Sie als root den Befehl rcapache status ein. Wenn eine Meldung der folgenden Art angezeigt wird:

Checking for service httpd: OK 
Server uptime: 1 day 18 hours 29 minutes 39 seconds   

wird Apache auf dem Rechner angezeigt. Andernfalls geben Sie rcapache start ein, um Apache mit den Standardeinstellungen von SUSE Linux zu starten. Der letzte Schritt besteht darin, die Datei cachemgr.cgi in das Apache-Verzeichnis cgi-bin zu kopieren:

cp /usr/share/doc/packages/squid/scripts/cachemgr.cgi /srv/www/cgi-bin/

29.6.2. Cache-Manager-ACLs in /etc/squid/squid.conf

Es gibt einige Standardeinstellungen in der Originaldatei, die für den Cache-Manager erforderlich sind. Zuerst werden zwei ACLs definiert. Anschließend verwenden die http_access-Optionen diese ACLs, um Zugriff vom CGI-Script auf Squid zu gewähren. Die erste ACL ist die wichtigste, da der Cache-Manager versucht, über das cache_object-Protokoll mit Squid zu kommunizieren.

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255

Folgende Regeln gewähren Apache Zugriffsrechte auf Squid:

http_access allow manager localhost
http_access deny manager

Diese Regeln setzen voraus, dass der Webserver und Squid auf demselben Computer ausgeführt werden. Wenn die Kommunikation zwischen Cache-Manager und Squid von dem Webserver auf einem anderen Computer ihren Ausgang nimmt, müssen Sie eine zusätzliche ACL aufnehmen, wie in Beispiel 29.2, „Zugriffsregeln“ beschrieben.

Beispiel 29.2. Zugriffsregeln

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

Fügen Sie dann die Regeln in Beispiel 29.3, „Zugriffsregeln“ hinzu, um den Zugriff vom Webserver zu gestatten.

Beispiel 29.3. Zugriffsregeln

http_access allow manager localhost
http_access allow manager webserver
http_access deny manager

Konfigurieren Sie ein Passwort für den Manager für den Zugriff auf weitere Optionen, wie das Schließen des Cache über entfernten Zugriff oder die Anzeige weiterer Informationen zum Cache. Konfigurieren Sie hierfür den Eintrag cachemgr_passwd mit einem Passwort für den Manager und der Liste der anzuzeigenden Optionen. Diese Liste wird als Teil des Eintragskommentars in /etc/squid/squid.conf angezeigt.

Starten Sie Squid nach jeder Änderung der Konfigurationsdatei neu. Verwenden Sie hierfür einfach rcsquid reload.

29.6.3. Anzeige der Statistiken

Rufen Sie die entsprechende Website auf: http://webserver.example.org/cgi-bin/cachemgr.cgi. Drücken Sie continue (Fortsetzen) und blättern Sie durch die verschiedenen Statistiken. Weitere Details für die einzelnen, vom Cache-Manager angezeigten Einträge finden Sie in den Squid FAQ unter http://www.squid-cache.org/Doc/FAQ/FAQ-9.html.