Squid schreibt seine Daten in ein zu definierendes System-Verzeichnis, z.B. /cache/ für das folgende Unterzeichnisse erforderlich sind:

root:/ # mkdir /cache
root:/ # mkdir /cache/data
root:/ # mkdir /cache/logs
root:/ # chown -R squid:nogroup /cache

Im Folgenden wird eine typische Konfiguration anhand einer Beispiel-Domain www.mydomain.com / 123.456.789.123 illustriert:

squid.conf

In der squid.conf sind einige Anpassungen gegenüber der Initialversion einzuführen:

http_port: Listen Port des Squid

# http_port 81 # Testsystem
  http_port 123.456.789.123:80 # Livesystem

maximum_object_size: maximale Größe der Dateien, die gecached werden.

Sinnvoll, wenn größere pdfs über Squid ausgeliefert werden

# maximum_object_size 4096 KB
  maximum_object_size 10 MB 

cache_dir: Pfad zum Cache Speicher

Neben dem Pfad werden angegeben:

  • Filesystemtyp
  • Größe im MB
  • Unterordner Ebene 1
  • Unterordner Ebene2
# cache_dir ufs /var/cache/squid 100 16 256
  cache_dir ufs /cache/data 50600 256 256

cache_access_log: Access Log

# cache_access_log /var/log/squid/access.log
  cache_access_log /cache/logs/access.log

Das Access.log kann optional im common log format wie Apache oder Squid Format geschrieben werden. Das Squid Format ist allerdings ausführlicher und kann zur weiteren Performanceverbesserung herangezogen werden.

#Default:
  emulate_httpd_log off
# emulate_httpd_log on

cache_log

# cache_log /var/log/squid/cache.log
 cache_log /cache/logs/cache.log

cache_store_log

# cache_store_log /var/log/squid/store.log
  cache_store_log /cache/logs/store.log

cache_swap_log

cache_swap_log /cache/logs/swap.log

refresh_pattern (für JPEG-Bilder)

Jpeg-Bilder werden im Zope bei jeder Auslieferung neu berechnet und daher meist nicht gecached. Hier werden trotz möglicher anderer Werte alle jpg-Dateien 60 Minuten gespeichert.

#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern .jpg 60 50% 4320 override-lastmod override-expire ignore-reload
refresh_pattern .jpeg 60 50% 4320 override-lastmod override-expire ignore-reload
refresh_pattern . 0 20% 4320

Zugriffsregeln

Zugriffsregeln, die verhindern, dass Squid (im Beispiel IP 123.456.789.123) nicht von Dritten als Proxy missbraucht werden kann

acl localhost_d dst 127.0.0.1/255.255.255.255
acl webserver dst 123.456.789.123/255.255.255.255

acl Safe_ports port 80
# http Testsystem
acl Safe_ports port 81
# http Livesystem 

http_access allow localhost_d
http_access allow  webserver

hostname

hostname im log oder in der Error-Page (im Beispiel www.mydomain.de)

# Default:
# none
  visible_hostname www.mydomain.de

Proxy aktivieren

Squid als http Proxy aktivieren

# Default:
# httpd_accel_port 80    # Testsystem
  httpd_accel_port 81    # Livesystem
  httpd_accel_host  virtual # Squid 2.5






 
 
# Default:
# httpd_accel_with_proxy off
  httpd_accel_with_proxy  on

Virtuelle Hosts Header

Header für virtuelle Hosts einschalten

#Default:
# httpd_accel_uses_host_header off
  httpd_accel_uses_host_header  on

Squid User setzen

cache_effective_user squid
cache_effective_group nogroup

Squid starten

Falls Squid bereits lä uft ist dieser anzuhalten mit

/etc/init.d/squid stop

Anschliessend kann gestartet werden mit

/etc/init.d/squid start

Beim ersten Start legt das Skript die Unterordner für die gecachten Dateien im Verzeichnis /cache/data/ an. Für eine eventuelle Fehleranalyse benötigt man die entsprechenden Meldungen aus

  • /var/log/messages
  • /cache/logs
  • Console-Meldung beim Startversuch