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

From UNPM.org Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
Most of the commands in this article require <code>root</code> privileges:
 
Most of the commands in this article require <code>root</code> privileges:
  
  username@servername:~$ sudo /bin/bash
+
  username@servername:~$ sudo -i
  
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
 +
root@servername:~# mv /etc/default/spamassassin /etc/default/original.spamassassin
 
  root@servername:~# nano /etc/default/spamassassin
 
  root@servername:~# nano /etc/default/spamassassin
  
 +
Paste into the new file:
 
  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 40:
 
  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"
Line 62: Line 71:
 
  root@servername:~# spamassassin --lint
 
  root@servername:~# spamassassin --lint
 
  root@servername:~# sa-update
 
  root@servername:~# sa-update
 +
 +
== Next step ==
 +
 +
[[User:Paul/sandbox/Configure_Dovecot|Configure Dovecot]]
  
 
== External links ==
 
== External links ==
 +
 +
[https://spamassassin.apache.org/ SpamAssassin]
  
 
[https://www.exratione.com/2012/05/a-mailserver-on-ubuntu-1204-postfix-dovecot-mysql/ A Mailserver on Ubuntu 12.04: Postfix, Dovecot, MySQL | Ex Ratione]
 
[https://www.exratione.com/2012/05/a-mailserver-on-ubuntu-1204-postfix-dovecot-mysql/ A Mailserver on Ubuntu 12.04: Postfix, Dovecot, MySQL | Ex Ratione]
 +
 +
[http://arstechnica.com/business/2014/03/taking-e-mail-back-part-3-fortifying-your-box-against-spammers/ Taking e-mail back, part 3 | Ars Technica]
  
 
[[category:Mail server]][[Category:Fully-functional mail server]]
 
[[category:Mail server]][[Category:Fully-functional mail server]]

Latest revision as of 22:58, 1 May 2015

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

Configure Dovecot

External links

SpamAssassin

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

Taking e-mail back, part 3 | Ars Technica