F
flyingoffice
Guest
Hallo!
Nachdem ich mich durch den Monsterthread zur Installation von Spamassassin ,ClamAV und Qsheff unter Plesk gekämpft habe, bin ich natürlich auch schnell auf dieses Howto gestoßen. Da hier mehrfach die Frage nach der Nutzung unter Qmail / Plesk aufkam, möchte ich mal die erforderlichen installationsschritte hier zusammenfassen. OK, fangen wir also an.
1. In Plesk die benötigten Emailkonten spam@domain.tld und ham@domain.tld anlegen.
2. Die benötigten Dateien und Verzeichnisse anlegen sowie die erforderlichen Benutzer und Rechte anlegen.
3. Die Datei /etc/mail/spamassassin/local.cf editieren und folgende Einträge vornehmen
4. Die Datei /usr/local/bin/sa-wrapper.pl editieren und folgende Einträge vornehmen
5. Die Datei /var/qmail/mailnames/domain.tld/spam/.qmail editieren und folgende Einträge vornehmen
6. Die Datei /var/qmail/mailnames/domain.tld/ham/.qmail editieren und folgende Einträge vornehmen
7. So, jetzt sollte alles beisammen sein und wir müssen nur noch Spamassassin und Qmail neu starten
Das sollte alles gewesen sein, um das Füttern von Spamassassin via sa-learn unter qmail / Plesk zu realisieren. Ich bin mir zwar sicher, daß unsere MTA Icone Huschi etwas an meiner Anleitung zu verbessern hat, aber bei mir hat es zumindest so funktioniert.
Gruß flyingoffice
Nachdem ich mich durch den Monsterthread zur Installation von Spamassassin ,ClamAV und Qsheff unter Plesk gekämpft habe, bin ich natürlich auch schnell auf dieses Howto gestoßen. Da hier mehrfach die Frage nach der Nutzung unter Qmail / Plesk aufkam, möchte ich mal die erforderlichen installationsschritte hier zusammenfassen. OK, fangen wir also an.
1. In Plesk die benötigten Emailkonten spam@domain.tld und ham@domain.tld anlegen.
2. Die benötigten Dateien und Verzeichnisse anlegen sowie die erforderlichen Benutzer und Rechte anlegen.
Code:
touch /var/log/sa-learn.log
chown root:popuser /var/log/sa-learn.log
chmod 644 /var/log/sa-learn.log
touch /usr/local/bin/sa-wrapper.pl
chown root:popuser /usr/local/bin/sa-wrapper.pl
chmod 755 /usr/local/bin/sa-wrapper.pl
mkdir /var/spool/unpack
chown root:popuser /var/spool/unpack
chmod 774 /var/spool/unpack
chown root:popuser /var/spool/spamassassin
chmod 774 /var/spool/spamassassin
3. Die Datei /etc/mail/spamassassin/local.cf editieren und folgende Einträge vornehmen
Code:
# Enable the Bayes system
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 777
4. Die Datei /usr/local/bin/sa-wrapper.pl editieren und folgende Einträge vornehmen
Code:
#!/usr/bin/perl -w
# Time-stamp: <05 April 2004, 13:37 home>
#
# sa-wrapper.pl
# SpamAssassin sa-learn wrapper
# (c) Alexandre Jousset, 2004
# This script is GPL'd
#
# Thanks to: Chung-Kie Tung for the removal of the dir
# Adam Gent for bug report
#
# v1.2
use strict;
use MIME::Tools;
use MIME::Parser;
my $DEBUG = 1;
my $LOGFILE = '/var/log/sa-learn.log';
my $UNPACK_DIR = '/var/spool/unpack';
my $SA_LEARN = '/usr/bin/sa-learn';
my @DOMAINS = qw/gtmp.org winnink.org/;
my ($spamham, $sender) = @ARGV;
sub recurs
{
my $ent = shift;
if ($ent->head->mime_type eq 'message/rfc822') {
if ($DEBUG) {
#unlink "/tmp/spam.log.$$" if -e "/tmp/spam.log.$$";
open(OUT, "|$SA_LEARN -D $spamham --single >>$LOGFILE 2>&1") or die "Cannot pipe $SA_LEARN: $!";
} else {
open(OUT, "|$SA_LEARN $spamham --single") or die "Cannot pipe $SA_LEARN: $!";
}
$ent->bodyhandle->print(\*OUT);
close(OUT);
return;
}
my @parts = $ent->parts;
if (@parts) {
map { recurs($_) } @parts;
}
}
#my ($domain) = $sender =~ /\@(.*)$/;
#unless (grep { $_ eq $domain } @DOMAINS) {
# die "I don't recognize your domain !";
#}
if ($DEBUG) {
MIME::Tools->debugging(1);
open(STDERR, '>>/tmp/spam_err.log');
}
my $parser = new MIME::Parser;
$parser->extract_nested_messages(0);
$parser->output_under($UNPACK_DIR);
my $entity;
eval {
$entity = $parser->parse(\*STDIN);
};
if ($@) {
die $@;
} else {
recurs($entity);
}
$parser->filer->purge;
rmdir $parser->output_dir;
5. Die Datei /var/qmail/mailnames/domain.tld/spam/.qmail editieren und folgende Einträge vornehmen
|/var/qmail/bin/preline /usr/local/bin/sa-wrapper.pl --spam
#./Maildir/
6. Die Datei /var/qmail/mailnames/domain.tld/ham/.qmail editieren und folgende Einträge vornehmen
|/var/qmail/bin/preline /usr/local/bin/sa-wrapper.pl --ham
#./Maildir/
7. So, jetzt sollte alles beisammen sein und wir müssen nur noch Spamassassin und Qmail neu starten
/etc/init.d/qmail restart
/etc/init.d/spamd restart
Das sollte alles gewesen sein, um das Füttern von Spamassassin via sa-learn unter qmail / Plesk zu realisieren. Ich bin mir zwar sicher, daß unsere MTA Icone Huschi etwas an meiner Anleitung zu verbessern hat, aber bei mir hat es zumindest so funktioniert.
Gruß flyingoffice
Last edited by a moderator: