User:Paul/sandbox/Install SpamAssassin
Jump to navigation
Jump to search
WARNING: This article is in a user sandbox, indicating it is a rough draft, and as such, is likely incomplete, contains buggy and insecure configurations, and is subject to substantial and frequent changes.
Most of the commands in this article require root
privileges:
username@servername:~$ sudo -i
Install and configure SpamAssassin
Install the base set of packages:
root@servername:~# aptitude install spamass-milter pyzor razor libmail-dkim-perl
The SpamAssassin milter will require the spamd
user, which needs to be created:
root@servername:~# adduser --shell /bin/false --home /var/lib/spamassassin --disabled-password --disabled-login --gecos "" spamd root@servername:~# usermod -a -G spamd spamass-milter root@servername:~# mv /etc/default/spamassassin /etc/default/original.spamassassin root@servername:~# nano /etc/default/spamassassin
Paste into the new file:
SAHOME="/var/lib/spamassassin" SAGLOBALCFGPATH="/etc/spamassassin" # Change to one to enable spamd ENABLED=1 # Options # See man spamd for possible options. The -d option is automatically added. OPTIONS="--max-children 5 --helper-home-dir ${SAHOME} -u spamd -g spamd --siteconfigpath ${SAGLOBALCFGPATH} --socketpath=/var/spool/postfix/spamassassin/spamd.sock --socketowner=spamd --socketgroup=spamd --socketmode=0660" # Pid file # Where should spamd write its PID to file? If you use the -u or # --username option above, this needs to be writable by that user. # Otherwise, the init script will not be able to shut spamd down. PIDFILE="/var/run/spamd.pid" # Cronjob # Set to anything but 0 to enable the cron job to automatically update # spamassassin's rules on a nightly basis CRON=1
Configure to interface with Postfix through unix domain sockets:
root@servername:~# mkdir /var/spool/postfix/spamassassin root@servername:~# chown spamd:root /var/spool/postfix/spamassassin/ root@servername:~# nano /etc/default/spamass-milter
Comment out the default OPTIONS
and paste in:
OPTIONS="-u spamass-milter -i 127.0.0.1 -m -I -- --socket=/var/spool/postfix/spamassassin/spamd.sock"
root@servername:~# nano /etc/spamassassin/local.cf
Add:
## Set Pyzor & Razor config file paths razor_config /var/lib/spamassassin/.razor/razor-agent.conf pyzor_options --homedir /var/lib/spamassassin/.pyzor
root@servername:~# mkdir /var/lib/spamassassin/{.razor,.pyzor,.spamassassin} root@servername:~# pyzor --homedir /var/lib/spamassassin/.pyzor discover root@servername:~# razor-admin -home=/var/lib/spamassassin/.razor -register root@servername:~# razor-admin -home=/var/lib/spamassassin/.razor -create root@servername:~# razor-admin -home=/var/lib/spamassassin/.razor -discover root@servername:~# chown spamd:spamd -R /var/lib/spamassassin/ root@servername:~# nano /var/lib/spamassassin/.razor/razor-agent.conf
Add:
razorhome = /var/lib/spamassassin/.razor
root@servername:~# service spamassassin restart && service spamass-milter restart root@servername:~# spamassassin --lint root@servername:~# sa-update
Next step
External links
A Mailserver on Ubuntu 12.04: Postfix, Dovecot, MySQL | Ex Ratione