Instalação MailWatch · 4 min read · Sep 28, 2025

O SpamSnake Perfeito - Ubuntu Jaunty Jackalope - Página 4

17. Instruções de Instalação do MailWatch

Esta configuração assume que você está usando Apache v2.x e não Apache v1.x.

Antes de começar, certifique-se de que o MailScanner está funcionando antes de continuar com a instalação do MailWatch!

*Notas para Ubuntu:

Você deve ter uma configuração funcional do MailScanner e cópias em execução do MySQL, Apache e PHP. Você também deve ter o pacote Perl DBD-MySQL instalado para que as partes em Perl do MailScanner utilizem o banco de dados MySQL.

O php.ini padrão deve ter o seguinte configurado corretamente, você pode querer verificar isso:

short_open_tag = On
safe_mode = Off
register_globals = Off
magic_quotes_gpc = On
magic_quotes_runtime = Off
session.auto_start = 0

Esses serão comentados, você deve remover o “#” para ativá-los:

extension=mysql.so
extension=gd.so

17.1 Instalação

Baixe a versão mais recente do MailWatch:

wget http://downloads.sourceforge.net/mailwatch/mailwatch-1.0.4.tar.gz?modtime=1178902008&big_mirror=0   
tar xzvf mailwatch-1.0.4.tar.gz   
cd mailwatch-1.0.4

17.2 Criar o banco de dados

mysql -p < create.sql

*Nota: você precisará modificar o acima conforme necessário para o seu sistema se você tiver uma senha de root para o seu banco de dados MySQL (recomendado!) - Debian pedirá uma.

Crie um usuário e senha do MySQL & Configure o MailScanner para registro SQL:

mysql -p   
mysql> GRANT ALL ON mailscanner.* TO mailwatch@localhost IDENTIFIED BY 'password';

Lembre-se da senha! Você precisa das aspas simples ‘ para cercar sua senha.

17.3 Editar e mover MailWatch.pm

Edite MailWatch.pm e altere os valores de $db_user e $db_pass conforme necessário e mova MailWatch.pm:

mv MailWatch.pm /opt/MailScanner/lib/MailScanner/CustomFunctions/

17.4 Criar um Usuário Web do MailWatch

mysql mailscanner -u mailwatch -p
Digite a senha: ******
mysql> INSERT INTO users VALUES ('username',md5('password'),'mailscanner','A','0','0','0','0','0');

17.5 Instalar & Configurar MailWatch

Dentro do diretório descompactado do mailwatch, mova o diretório chamado ‘mailscanner’ para /var/www/.

mv mailscanner/ /var/www/   
cd /var/www/mailscanner

Crie um diretório temporário:

mkdir temp   
chgrp www-data temp   
chmod g+w temp

Verifique as permissões de /var/www/mailscanner/images e /var/www/images/cache - elas devem ser ug+rwx e pertencentes ao root e no mesmo grupo que o usuário do servidor web.

chown root:www-data images   
chmod ug+rwx images   
chown root:www-data images/cache   
chmod ug+rwx images/cache

Crie conf.php copiando conf.php.example e edite os valores para se adequar, você precisará definir DB_USER e DB_PASS para o usuário e senha do MySQL que você criou anteriormente.

Altere esses valores como mostrado abaixo:

define(DB_USER, 'mailwatch');
define(DB_PASS, 'password');
define(MAILWATCH_HOME, '/var/www/mailscanner');
define(MS_LIB_DIR, '/usr/lib/MailScanner/');
define(QUARANTINE_USE_FLAG, true);
define(QUARANTINE_FROM_ADDR, '[email protected]');
define(QUARANTINE_USE_SENDMAIL, true);

17.6 Configurar o MailScanner

Edite /opt/MailScanner/etc/MailScanner.conf e certifique-se de que os seguintes estão configurados:

Quarantine User = root
Quarantine Group = www-data
Quarantine Permissions = 0640
Quarantine Whole Message = yes
Always Looked Up Last = &MailWatchLogging
Quarantine Whole Message As Queue Files = no
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes

*Importante: Ações de Spam, Ações de Spam de Alta Pontuação e Ações de Nenhum Spam também devem ter ‘store’ como uma das palavras-chave se você quiser colocar esses itens em quarentena para aprendizado bayesiano ou visualização a partir do MailWatch.

