Мне не удалось найти никакой помощи по установке spamassassin в современной системе Fedora. Все советы старые и неприменимы, насколько я понял. Официальная документация НЕ относится к Fedora - она слишком общая и в ней отсутствуют важные детали реализации Fedora.
И не совсем понятно, как это делается, чтобы я знал, что делать! Самым важным недостающим звеном является то, что я говорю Postfix
как позвонить spamassassin
. Однако также совершенно неясно, где должны быть определены параметры конфигурации.
Далее следует еще много чего, но МОЖЕТ БЫТЬ все сводится к тому, что никто не удосуживается предоставить соответствующую информацию о том, что Postfix smtpd_milter
запись должна быть. И запись, которую я пробовал, основана на данных, найденных в '/ usr / share / doc / spamass-milter-postfix', в этом файле указано, что правильное значение - unix: / run / spamass-milter / postfix / sock, НО в то время как каталог существует, запись сокета отсутствует, и возвращается приведенное ниже сообщение об ошибке.
... Хорошо, длинная история:
Я установил эти версии:
spamass-milter-0.4.0-1.fc21.x86_64
spamass-milter-postfix-0.4.0-1.fc21.noarch
spamassassin-3.4.0-13.fc21.x86_64
И снова это Fedora 21. Установленный Postfix:
postfix-2.11.3-1.fc21.x86_64
Когда я запускаю "man spamassassin", это указывает мне на /var/lib/spammassassin/3.004000
, который содержит 'updates_spamassassin_org.cf и подкаталог с тем же именем (без .cf), который, в свою очередь, содержит большую коллекцию (65) файлов .cf. Страница руководства также указывает мне на /usr/share/spamassassin
который, в свою очередь, содержит большую коллекцию (63) файлов .cf с одинаковыми именами, которые не совсем идентичны.
Я очень надеюсь, что мне не нужно знать все обо всем этом, чтобы spamassassin работал! К счастью - но недостаточно - страница руководства ТАКЖЕ указывает мне на /etc/mail/spamassassin
который содержит, среди прочего, файл с именем local.cf
. Там я нашел ссылку на страницу о том, как установить и интегрировать spamassassin с postfix - здесь (), но этого совета было недостаточно, и он оказался не таким уж понятным. Например, первое, что он предлагает, - это создать группу и учетную запись пользователя под названием "spamfilter
"когда, конечно, акции yum
установить уже созданный аккаунт sa-milt
, чья запись кажется правильной:
sa-milt:x:982:477:SpamAssassin Milter:/var/lib/spamass-milter:/sbin/nologin
Я полагаю, что в файле main.cf Postfix должна быть запись для создания или добавления записи с именем smtpd_milters
чтобы включить любую ссылку, необходимую для сообщения Postfix, как вызывать spamassassin. В НАСТОЯЩЕЕ ВРЕМЯ у меня есть запись на openDKIM
:
# This is for openDKIM - missing are clamav and spamassassin:
smtpd_milters = inet:localhost:8891
Итак, мне кажется, что создание этих учетных записей является ошибкой. Также, если эти учетные записи НУЖНЫ, почему сценарии установки еще не создали пользователя и группу? Кроме того, здесь также говорится об использовании "service
"чтобы запустить spamassassin, НО, как знает любой компетентный системный администратор Fedora 21, вы не используете" сервис ", вы используете systemctl
!
... Игнорируя это ...
Сервис ДЕЙСТВИТЕЛЬНО запускается и остается в рабочем состоянии, используя:
systemctl start spamassassin
НО, это не работает.
В частности, мне кажется очевидным, что в postfix нужно иметь хук, но также очевидно, что стратегия, не связанная с Fedora 21, не работает. Нам поручено обновить запись Postfix в main.cf smtpd_milters - вот что они предлагают:
# First entry is for openDKIM
smtpd_milters = inet:localhost:8891, unix:/run/spamass-milter/postfix/sock
Однако проблема в том, что это не работает. Мы получаем это в файле журнала:
postfix/smtpd[18151]: warning: connect to Milter service unix:/run/spamass-milter/postfix/sock: No such file or directory
Тем не менее, я не могу найти ПРАВИЛЬНУЮ запись для smtpd_milters
для этой комбинации версий!
Ясно, что где-то должны быть инструкции по установке, но НИЧТО из того, что я нашел, не относится к этим версиям. Пожалуйста, либо скажите мне, как это должно быть сделано, либо укажите, где я могу найти компетентное описание, которое ДЕЙСТВИТЕЛЬНО применимо! В частности, что подходит smtpd_milters
запись ИЛИ, как мне создать комбинацию конфигурации (конфигурация smtpd_milters / spamassassin), которая работает?
Оказывается, после долгого скрежета зубов я заметил, что есть установленный мною пакет, на который НИКОГДА не ссылался, насколько я когда-либо видел. Это называется spamass-milter-root
.
Итак, проверив ВСЕ, что я мог придумать, я подумал, а почему бы и нет? ... ("#" - это приглашение командной строки системной учетной записи root.)
# systemctl enable spamass-milter-root.service
Created symlink from /etc/systemd/system/multi-user.target.wants/spamass-milter-root.service to /usr/lib/systemd/system/spamass-milter-root.service.
# systemctl status spamass-milter-root.service -;
● spamass-milter-root.service - Mail filter for SpamAssassin
Loaded: loaded (/usr/lib/systemd/system/spamass-milter-root.service; disabled)
Active: active (running) since Fri 2015-04-17 15:53:41 PDT; 1min 3s ago
Process: 2353 ExecStartPre=/bin/chown -R root /run/spamass-milter (code=exited, status=0/SUCCESS)
Main PID: 2356 (spamass-milter)
CGroup: /system.slice/spamass-milter-root.service
├─2356 /usr/sbin/spamass-milter -g postfix -p /run/spamass-milter/...
└─2370 /usr/bin/spamc
Apr 17 15:53:41 ms1 spamass-milter[2356]: spamass-milter 0.4.0 starting
Apr 17 15:54:00 ms1 spamass-milter[2356]: Could not retrieve sendmail mac...s
И, поскольку у меня был tail -f /var/log/maillog
в окне, я был шокирован, когда ВНЕЗАПНО (!!) все это начало работать с сотнями писем, обрабатываемых spamd
на моих глазах! УРА!
Теперь есть другие проблемы, например, какой эффект имеет анализ этих сообщений ...
Для ясности, вот две команды, которые решили проблему ... Имейте в виду, что все остальные настройки уже выполнены:
# systemctl enable spamass-milter-root.service
# systemctl start spamass-milter-root.service
Готово.
Вам также необходимо запустить службу рассылки спама.
systemctl start spamass-milter
И подтвердил, что он работает
systemctl status spamass-milter
и
netstat -an | grep spamass-milter
По умолчанию spamassassin поставляется только с spamd
и spamc
двоичный. У демона, включенного в пакет. Вот почему вам нужно использовать интегратор, например bash скрипт, Amavisd или spamass-milter (как в этом случае)
Я бы не стал использовать spamassassin через milter. Я считаю, что amavisd - гораздо лучший вариант (например: он дает антивирусную защиту с помощью clamav).
Вот вы можете найти некоторые шаги интеграции для RedHat / CentOS; для Fedora они должны быть относительно похожи.