NAME
Mail::SpamAssassin::Spamd::Apache2::Config -- configure Apache with SpamAssassin
SYNOPSIS
LoadModule perl_module modules/mod_perl.so
PerlLoadModule Mail::SpamAssassin::Spamd::Apache2::Config
SAEnabled On # default off
SAAllow from 127.0.0.1 192.168.0.0/24 ::1
SAIdent Off
SATell Off
SATimeout 300 # reasonable: around 30s
SADebug info
SAMsgSizeLimit 512000
DESCRIPTION
Provides Apache config directives for configuring spamd. Initializes the Mail::SpamAssassin object.
Note, that the defaults here apply to *this* code; apache-spamd.pl(1) sets different ones to be compatible with spamd(1).
DIRECTIVES
SAEnabled { On | Off }
-
Enables / disables SA for given vhost. Adds two handlers:
SetHandler modperl PerlProcessConnectionHandler Mail::SpamAssassin::Spamd::Apache2 PerlPreConnectionHandler Mail::SpamAssassin::Spamd::Apache2::AclIP
Defaults to Off.
SAAllow from 127.0.0.1 192.168/16 ::1 ...
-
Similar to
Allow from ...
directive frommod_authz_vhost
. Spamd's--allowed-ips
arguments should go here.Default is empty, meaning access is denied.
SAIdent { On | Off }
-
Enables RFC 1413 (ident) checks incoming connections. Note, that checking if a *remote* login matches a *local* one is usually pointless. See Mail::SpamAssassin::Apache2::AclRFC1413(3) for more details.
Adds a handler:
PerlPreConnectionHandler Mail::SpamAssassin::Spamd::Apache2::AclRFC1413
Requires
IdentityCheck on
in current configuration scope. This directive is provided by themod_ident
module, separated from core in Apache 2.1.Default off.
SATell { On | Off }
-
Allow clients to issue the
TELL
command. Default off. SATimeout 300
-
Timeout for SpamAssassin checks. 25 seconds is a reasonable value.
Default
0
(unlimited). SADebug debug_level
-
Debug level for SpamAssassin.
SAMsgSizeLimit 512000
-
Maximum message size which will be processed. You're strongly encouraged to set this value. Unit: bytes.
SANew key "value"
-
Additional arguments to
Mail::SpamAssassin-
new()>. Refer to Mail::SpamAssassin(3). SAUsers { none | local | sql | ldap }
-
Databases which should be checked for user information. Will be checked in the order specified.
Default
none
. SALocale xx_XX
-
Value of the LANG environment variable SpamAssassin should run with.
Default
none
, unless you set Apache otherwise somehow. SAConfigLine "config line"
-
Equivalent of the
--cf
option for spamassassin / spamd / sa-learn.
EXAMPLES
You'll need some basic Apache directives in each configuration; that should be obvious.
PidFile "/var/run/apache-spamd.pid"
ServerName localhost
TimeOut 30
StartServers 1
MinSpareServers 1
MaxSpareServers 2
MaxClients 5
MaxRequestsPerChild 200
If the Mail::SpamAssassin::* perl modules are installed somewhere outside of @INC
, you can use something like:
PerlSwitches -I/home/users/someuser/lib
simple
Listen 127.0.0.1:30783
LoadModule perl_module /usr/lib/apache/mod_perl.so
PerlLoadModule Mail::SpamAssassin::Spamd::Apache2::Config
SAenabled on
SAAllow from 127.0.0.1
SAtimeout 25
SAdebug info
SANew DEF_RULES_DIR "/usr/share/spamassassin"
SANew LOCAL_RULES_DIR "/etc/mail/spamassassin"
SANew LOCAL_STATE_DIR "/var/lib"
SAUsers local sql
vhosts with different config
Listen 127.0.0.1:30783
Listen 30784
LoadModule perl_module /usr/lib/apache/mod_perl.so
PerlLoadModule Mail::SpamAssassin::Spamd::Apache2::Config
SAenabled off
SAtimeout 25
SAdebug info
SANew DEF_RULES_DIR "/usr/share/spamassassin"
SANew LOCAL_RULES_DIR "/etc/mail/spamassassin"
SANew LOCAL_STATE_DIR "/var/lib"
LoadModule ident_module /usr/lib/apache/mod_ident.so
# local, ident-authenticated users only; search in /etc/passwd,
# if that fails, try SQL
<VirtualHost _default_:30783>
IdentityCheck on
IdentityCheckTimeout 4
SAenabled on
SAident on
SAAllow from 127.0.0.1
SAUsers local sql
</VirtualHost>
# serve for whole LAN, but don't read user configuration
<VirtualHost _default_:30784>
SAenabled on
SAtimeout 30
SAAllow from 127.0.0.1 192.168.0.0/24
SAUsers none
</VirtualHost>
BUGS
See <http://bugzilla.spamassassin.org/>.
SEE ALSO
httpd(8), spamd(1), apache-spamd(1), Mail::SpamAssassin::Spamd::Apache2(3), Mail::SpamAssassin::Spamd::Apache2::AclIP(3), Mail::SpamAssassin::Spamd::Apache2::AclRFC1413(3)