Difference between revisions of "User:Paul/sandbox/Install SpamAssassin"

From UNPM.org Wiki
Jump to navigation Jump to search
Line 5: Line 5:
 
  username@servername:~$ sudo /bin/bash
 
  username@servername:~$ sudo /bin/bash
  
SpamAssassin will be configured to interface with Postfix through unix domain sockets.
+
== Install and configure SpamAssassin ==
 +
 
 +
Install the base set of packages:
  
 
  root@servername:~# aptitude install spamass-milter pyzor razor libmail-dkim-perl
 
  root@servername:~# aptitude install spamass-milter pyzor razor libmail-dkim-perl
 +
 +
The SpamAssassin milter will require the <code>spamd</code> user, which needs to be created:
 +
 
  root@servername:~# adduser --shell /bin/false --home /var/lib/spamassassin --disabled-password --disabled-login --gecos "" spamd
 
  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:~# usermod -a -G spamd spamass-milter
Line 14: Line 19:
 
  SAHOME="/var/lib/spamassassin"
 
  SAHOME="/var/lib/spamassassin"
 
  SAGLOBALCFGPATH="/etc/spamassassin"
 
  SAGLOBALCFGPATH="/etc/spamassassin"
 
+
 
  # Change to one to enable spamd
 
  # Change to one to enable spamd
 
  ENABLED=1
 
  ENABLED=1
Line 33: Line 38:
 
  CRON=1
 
  CRON=1
 
   
 
   
 +
Configure to interface with Postfix through unix domain sockets:
 +
 
  root@servername:~# mkdir /var/spool/postfix/spamassassin
 
  root@servername:~# mkdir /var/spool/postfix/spamassassin
 
  root@servername:~# chown spamd:root /var/spool/postfix/spamassassin/
 
  root@servername:~# chown spamd:root /var/spool/postfix/spamassassin/
 
  root@servername:~# nano /etc/default/spamass-milter
 
  root@servername:~# nano /etc/default/spamass-milter
  
Comment out the default OPTIONS and paste in:
+
Comment out the default <code>OPTIONS</code> and paste in:
  
 
  OPTIONS="-u spamass-milter -i 127.0.0.1 -m -I -- --socket=/var/spool/postfix/spamassassin/spamd.sock"
 
  OPTIONS="-u spamass-milter -i 127.0.0.1 -m -I -- --socket=/var/spool/postfix/spamassassin/spamd.sock"

Revision as of 23:52, 27 May 2014

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 /bin/bash

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:~# nano /etc/default/spamassassin
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

External links

SpamAssassin

A Mailserver on Ubuntu 12.04: Postfix, Dovecot, MySQL | Ex Ratione

Taking e-mail back, part 3 | Ars Technica