Webworking

Nachrichten und Artikel des WebTeams

Inhalt

Apache-Direktiven im Webcluster

Der neue Apache 2.2 übernimmt die meisten der Voreinstellungen des vorherigen Apache 1.3.
Einige Direktiven mussten jedoch geändert werden, andere kamen hinzu.

Folgende globale Direktiven wurden gesetzt für die Webauftritte:

PHP-Einstellungen

AddHandler x-httpd-php .php .php5 .php4 .php3
AddType application/x-httpd-php .php .php5 .php4 .php3
LoadModule suphp_module /opt/FAU/httpd/modules/mod_suphp.so
suPHP_Engine on
suPHP_ConfigPath /proj/webserver/conf/php/5.3/php

Einstellungen für ServerSideIncludes

AddType text/html .shtml
AddHandler server-parsed .shtml

AddOutputFilterByType DEFLATE text/xml text/plain text/css application/javascript
# Deflate fuer text/html abgeschaltet, damit Browser die Seite schon waehrend des Transfers 
# analysieren und weiteren Content laden koennen.
AddOutputFilter INCLUDES .php .html .htm
# SSI auch fuer .php .html .htm aktivieren
# Achtung: Hosts mit Typo3 haben damit Probleme, da von T3 ausgegebene
# Kommentarmarker im HTML-Code die Syntax von SSI haben.
# bei solchen Hosts ist der AddOutputFilter im <virtualhost>-Kontext
# zu aendern.

Caching

CacheEnable  /grafiken
CacheEnable  /img
CacheIgnoreNoLastMod On
MCacheSize      320000
MCacheMaxObjectCount 5000
MCacheMinObjectSize 100
MCacheMaxObjectSize     202400
MCacheRemovalAlgorithm  LRU

Expires

ExpiresActive On
ExpiresDefault "access plus 1 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType text/html "access plus 2 days"

# Expires fuer .pdf und .doc deaktiviert.
<filesmatch "\.(pdf|docx?)$">
ExpiresActive Off
</filesmatch>

Options und erlaubte Overrides

   Options IncludesNOEXEC SymLinksIfOwnerMatch Indexes
   AllowOverride AuthConfig FileInfo Limit Indexes Options=All,MultiViews

Jeder Webauftritt (und darin alle enthaltenen Skripten) wird unter der jeweiligen Webmasterkennung ausgeführt.
Zusätzlich können obigen Anweisungen noch über eigene Direktiven oder Änderungen im Kontext des Webauftritts geändert werden.
Im Webmaster-Portal können eigenen DIrektiven für den Webauftritt abgerufen werden. Einige Direktiven lassen sich auch über eine eigenen .htaccess-Datei ändern.

Cache Control bei dynamischen Webauftritten

Mit dem neuen Apache 2.2 haben wir zur Steigerung der Performance das Cache-Modul von Apache aktiviert (“Mem Cache”).

Dieses Modul bewirkt, daß Webseiten, darunter auch dynamisch generierte Seiten, vom Webserver zwischengespeichert werden und beim nächsten Request wieder ausgeliefert werden, ohne daß dann die Seite nochmals von vorne “gebaut” werden muss. Dadurch ergibt sich teilweise ein merkbarer Performancegewinn.
Dem Voraus gingen verschiedene Tests, über die ich im letzten Jahr bereits in diesem Blog berichtete. Vgl: Vorbereitungen zum Umstieg auf den Webcluster: Performance

Leider mussten wir nun feststellen, daß es doch Probleme gibt:  Bei Webangeboten, die verschiedene Inhalte immer vom selben Skript liefern (z.b. immer von einer “index.php”), kann es passieren, daß zunächst der falsche Content geliefert wird und der richtige erst dann kommt, wenn man  die Seite nochmal explizit neu anforderte.

Eine genauere Analyse der Vorgänge zeigte zwei mögliche Ursachen, bzw Lösungen:

  • Das Skript liefert bei der Generierung der Inhalte bislang keine Antwort-Header, die spezielle Cache-Control-Anweisungen beinhalten. So fehlt beispielsweise eine solche Zeile in den Antwort-Headern:

    Cache-Control: no-cache

    Die Lösung wäre also, daß das Skript um diese oder andere Angaben ergänzt wird.
    Bei einigen CMS, wie beispielswiese bei Typo3, gibt es entsprechende Funktionen und auch Extensions, die dies automatisch setzen.

  • Sollte das Problem nicht über eine Anpassung oder Konfiguration der Skripte lösbar sein, besteht ansonsten die Möglichkeit, daß das Caching für den kompletten Webauftritt oder für einzelne Verzeichnisse daraus serverseitig deaktiviert wird.
    Im dem Fall, daß der Webauftritt auf unseren Webcluster liegt, wird dies das Webteam tun. Wir werden dann in der Konfiguration des Webauftritts die Anweisung 

    CacheDisable  /

    ergänzen.
    Im Webmasterportal kann jeder angemeldete Webmaster über die Ansicht der Konfiguration, unter dem Unterpunkt “VirtualHost-Konfiguration”, nachprüfen, ob und welche Direktiven gesetzt sind und ob diese dabei ist.

Sollten Sie hinsichtlich dieses Themas Unterstützung des Webteams benötigen, setzen Sie sich bitte mit uns in Kontakt.

 

Apache- und PHP-Aktualisierung für Webauftritte auf den Servern info13 und info14

Webauftritte aus den Bereichen

  • Techfak,
  • Medizinische Fakulät
  • Naturwissenschaftliche Fakultät
  • Forschungsprojekte
  • sowie Kooperationen
  • und Webauftritte der Uni Bamberg

werden durch die Server info13 und info14 betrieben.

In Rahmen der Umstellungen auf den zentralen Webcluster ist geplant, diese beiden Server als nächstes umzustellen. Dies hat zur Folge, daß auch diese Webauftritte dann auf Apache 2.2.17 und PHP 5.3.6 laufen.

Für aktuelle PHP-Skripten, sowie aktuell gehaltene CMS sollte es hierbei keine Probleme geben.
Wohl aber kann es bei älteren Skripten, die auf Funktionen beruhen, die mit PHP 5.3 nicht mehr unterstützt werden, zu Problemen oder Warnmeldungen kommen.
Mit den neuem PHP werden jedoch keine der bereits mit dem aktuellen PHP 5.0 bereit gestellten Libraries wegfallen. Der Funktionsumfang wird stattdessen durch neue Libraries (z.B. curl) erweitert.

Die Umstellung erfolgt voraussichtlich ab Mitte kommender Woche und wird sukzessiv vorgenommen. Das Ende der Umstellung kann daher bis Ende April andauen.

 

Tipp: Wie erkenne ich, auf welchen Server mein Webauftritt liegt?

Das Firefox-Plugin “ShowIP” zeigt in der Statusleiste unten rechts für jeden Webauftritt die IP-Adresse des verwendeten Servers an. Installieren Sie sich dieses Plugin um stets angezeigt bekommen, durch wlechen Server ein Webauftritt verarbeitet wird.
Die info13 trägt die  IP-Adresse 131.188.2.44 , die info14 die IP-Adresse 131.188.3.60.
Wenn dagegen die IP-Adresse 131.188.16.200  angezeigt wird, wird man bereits vom Webcluster bedient, der alle Zugriffe transparent auf verschiedene Server verteilt.

Webcluster aktualisiert

Alle Webserver des Webclusters wurden soeben auf neuesten Stand gebracht.

Dies bedeutet, daß die Webauftritt, die vom Webcluster verwaltet werden (alle Webauftritte, die ab Sommer 2010 eingerichtet wurden, sowie die meisten Webauftritte der Philfak, Wiso und Jura) nunmehr von Servern mit Apache  2.2.17  und mit PHP 5.3.6  ausgeliefert werden.

Zudem wurden im PHP-Paket viele neue Libraries installiert, die bislang nicht zur Verfügung standen. Folgende Libraries sollten für Entwickler besonders interessant sein:
bcmath, curl, gd, exif, imap, interbase, json, ldap, mbstring, mhash, mysql, mysqli, pgsql, SimpleXML, SQLite, xml,
xmlreader, xmlrpc, xmlwriter, xsl, zip

Neue Server im Webcluster: Update auf Apache 2.2 und PHP 5.3.5

Ab heute werden die Server info11 und info17 im Webcluster ihre Arbeit aufnehmen.
Diese “neuen” Server werden die Anfragen der Webauftritte entgegennehmen und bearbeiten, wie auch der bisherige Server info16 mit seinen 4 Zonen. Im Unterschied zu den bisherigen Server wurde jedoch eine neue Apacheversion (2.2.17) und eine neue PHP-Verison (5.3.5) zum Einsatz kommen.
info16 und seine 4 Zonen arbeiten dagegen unter Apache 2.0.* und einer PHP-Version 5.2.9.

Durch die neuen Versionen und insbesondere durch den Umstieg auf die neue Apache-Versionslinie 2.2 erhoffen wir uns einen merklichen Performancegewinn bei der Verarbeitung der Anfragen durch diese Server.
Obwohl wir erfolgreiche Tests mit verschiedenen Webauftritten machten, die PHP, Perl und andere Servertechniken nutzen, kann nicht ausgeschlossen werden, daß es dennoch PHP-Skripte gibt, die mit der neuen Version nicht zurecht kommen.

Wir bitten daher bei sporadisch auftretenen Fehler von PHP-Skripten sich umgehend mit uns in Verbindung zu setzen, damit wir das Problem genauer analysieren und beheben können.

Sollten keine Probleme auftauchen, werden wir die info16 und dessen Zonen ebenfalls auf die neuen Softwareversionen aktualiseren.

Von der Hardware dagegen handelt es sich bei der info11 um einen Server von Typ T2000 und bei der info17 um einen Server vom Typ T5120. Die Hardware ist damit zwar nicht gerade jungfäulich, aber sie ist stabil und bewährt (und bereits bezahlt).