Start/Spamassassin-w-MySQL+DCC

Ten dokument opisuje sposób na w miarę bezbolsną instalację spamassassina z supportem dla MySQLa z DCC oraz sposób na przeniesienie starych danych do bazy.

1) Jeśli do tej pory używaliśmy wersji opartej na plikach i chcemy migrować do MySQLa to przed rozpczęciem prac wpisujemy:

sa-learn --backup > backup.txt

Dzięki temu będzie można potem przywrócić naszą bazę już na nowym engine.

2) Zakładamy konto oraz instalujemy odpowiednie pakiety:

adduser --system --home /var/lib/spam --shell /bin/false --disabled-password --disabled-login spamd
apt-get -t sarge-backports install spamassassin spamc dcc-client

3) Włączamy DCC w /etc/spamassassin/v310.pre Odhaszowujemy linijkę:

loadplugin Mail::SpamAssassin::Plugin::DCC

4) Jeśli nie masz ipv6:

cdcc "IPv6 off"
cdcc info | grep IPv6
update-dccmaps

Jak nie zadziała to ręcznie zmieniamy w /etc/dcc/maps.txt i/lub /var/lib/dcc/map.txt a potem update-dccmaps.

5) Oczywiście zakładamy wg. zaleceń z plików src_spamassassina/sql/README* bazę, użytkownika i odpowiednie tabele.
Dla leniwców przygotowałem plik sql z definicją tabel:
http://www.wonder.pl/pub/debian/micro-HOWTO/spamassassin.sql

Uwaga, nadal musicie założyć użytkownika i bazę dla spamassassina!

6) konfigurujemy plik /etc/spamassassin/local.cf:

bayes_store_module              Mail::SpamAssassin::BayesStore::MySQL
auto_whitelist_factory          Mail::SpamAssassin::SQLBasedAddrList
user_awl_sql_table              awl
bayes_sql_override_username     root

user_scores_dsn                 DBI:mysql:spamassassin:mysql.host.pl
user_scores_sql_username        spamassassin_user
user_scores_sql_password        dupa.8

user_awl_dsn                    DBI:mysql:spamassassin:mysql.host.pl
user_awl_sql_username           spamassassin_user
user_awl_sql_password           dupa.8

bayes_sql_dsn                   DBI:mysql:spamassassin:mysql.host.pl
bayes_sql_username              spamassassin_user
bayes_sql_password              dupa.8

7) Następnie plik /etc/default/spamassassin:

ENABLED=1
OPTIONS="--max-children 5 --username spamd --nouser-config --sql-config --syslog=/var/log/spamassassin"
PIDFILE="/var/run/spamd.pid"
NICE="--nicelevel 15"

8) Teraz zostaje powpychać do mysqla swoje ustawienia (tabela userpref), oto mały przykład żeby było Wam łatwiej:

mysql -D spamassassin
insert into userpref values ('@GLOBAL','required_hits','3.0','');
insert into userpref values ('@GLOBAL','rewrite_header Subject','[SPAM]','');

@GLOBAL w pierwszym polu powoduje, że to będzie czytane przez wszystkich userów.

Na koniec:

/etc/init.d/spamassassin start

Warto:

sa-learn -u root --restore backup.txt

Acha, moim zdaniem to to chodzi z MySQLem wolniej więc warto to brać pod uwagę.

Wszelkie uwagi, sugestie, przelewy pieniężne itd.:


Autor: DelUser. Wersja 1.00


Google Polska Encyklopedia sieciowa
Asterix - Debian Wiki