Fighting the SPAM

Heute habe ich eine Benachrichtigung von einem meiner Server bekommen, dass mein „Warn“ Threshold in der mailq erreicht wurde. Da ich so gut wie kein Mail Verkehr über meine Server leite, war ich etwas verwundert.

Ein Blick in die Mailq zeigt mir 500 „outstanding Mails“, der Absender war immer www-data. Was bedeutet das? Ein Skript auf meinem Server ist unsicher, oder ein Skript wurde eingeschleust um Mails zu senden.

Zunächst habe ich einmal die Queue komplett geleert:

Anschließen habe ich etwas gewartet, bis wieder neue Mails in der Queue waren. Eine dieser Mails habe ich dann mit folgendem Befehl angeschaut:

Hier konnte ich den Absender der Email identifizieren, und somit das Web des versendenden Benutzers überprüfen.

Apache und PHP Performance Tuning in Debian [HowTo]

Heute möchte ich kurz zeigen wie Ihr Eurem Apache/PHP WebServer mehr Power gebt.

Es gibt diverse Möglichkeiten, eine Webseite zu beschleunigen. Zuvor hatte ich schon darüber gebloggt wie Ihre den Datenstrom zwischen Server und Client packt um die Transferzeiten zu minimieren. Auf dem Server müssen die Webseiten aber erst aufbereitet werden, bevor diese transferiert werden können. Ein großen Vorteil haben statische Elemente wie Bilder, Html-Seiten etc. Setzt man jedoch PHP ein, muss die Seite immer geparst und interpretiert werden. Diese Operationen benötigen Zeit, und belasten auch die Leistung des Servers.

Setzt man auf Caching Mechanismen kann man ohne Verlust der Webseitendynamik einfach „statische“ Seiten erzeugen. Ein Liste der Verfügbaren PHP-Chaches findet Ihr hier. Ich persönlich habe mich für den Einsatz des APC (Alternative PHP Cache) entschieden.

apcphp

Die Installation auf Debian ist denkbar einfach durchzuführen.

Es werden nun alle notwendigen Pakete installiert. Um die neue Funktionalität nutzen zu können, muss der Apache noch einmal durch gestartet werden.

Beim Besuch Eurer Seite solltet Ihr nun einen ordentlichen Performance Zuwachs merken. Wenn Ihr Euch nicht sicher seid, ob der APC richtig läuft, dann legt einfach ein Datei (phpinfo.php) mit folgendem Inhalt an und ruft diese im Browser auf:

Das Ergebnis sollte in etwas so aussehen:

phpinfo

Sucht einfach nach APC auf der Seite um zu validieren ob der Cache läuft:

phpinfo_apc