» SelfLinux » Internet » World Wide Web » Proxies » Der Web-Proxy Squid » Abschnitt 6 SelfLinux-0.12.1
zurück   Startseite Kapitelanfang Inhaltsverzeichnis GPL   weiter

SelfLinux-Logo
Dokument Der Web-Proxy Squid  Autor
 Formatierung
 GPL
 

7 Squid aus Quellen kompilieren

Selbst kompilieren hat mehrere Vorteile:

  1. Es können zusätzliche Funktionen aktiviert oder zur Stabilitätserhöhung ungenutzte Funktionen deaktiviert werden
  2. Die aktuellsten Versionen sind meist nur als Quellen verfügbar
  3. Das kompilierte Programm ist optimal an die Umgebung angepasst, wie z.B. Prozessortyp und Bibliotheken.

Der Nachteil ist, dass die Installation erheblich aufwendiger ist.


7.1 Kompilieren und Installation

Zunächst sollten die neuesten Squid-Quellen geholt werden unter en www.squid-cache.org (am besten die jeweils aktuellste STABLE-Version wählen).

Anschließend sind diese auszupacken mit:

root@linux # cd /usr/local/src
root@linux /usr/local/src# tar xvjf squid-<Version>.tar.bz2

Mit dem configure-Kommando können Parameter übergeben werden, um Squid den eigenen Anforderungen anzupassen. Die möglichen Parameter sind zu erfahren mit:

root@linux # cd squid-<Version>
root@linux # ./configure --help

Anschließend kann kompiliert und installiert werden.

Soll Squid beispielsweise mit  Zugriffsmöglichkeiten auf eine Windows-NT-Domäne installiert werden, kann der Aufruf von configure z. B. folgendermaßen aussehen:

root@linux # ./configure --enable-auth="ntlm,basic" --enable-external-acl-helpers="wbinfo_group"
root@linux # make all
root@linux # make install

7.2 Konfiguration

Die Konfigurationsdatei squid.conf liegt standardmäßig nach dem Kompilieren unter /usr/local/squid/etc/squid.conf. Der Übersicht und Einheitlichkeit halber sollte folgender Link erzeugt werden:

root@linux # ln -s /usr/local/squid/etc/squid.conf /etc/squid.conf

Vor dem ersten Start ist die Cache-Verzeichnisstruktur und deren Rechte anzulegen mit:

root@linux # mkdir -p /usr/local/squid/var/cache
root@linux # mkdir -p /usr/local/squid/var/logs
root@linux # chown -R nobody /usr/local/squid/var/cache
root@linux # chown -R nobody /usr/local/squid/var/logs
root@linux # /usr/local/squid/sbin/squid -z

Die Konfiguration über die Datei squid.conf ist identisch mit der von  RPM- oder  DEB-Paket-Installationen.


7.3 Installation kontrollieren

Der Squid kann im Debug-Modus gestartet werden, um mögliche Fehler gleich auf dem Terminal zu sehen (siehe  Squid-Daemon starten).


7.4 Squid starten mit Startskript

Läuft der Squid im Testlauf ohne Probleme, sollte ein Startskript erstellt werden. Über dieses kann der Squid bei einem Neustart des Systems automatisch hochgefahren werden.

Zu beachten ist, dass der Squid bei noch aktiven Verbindungen längere Zeit braucht, bis er gestoppt ist. Deshalb ist hier für den Stop-Fall eine Schleife einzubauen, die das Skript erst dann beendet, wenn der Daemon wirklich gestorben ist, da ansonsten ein erneuter Start mit Fehlern abgebrochen wird.

      
#!/bin/bash

squid=/usr/local/squid/sbin/squid
test -x $squid || exit 0

case "$1" in
start)
        echo "Starting squid"
        $squid -D -sYC
        sleep 1
        $0 status
;;
stop)
        echo "Stopping squid"
        $squid -k shutdown
        n=0
        while $squid -k check && [ $n -lt 120 ]; do
                sleep 1
                echo -n .
                n=`/usr/bin/expr $n + 1`
        done
        $0 status
;;
status)
        $squid -k check
        /bin/ps aux | /bin/grep squid | /bin/grep -v -e "status" -e "grep"
;;
reload)
        $squid -k reconfigure
;;
restart)
        $0 stop && $0 start
;;
*)
        echo "Usage: $0 {start|stop|reload|restart|status|}" >&2
;;
esac
      
     

Dieses Skript ist als /etc/init.d/squid anzulegen und ausführbar zu machen.

Um einen automatischen Start des Squid nach einem Neustart zu erreichen, müssen die entsprechenden Links in den rc-Verzeichnissen auf /etc/init.d/squid gesetzt werden. Da sich die einzelnen Linux-Distributionen hier leider sehr unterscheiden, ist hierfür kein einfaches Beispiel möglich.



zurück   Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis GPL   weiter