17.7 Integrar Lista Negra/Branca SQL (opcional)

Se você gostaria de gerenciar a lista branca e negra do MailScanner a partir da interface web do MailWatch, execute os seguintes passos.

  1. Edite os valores de conexão MySQL dentro da sub-rotina CreateList de SQLBlackWhiteList.pm para corresponder aos valores que você inseriu anteriormente no MailWatch.pm. Ambos os arquivos devem conter os mesmos valores. (Procure as seguintes linhas em SQLBlackWhiteList.pm e insira seus próprios dados.)
my($db_user) = 'mailwatch';
my($db_pass) = 'password';
  1. Copie SQLBlackWhiteList.pm para /opt/MailScanner/lib/MailScanner/CustomFunctions/.

  2. Edite MailScanner.conf e defina:

Is Definitely Not Spam = &SQLWhitelist
Is Definitely Spam = &SQLBlacklist

17.8 Correção para permitir que o MailWatch funcione com a Fila de Entrada/Saída do Postfix

Baixe o patch de http://www.gbnetwork.co.uk/mailscanner/files/postfixmail.tar.gz

cd /usr/src   
wget http://www.gbnetwork.co.uk/mailscanner/files/postfixmail.tar.gz   
tar xvfz postfixmail.tar.gz   
cd postfixmail   
cp postfix* /var/www/mailscanner/   
patch /var/www/mailscanner/functions.php functions.php.diff

17.9 SpamAssassin

Primeiro, precisamos desabilitar o arquivo de configuração padrão do SpamAssassin:

mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.disabled

Agora vamos fazer backup do arquivo de configuração do SpamAssassin no MailScanner e depois editar:

cp /opt/MailScanner/etc/spam.assassin.prefs.conf /opt/MailScanner/etc/spam.assassin.prefs.conf.back

Adicione os caminhos do pyzor e razor ao topo de /opt/MailScanner/etc/spam.assassin.prefs.conf:

pyzor_options --homedir /var/lib/MailScanner/   
razor_config /var/lib/MailScanner/.razor/razor-agent.conf

Procure estas linhas e altere-as conforme necessário:

bayes_ignore_header X-YOURDOMAIN-COM-MailScanner
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamCheck
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamScore
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-Information

“YOURDOMAIN-COM” deve ser substituído pelo que você usou para “%org-name%” no arquivo MailScanner.conf. Deixe o “X-“ no lugar. Este é o mesmo orgname usado no MailScanner.conf acima.

Edite o SpamAssassin v310.pre para habilitar Razor e DCC:

loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Razor2

17.10 SpamAssassin SQL Bayes

Pré-requisitos

a. Você precisará dos módulos perl-DBI e perl-DBD-MySQL instalados.

Assumptions e Variáveis:

Nome do Banco de Dados Bayes do SpamAssassin: sa_bayes
Nome de Usuário do Banco de Dados Bayes do SpamAssassin: sa_user
Senha do Banco de Dados Bayes do SpamAssassin: sa_password

Crie o banco de dados MySQL:

Primeiro de tudo, crie um banco de dados no servidor onde você pretende armazenar as informações bayesianas.

mysql -u root -p
mysql> create database sa_bayes;   
mysql> GRANT ALL ON sa_bayes.* TO sa_user@localhost IDENTIFIED BY 'sa_password';   
mysql> flush privileges;

Localize o arquivo bayes_mysql.sql:

find / -name bayes_mysql.sql   
mysql -u sa_user -p sa_bayes < /path/to/bayes_mysql.sql

Faça algumas alterações no seu spam.assassin.prefs.conf:

bayes_store_module Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn DBI:mysql:sa_bayes:localhost
bayes_sql_username sa_user
bayes_sql_password sa_password
bayes_sql_override_username root

Certifique-se de que o seguinte esteja comentado:

#bayes_path /etc/MailScanner/bayes/bayes
#bayes_file_mode 0660

Além disso, adicione isso ao seu crontab:

30 01 * * * /usr/bin/sa-learn --force-expire --sync -p /opt/MailScanner/etc/spam.assassin.prefs.conf 
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.