ISPConfig2 unter Debian Lenny: Hohe Load durch spamassassin und clamscan senken
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!
Füge diese URL in deine WordPress-Website ein, um sie einzubetten
Füge diesen Code in deine Website ein, um ihn einzubinden