I was unable to find any help anywhere on installing spamassassin on a modern Fedora system. All the advice out there is old and doesn't apply - so far as I found anyway. The official documentation does NOT pertain to Fedora — it's too generic and is missing important Fedora implementation details.
And, how it's done is not enough straight-forward that I know what to do! The most important missing link appears to be what I tell to
Postfix on how to call
spamassassin. However, it's also completely unclear where configuration options are to be defined.
There's a lot more that follows but MAYBE this all boils down to nobody bothering to give appropriate information on what the Postfix
smtpd_milter entry should be. AND, the entry I've tried is based on the data found in '/usr/share/doc/spamass-milter-postfix' this file says the right value is unix:/run/spamass-milter/postfix/sock BUT while the directory exists, the socket entry is not there, and the error message cited below is returned.
...OK, the longer story:
I've installed these versions:
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
And again, this is Fedora 21. The installed Postfix is:
When I run 'man spamassassin' it points me to
/var/lib/spammassassin/3.004000, which contains 'updates_spamassassin_org.cf and a subdirectory of the same name (minus the .cf) which in turn contains a large collection (65) of .cf files. The man page also points me to
/usr/share/spamassassin which in turn contains a large collection (63) of similarly named .cf files which aren't quite identical.
I sure hope I don't have to learn everything about all of these to get spamassassin working! Thankfully - but insufficiently - the man page ALSO points me to
/etc/mail/spamassassin which contains, among other things, a file called
local.cf. In there I found a link to a page on how to install and integrate spamassassin with postfix - here (), but that advice wasn't sufficient AND appeared to not be so clueful. For example, among the first things it suggests is to create a group and user account called "
spamfilter" when, of course, the stock
yum install already created the account
sa-milt, whose entry appears to be the right one:
I imagine that there needs to be an entry made in Postfix's main.cf to create or add an entry called
smtpd_milters to include whatever link is needed to tell Postfix how to call spamassassin. PRESENTLY I have an entry for
# This is for openDKIM - missing are clamav and spamassassin: smtpd_milters = inet:localhost:8891
So, it seems to me to be an error to create these user accounts. Also if these accounts ARE needed, why didn't the installation scripts already create the user and group? Additionally, it also talks about using "
service" to start spamassassin, BUT, as any competent Fedora 21 System Administrator knows, you don't use "service", you use
The service DOES start - and stay up - using:
systemctl start spamassassin
BUT, it doesn't work.
In particular, it seems obvious to me there needs to have a hook into postfix, but it's also obvious that the non-Fedora 21 strategy of doing that fails. We are directed to update Postfix's main.cf smtpd_milters entry - here's what they suggest:
# First entry is for openDKIM smtpd_milters = inet:localhost:8891, unix:/run/spamass-milter/postfix/sock
The problem is, though, that this doesn't work. We get this in the log file:
postfix/smtpd: warning: connect to Milter service unix:/run/spamass-milter/postfix/sock: No such file or directory
Yet, I can't seem to find the CORRECT entry for
smtpd_milters for this version combination!
CLEARLY there should be installation directions somewhere, but NONE of what I've found pertains to these versions. Please either tell me how this should be done or point me to where I can find a competent write-up that DOES apply! IN PARTICULAR, what's the appropriate
smtpd_milters entry OR, how do I create a configuration combination (smtpd_milters / spamassassin configuration) that works?