Цель это статьи пошагово описать процесс настройки SpamAssassin на работу с базой MySQL и установить плагин для Roundcube.
Преамбула такова, уже имеется настроенная связка Exim4 + SpamAssassin + MySQL + Roundcube, всё это великолепно работает. Хочется чтобы SpamAssassin научился работать с MySQL.
Приступим.
SpamAssassin установлен из репозитория, поэтому не мудрствуя лукаво переходим в /usr/share/doc/spamassassin/sql и смотрим, что тут у нас есть. А оказывается тут есть и инструкция в README и заготовки для создания таблиц.
Создадим в MySQL БД и пользователя:
Заходим в Roundcube, переходим в "Настройки", видим "Спам фильтр", радуемся!
Посмотреть пользовательскую конфигурацию в SQL БД можно, например, так:
Преамбула такова, уже имеется настроенная связка Exim4 + SpamAssassin + MySQL + Roundcube, всё это великолепно работает. Хочется чтобы SpamAssassin научился работать с MySQL.
Приступим.
SpamAssassin установлен из репозитория, поэтому не мудрствуя лукаво переходим в /usr/share/doc/spamassassin/sql и смотрим, что тут у нас есть. А оказывается тут есть и инструкция в README и заготовки для создания таблиц.
Создадим в MySQL БД и пользователя:
Теперь заливаем дампы таблиц из /usr/share/doc/spamassassin/sql:mysql> create database spamassassin; mysql> grant usage on *.* to 'spamassassin'@'localhost' identified by 'passw0rd'; mysql> grant all privileges on spamassassin.* to 'spamassassin'@'localhost'; mysql> flush privileges;
БД и таблицы в ней созданы, теперь научи SpamAssassin как достучаться к MySQL. Создадим конфигурационный файл, скажем, /etc/spamassassin/sql.cf:mysql -uspamassassin -ppassw0rd spamassassin < /usr/share/doc/spamassassin/sql/userpref_mysql.sql mysql -uspamassassin -ppassw0rd spamassassin < /usr/share/doc/spamassassin/sql/bayes_mysql.sql mysql -uspamassassin -ppassw0rd spamassassin < /usr/share/doc/spamassassin/sql/awl_mysql.sql
В файле /etc/default/spamassassin отыскиваем опцию OPTIONS и добавляем ключи --sql-config и -u debian-spamd. Рестартуем сервис:user_scores_dsn DBI:mysql:spamassassin:localhost:3306 user_scores_sql_username spamassassin user_scores_sql_password passw0rd auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList user_awl_dsn DBI:mysql:spamassassin:localhost:3306 user_awl_sql_username spamassassin user_awl_sql_password passw0rd bayes_store_module Mail::SpamAssassin::BayesStore::SQL bayes_sql_dsn DBI:mysql:spamassassin:localhost:3306 bayes_sql_username spamassassin bayes_sql_password passw0rd
Теперь переходим в директорию Roundcube, далее в ${roundcube_dir}/plugins/sauserprefs на основании имеющегося шаблона создаём config.inc.php где указываем адреса, явки, пароли:$ sudo service spamassassin restart
Включаем плагин sauserprefs в ${roundcube_dir}/config/main.inc.php$rcmail_config['sauserprefs_db_dsnw'] = 'mysql://spamassassin:passw0rd@localhost/spamassassin';
Заходим в Roundcube, переходим в "Настройки", видим "Спам фильтр", радуемся!
Посмотреть пользовательскую конфигурацию в SQL БД можно, например, так:
Глобальные настройки можно перенести и/или переопределить в таблице userperf, для username значение "$GLOBAL":mysql> select username,preference,value from userpref WHERE (username='$GLOBAL' OR username LIKE '%@mydomain.com' OR username='user@mydomain2.com') ORDER by username ASC;
+------------------+-------------------------+------------------------+ | username | preference | value | +------------------+-------------------------+------------------------+ | $GLOBAL | required_hits | 5.00 | | $GLOBAL | subject_tag | [SPAM-_HITS_]- | | $GLOBAL | score USER_IN_WHITELIST | -10 | | $GLOBAL | whitelist_from | *@whitedomain.com | | $GLOBAL | score USER_IN_BLACKLIST | 10 | | $GLOBAL | report_safe | 0 | | $GLOBAL | use_razor2 | 1 | | $GLOBAL | use_pyzor | 1 | | $GLOBAL | use_dcc | 1 | | $GLOBAL | skip_rbl_checks | 1 | | $GLOBAL | use_bayes | 1 | | $GLOBAL | ok_locales | en | | $GLOBAL | ok_languages | en | | $GLOBAL | whitelist_from | *@nai.com | | $GLOBAL | use_auto_whitelist | 1 | | $GLOBAL | rewrite_header Subject | [SPAM-_HITS_]- | +------------------+-------------------------+------------------------+
Немає коментарів:
Дописати коментар