Aufbaubeispiel
Benötigte Pakete
Folgende Pakete werden nach der Grundinstallation noch benötigt:
apt-get install gcc make
Installationsquelle
Die tar.gz Datei einfach von der offiziellen Quelle bei Squid Cache herunter laden.
Kompilieren
zusätzlich zur Standardkonfiguration wird der ICAP Support aktiviert.
./configure
./configure -~-enable-icap-suppor
Konfiguration
Bei der default Installation kann der squid deamon das Verzeichnis /usr/local/squid/var/cache nicht erstellen.
mkdir /usr/local/squid/var/cache
mkdir /usr/local/squid/var/logs
chmod -R 777 /usr/local/squid/var/cache
chmod -R 777 /usr/local/squid/log
Grundeinstellungen
Im ersten Schritt Clients den Zugriff auf den Proxy erlauben. Hierbei wird die Konfigurationsdate /usr/local/squid/etc/squid.conf angepasst.
acl localnet src 172.170.34.0/22
acl wlannet src 172.170.48.0/24
acl serverlan src 172.170.90.0/23
acl blglan src 192.168.120.0/23
http_access allow localnet
http_access allow serverlan
http_access allow guestlan
http_access allow wlannet
Cache aufbauen
Für den ersten Start muss noch der Cache initialisiert werden:
/usr/local/squid/sbin/squid -z
Automatische Blacklist
Um Verbotene Seiten automatisch zu blocken, wird von current.domain eine Blacklist als txt Datei heunter geladen. Die Dateigröße beträgt knapp 10 MByte und umfasst knapp 544.000 URLs.
Folgende Zeilen müssen in die Konfigurationsdatei /usr/local/squid/etc/squid.conf eingetragen werden.
acl spammers url_regex "/usr/local/squid/etc/sa-blacklist.current.domains"
http_access deny all spammers
Der Swap Space sollte mindestens 1 GB groß sein, da sonst beim starten mit der Blacklist ein page error erfolgt.
testen der Einstellungen
/usr/local/squid/sbin/squid -N -d 2
folgendes Ergebnis sollte man sehen:
2009/05/12 10:46:04| Starting Squid Cache version 2.7.STABLE6 for i686-pc-linux-gnu...
2009/05/12 10:46:04| Process ID 22921
2009/05/12 10:46:04| With 1024 file descriptors available
...
2009/05/12 10:46:04| WCCP Disabled.
2009/05/12 10:46:04| Ready to serve requests.
2009/05/12 10:46:10| Done reading /usr/local/squid/var/cache swaplog (60 entries)
2009/05/12 10:46:10| Finished rebuilding storage from disk.
2009/05/12 10:46:10| 60 Entries scanned
2009/05/12 10:46:10| 0 Invalid entries.
2009/05/12 10:46:10| 0 With invalid flags.
2009/05/12 10:46:10| 60 Objects loaded.
2009/05/12 10:46:10| 0 Objects expired.
2009/05/12 10:46:10| 0 Objects cancelled.
2009/05/12 10:46:10| 0 Duplicate URLs purged.
2009/05/12 10:46:10| 0 Swapfile clashes avoided.
2009/05/12 10:46:10| Took 5.6 seconds ( 10.7 objects/sec).
2009/05/12 10:46:10| Beginning Validation Procedure
2009/05/12 10:46:10| Completed Validation Procedure
2009/05/12 10:46:10| Validated 60 Entries
2009/05/12 10:46:10| store_swap_size = 632k
2009/05/12 10:46:11| storeLateRelease: released 0 object
automatisches Startskript
Squid bietet kein Startskript nach der Installation zur Verfügung. Daher wird die Datei /etc/init.d/squid angelegt:
#!/bin/sh
#
# Basic startup script for Squid
#
case "$1" in
start)
echo "Starting Squid"
/usr/local/squid/bin/RunCache > /dev/null 2>&1 &
;;
stop)
echo "Shutting down Squid"
/usr/bin/killall -q RunCache
/usr/local/squid/sbin/squid -k shutdown
;;
restart)
echo "Restarting Squid"
/usr/local/squid/sbin/squid -k reconfigure
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Damit beim booten das Sktipt läuft, muss es noch ausführbar gemacht werden:
chmod a+x /etc/init.d/squid
logs automatisch in den Müll
Damit der Server nicht überläuft mit Logs können folgende Files nach /dev/null umgeleitet werden:
ln -s /dev/null /usr/local/squid/var/logs/store.log
ln -s /dev/null /usr/local/squid/var/logs/access.log
ln -s /dev/null /usr/local/squid/var/logs/cache.log