Was ist das hier
Diese Anleitung beschreibt die Einrichtung von Apache1, Apache2 und Pound.
Daten fuer die Faxe-Administration
Installation der Apache-Server |
|
UML (noch unvollstaendig |
|
Apache1 |
interim, wikis |
Apache2 |
svn, mail |
Apache2 - Module |
|
mod_deflate |
|
svn |
x |
x |
Bitte folgendes beachten:
unsere eigenen Konfigurations-Dateien in /etc/apache2/conf.d sind Links nach /data/etc
Allgemeine Einstellungen
Verteilung der Anfragen
Der einzige spezielle Bestandteil unseres Webservers ist der WebProxy. Er verteilt alle Anfragen, die auf Port 80 (http) und Port 443 (https) eingehen, auf die zuständigen [:FaxeUML: UML]-Webserver. Die Zuteilung erfolgt aufgrund von Vergleichen mit URL-Mustern.
Als WebProxy kamen für uns ein [http://httpd.apache.org apache]-Webserver mit dem [http://www.backhand.org/mod_backhand/ backhand]-Modul oder der [wiki:WikiPediaDe/Load-balancing Lastverteilungsserver] [http://www.apsis.ch/pound/ Pound] in Frage.
Die Nutzung eines apache-Server als Proxy stellte sich jedoch als recht komplex heraus - zumindest schafften wir es nicht, ihn so transparent zu konfigurieren, wie wir wollten
Pound dagegen ist sehr speziell und schlank - genau richtig für unsere Zwecke.
Zusätzlich zur Verteilung der Anfragen dient er auch als gemeinsamer SSL-Umsetzer - er leitet alle Verbindungen unverschlüsselt weiter. Dies ist ungefährlich, da die Kommunikation vollständig innerhalb des Rechners abläuft.
Detaillierte Informationen zur Einrichtung findest du auf der WebProxy-Seite.
Standard-Einstellungen
Damit die Webserver gut mit dem WebProxy auskommen, brauchen sie folgende Einstellungen (apache):
UseCanonicalName on ServerName UMLNAME.sao
Manche Web-Dienste verweigern Teilfunktionalitäten, wenn sie glauben, dass SSL nicht aktiv ist (z.B. verweigern die Webmail-Oberflächen die Eingabe einer gpg-Passphrase). Dies lässt sich oft mit folgender Direktive beheben:
SetEnv HTTPS on
Apache 2
Komprimierung mit mod_deflate
Das Modul mod_deflate ermoeglicht das komprimierte Senden von Seiten an den Browser (Unterstuetzung des Browser vorausgesetzt). Dadurch steigt zwar die CPU-Belastung, doch es werden geringere Datenmengen uebertragen - wohltuend fuer jede Bandbreite.
Weitere Informationen auf der [http://httpd.apache.org/docs-2.0/mod/mod_deflate.html Apache] Seite oder bei [http://www.debian-administration.org/articles/137 Debian-Administration.org].
Installation des Modules
Als root im entsprechenden [:FaxeUML: UML] folgendes ausfuehren:
a2enmod deflate
Die erfolgreiche Installation wird mit folgender Meldung belohnt:
Module deflate installed; run /etc/init.d/apache2 force-reload to enable.
Einrichtung
Unter /etc/apache2/conf.d wird die Datei deflate.conf angelegt. Hier unsere Beispielkonfiguration:
# den deflate-Filter aktivieren <IfModule mod_deflate.c> SetOutputFilter DEFLATE # Browserweiche damit aeltere Browser nicht rumzicken BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary # wichtig fuer Proxy-Server <IfModule mod_headers.c> Header append Vary User-Agent </IfModule> # Definition des Log-Outputs DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio # die Logmeldungen werden nach /var/log/apache2/deflate.log geschrieben <IfModule mod_log_config.c> LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate CustomLog /var/log/apache2/deflate.log deflate </IfModule> </IfModule>
Nun muss Apache2 neugestartet werden:
/etc/init.d/apache2 restart
Fertig! Ob das Modul korrekt funktioniert, kannst du mit der Log-Datei kontrollieren.
Probleme
Apache2 und PHP
Mensch munkelt, dass PHP Probleme mit den apache2-Modellen außer prefork haben kann.