Ключевые слова:spamassassin, spam, mysql, (найти похожие документы)
From: Roman Sozinov <http://sozinov.blogspot.com>
Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC)
Subject: Spamassassin + MySQL
Оригинал: http://sozinov.blogspot.com/2006/10/spamassassin-mysql.html
Система фильтрации нежелательной корреспонденции Spamassassin умеет
хранить пользовательские настройки, а также динамические базы,
применяемые в работе (auto-whitelist, bayes filter) в SQL-базе данных.
Ниже приведена настройка Spamassassin 3.0.3 для работы в связке с MTA
Exim 4.50 (Debian Sarge) на примере СУБД MySQL.
1. Подготовить MySQL-базу
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE `spamassassin_db`;
Query OK, 1 row affected (0.09 sec)
mysql> GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'pasword';
Query OK, 0 rows affected (0.07 sec)
mysql> GRANT ALL PRIVILEGES ON `spamassassin_db`.* TO 'username'@'localhost';
Query OK, 0 rows affected (0.07 sec)
2. Подготовить необходимые таблицы (схемы таблиц находятся в
/usr/share/doc/spamassassin/sql)
cd /usr/share/doc/spamassassin/sql
# mysql -u username -p spamassassin_db < userpref_mysql.sql
# mysql -u username -p spamassassin_db < bayes_mysql.sql
# mysql -u username -p spamassassin_db < awl_mysql.sql
3. Осуществить импорт накопленных bayes-токенов
su -m -c "sa-learn -D --backup > /tmp/backup.txt" Debian-exim
su -m -c "sa-learn --restore /tmp/backup.txt" Debian-exim
4. Осуществить импорт awl-базы (понадобится скрипт
convert_awl_dbm_to_sql из набора spamassassin tools)
cd /usr/local/bin
wget http://spamassassin.apache.org/full/3.0.x/dist/tools/convert_awl_dbm_to_sql
chmod +x convert_awl_dbm_to_sql
su -m -c "/usr/local/bin/convert_awl_dbm_to_sql --username Debian-exim
--dsn DBI:mysql:spamassassin_db:localhost --dbautowhitelist
/var/spool/exim4/.spamassassin/auto-whitelist --sqlusername username
--sqlpassword password --ok" Debian-exim
5. Добавить конфигурационный файл, описывающий необходимость
использования mysql-базы для хранения пользовательских настроек
(userpref), данных автоматического whitelist'а (awl) байесовского
фильтра.
cat > /etc/mail/spamassassin/sql.cf
user_scores_dsn DBI:mysql:spamassassin_db:localhost:3306
user_scores_sql_username username
user_scores_sql_password password
auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn DBI:mysql:spamassassin_db:localhost:3306
user_awl_sql_username username
user_awl_sql_password password
bayes_store_module Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn DBI:mysql:spamassassin_db:localhost:3306
bayes_sql_username username
bayes_sql_password password
6. Добавить в запускной скрипт опцию -q, при наличии которой
spamassassin будет пытаться использовать sql-базы, описанные в
конфигурационных файлах (на время тестирования можно добавить опцию -D
(debug)).
7. Перезапустить Spamassassin
/etc/init.d/spamassassin restart
Ссылки:
1. Migrating our Debian Anti-Spam Anti-Virus Gateway Email Server's
Bayes database to MySQL
2. Loading SpamAssassin User Preferences From An SQL Database
3. Spamassassin Wiki - UsingSQL