How to enable SpamAssassin on your server.


Enter Your Query:
Use '%' for wildcards and quotes for "exact phrases"


Top Level » Email » Spam

How to enable SpamAssassin on your server.Last Modified: Nov 6, 2014, 4:25 pm
To enable SpamAssassin on your server, you need to first need to install it.  Once installed a few minor changes are needed in your /etc/exim.conf file.



1) Before installing SpamAssassin, ensure have the perl/cpan requirements.  This can be done in a few different way, I typically use cpan.
If you have never run cpan before, set cpan to follow prerequisites, to speed up the process:

[server]# cpan
cpan> o conf prerequisites_policy follow
cpan> o conf commit

Then install the required modules:

cpan -i Archive::Tar Digest::SHA Net::DNS::Resolver::Programmable Mail::SPF IP::Country Net::Ident IO::Socket::INET6 Compress::Zlib Mail::DKIM LWP::UserAgent HTTP::Date Encode::Detect ExtUtils::MakeMaker NetAddr::IP Mail::SpamAssassin::Plugin::Razor2 Razor2::Client::Agent IO::Socket::SSL DBI Sys::Syslog

and then run the spam.sh again.

If it asks you:

Are you ready for manual configuration? [yes] no

be sure to type "no" and press enter.  Only use "yes" if you really know what you're doing.  The default options are going to be the most reliable.


Or, as an alternative to using cpan, CentOS boxes can use this:

yum -y install perl-ExtUtils-MakeMaker perl-Digest-SHA perl-Net-DNS perl-NetAddr-IP perl-Archive-Tar perl-IO-Zlib perl-Digest-SHA perl-Mail-SPF perl-IP-Country perl-Razor2 perl-Net-Ident perl-IO-Socket-INET6 perl-IO-Socket-SSL perl-Mail-DKIM perl-DBI perl-Encode-Detect perl-HTML-Parser perl-HTML-Tagset perl-Time-HiRes perl-libwww-perl perl-Sys-Syslog




2) Use CustomBuild to install SpamAssassin:

cd /usr/local/directadmin/custombuild
./build set spamassassin yes
./build spamassassin


If you have CustomBuild 2.0 you're done the install portion, skip to step 4.


3) If you're using CustomBuild 1.2, or have an older system, you'd just need to ensure that the spamcheck_director is enabled in the exim.conf.
For newer systems, this is done with a line in the exim.conf that looks like this:

.include_if_exists /etc/exim.spamassassin.conf

Delete the # character that's in front of it, and save.  Then setup the exim.spamassassin.conf file:

wget -O /etc/exim.spamassassin.conf http://files.directadmin.com/services/exim.spamassassin.conf

and then restart exim.
For older systems, you might see a section that has #spamcheck_director.  You could optionally uncomment this section, or just leave it commented and add the mentioned .include_if_exists line just before it.

Restart exim:
Redhat/Debian:

/etc/init.d/exim restart


FreeBSD:

/usr/local/etc/rc.d/exim restart



4) Once setup, and exim is restarted, spamd should be running, confirm with:

[root@servercustombuild]# ps ax |grep spamd
21276 pts/0    S+     0:00 grep spamd
27565 ?        Ss     0:03 /usr/bin/spamd -d -c -m 15
27577 ?        S      0:00 spamd child
27578 ?        S      0:00 spamd child

where the "spamd -d -c -m 15" (or something very similar) would indicate it's running.
If not, check /var/log/maillog for clues.


5) Now that SpamAssassin is setup and running, Users just need to enable it at their User Level -> SpamAssassin section to create their user_prefs file, and email scanning should begin.






Other related info


a) The global spamassassin config file is in /etc/mail/spamassassin/local.cf

b) If you run debian and are missing perl or some pm files, type:

apt-get install perl-base perl-modules



c)A issue from Dec 2012 is this error:

http: GET 3.3 request failed: 400 URL must be absolute: 400 URL must be absolute
error: no mirror data available for channel updates.spamassassin.org
channel: MIRRORED.BY contents were missing, channel failed

With a reported solution being

cd /root
wget http://files1.directadmin.com/services/custombuild/Mail-SpamAssassin-rules-3.3.2-r1104058.tar.gz
wget http://files1.directadmin.com/services/custombuild/Mail-SpamAssassin-rules-3.3.2-r1104058.tar.gz.asc
wget http://files1.directadmin.com/services/custombuild/Mail-SpamAssassin-rules-3.3.2-r1104058.tar.gz.md5
wget http://files1.directadmin.com/services/custombuild/Mail-SpamAssassin-rules-3.3.2-r1104058.tar.gz.sha1
/usr/bin/sa-update --install Mail-SpamAssassin-rules-3.3.2-r1104058.tar.gz
/usr/bin/sa-update --nogpg


 
Related Helpfiles
Spamassassin : Can't locate HTML/Parser.pm in @INC
How to update your exim.conf
How to enable SpamAssassin for new accounts
How to enable realtime blocklists (RBLs) with exim
Change SpamAssassin to only scan local mailboxes
Can't locate ExtUtils/MakeMaker.pm in @INC
SpamAssassin: spamd[1234]: Can't locate version.pm in @INC
Can't locate LWP/UserAgent.pm in @INC
SpamAssassin isn't working
Can't locate Archive/Tar.pm in @INC
How to create a cronjob to use sa-learn to teach spamassassin - Maildir
REQUIRED module missing: NetAddr::IP

2003 JBMC Software, Suite 173  3-11 Bellerose Drive, St Albert, AB  T8N 1P7  Canada.  Mon-Fri 9AM-5PM MST