0 Reaktionen

ISPConfig2 unter Debian Lenny: Hohe Load durch spamassassin und clamscan senken

Geschätzte Lesedauer:

Da ich selbst schon viele Male mit dem Problem konfrontiert wurde, dass in der Standard-ISPConfig 2 Installation die Serverlast durch spamassassin und clamscan Prozesse sehr hoch werden kann, habe ich mich damit beschäftigt wie man spamassassin durch die Kombination spamd / spamc (also den spamassassin Daemon) und clamscan durch clamd (clamav Daemon) ersetzen kann.

Auf Howtoforge habe ich in englischer Sprache bereits vor einiger Zeit ein Script eingestellt, das mir die händische Arbeit des Umkonfigurierens abnimmt.

[pastacode lang=“bash“ message=“Kommandozeile“ highlight=““ provider=“manual“]

#!/bin/sh
apt-get -q -y install clamav-daemon spamassassin
 
/etc/init.d/ispconfig_server stop
/etc/init.d/postfix stop
 
sed -i -r "s/^CLAMSCAN=.*/CLAMSCAN=\/usr\/bin\/clamdscan/" /home/admispconfig/ispconfig/tools/clamav/bin/clamassassin
sed -i -r "s/^ScanMail .*/ScanMail true/" /etc/clamav/clamd.conf
 
sed -i -r "s/^NotifyClamd (.*)/#NotifyClamd \1/" /etc/clamav/freshclam.conf
echo "NotifyClamd /etc/clamav/clamd.conf" >> /etc/clamav/freshclam.conf
 
sed -i -r "s/^NotifyClamd (.*)/#NotifyClamd \1/" /home/admispconfig/ispconfig/tools/clamav/etc/freshclam.conf
echo "NotifyClamd /etc/clamav/clamd.conf" >> /home/admispconfig/ispconfig/tools/clamav/etc/freshclam.conf
 
sed -i -r "s/^ENABLED=.*/ENABLED=1/" /etc/default/spamassassin
sed -i -r "s/^CRON=.*/CRON=1/" /etc/default/spamassassin
 
sed -i -r "s/\| .*\-\-prefs\-file.*/\| \/usr\/bin\/spamc/" /root/ispconfig/isp/conf/spamassassin.rc.master
find /var/www/ -name ".spamassassin.rc" -exec sed -i -r "s/\| \/home\/admispc.*\/spamassassin.*/\| \/usr\/bin\/spamc/" {} \;
 
/etc/init.d/spamassassin restart
/etc/init.d/ispconfig_server restart
/etc/init.d/postfix restart
 
echo "Update done." ;

[/pastacode]

Grob gesagt installiert das Skript die clamav und spamassassin Daemons und tauscht in den Konfigurationen des Systems und von ISPConfig die notwendigen Einträge aus.
Für clamav sollte Debian Volatile in der sources.list von apt aufgenommen werden.

Da ISPConfig die Konfigurationsdateien für die Mailuser mit dem Besitzer root anlegt, ist es hilfreich folgenden Befehl zu nutzen:

[pastacode lang=“bash“ message=“Kommandozeile“ highlight=““ provider=“manual“]

find /var/www/ -user root -wholename "*/user/w*" -exec sh -c "(dirname {} | sed -r \"s/.*\/user\/(([^_]+)_[^\/]+)(\/.*)?/chown -v \1:\2 /\" ; echo {}) | xargs echo | xargs -0 sh -c "  \;

[/pastacode]

Dieser Befehl durchsucht das komplette Webverzeichnis nach bestehenden Mail-Benutzerverzeichnissen und korrigiert die Besitzer der Dateien. Er funktioniert nur, wenn der Prefix für Webuser in ISPConfig nicht umgestellt wurde.
Bis ISPConfig die Dateirechte selbst in dieser Art setzt sollte der Befehl ab und zu wiederholt werden (evtl. per CRON), da neu angelegte Mailverzeichnisse wieder root gehören. Dieser Änderungswunsch wurde jedoch bei den ISPConfig Entwicklern bereits im Bugtracker eingetragen.

Bei mir haben die oben genannten Befehle einwandfrei unter Debian Lenny mit installiertem ISPConfig 2 funktioniert. Ich gebe jedoch keinerlei Garantie dafür, dass sie bei euch genauso funktionieren. Verwendet sie auf eigene Gefahr!

Dieser Artikel wurde von Marius Burkard verfasst.

Marius Burkard ist Diplom-Wirtschaftsinformatiker und arbeitet seit 2006 als selbstständiger Software-Entwickler und Linux-Server-Administrator mit der Firma pixcept KG. Er ist unter anderem mitverantwortlich für die Projekte Was-lese-ich.de und ISPProtect.

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen