Instalación MailWatch · 4 min read · Sep 28, 2025

El SpamSnake Perfecto - Ubuntu Jaunty Jackalope - Página 4

17. Instrucciones de Instalación de MailWatch

Esta configuración asume que estás usando Apache v2.x y no Apache v1.x.

Antes de comenzar, asegúrate de que MailScanner esté funcionando antes de continuar con la instalación de MailWatch!

*Notas para Ubuntu:

Debes tener una configuración de MailScanner funcionando y copias en ejecución de MySQL, Apache y PHP. También debes tener instalado el paquete Perl DBD-MySQL para que las partes de Perl de MailScanner utilicen la base de datos MySQL.

La configuración predeterminada de php.ini debe tener lo siguiente configurado correctamente, es posible que desees verificar esto:

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

Estos estarán comentados, debes eliminar el “#” para activarlos:

extension=mysql.so
extension=gd.so

17.1 Instalación

Descarga la última versión de 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 Crear la base de datos

mysql -p < create.sql

*Nota: necesitarás modificar lo anterior según sea necesario para tu sistema si tienes una contraseña de root para tu base de datos MySQL (¡recomendado!) - Debian pedirá una.

Crea un usuario y contraseña de MySQL y configura MailScanner para el registro SQL:

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

¡Recuerda la contraseña! Necesitas las comillas simples ‘ para rodear tu contraseña.

17.3 Editar y mover MailWatch.pm

Edita MailWatch.pm y cambia los valores de $db_user y $db_pass en consecuencia y mueve MailWatch.pm:

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

17.4 Crear un Usuario Web de MailWatch

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

17.5 Instalar y Configurar MailWatch

Desde dentro del directorio de mailwatch descomprimido, mueve el directorio llamado ‘mailscanner’ a /var/www/.

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

Crea un directorio temporal:

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

Verifica los permisos de /var/www/mailscanner/images y /var/www/images/cache - deberían ser ug+rwx y ser propiedad de root y estar en el mismo grupo que el usuario del servidor web.

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

Crea conf.php copiando conf.php.example y edita los valores según convenga, necesitarás establecer DB_USER y DB_PASS al usuario y contraseña de MySQL que creaste anteriormente.

Cambia estos valores como se muestra a continuación:

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 MailScanner

Edita /opt/MailScanner/etc/MailScanner.conf y asegúrate de que lo siguiente esté configurado:

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: Las Acciones de Spam, las Acciones de Spam de Alta Puntuación y las Acciones de No Spam también deben tener ‘store’ como una de las palabras clave si deseas poner en cuarentena esos elementos para el aprendizaje de bayes o visualización desde dentro de MailWatch.

17.7 Integrar Lista Negra/Lista Blanca SQL (opcional)

Si deseas gestionar la lista blanca y negra de MailScanner desde la interfaz web de MailWatch, realiza los siguientes pasos.

  1. Edita los valores de conexión de MySQL dentro de la subrutina CreateList de SQLBlackWhiteList.pm para que coincidan con los valores que ingresaste anteriormente en MailWatch.pm. Ambos archivos deben contener los mismos valores. (Busca las siguientes líneas en SQLBlackWhiteList.pm e ingresa tus propios datos.)
my($db_user) = 'mailwatch';
my($db_pass) = 'password';
  1. Copia SQLBlackWhiteList.pm a /opt/MailScanner/lib/MailScanner/CustomFunctions/.

  2. Edita MailScanner.conf y establece:

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

17.8 Corrección para permitir que MailWatch funcione con la Cola de Entrada/Salida de Postfix

Descarga el parche 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

Primero necesitamos deshabilitar el archivo de configuración predeterminado de SpamAssassin:

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

Ahora hagamos una copia de seguridad del archivo de configuración de SpamAssassin en MailScanner y luego editemos:

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

Agrega las rutas de pyzor y razor a la parte superior de /opt/MailScanner/etc/spam.assassin.prefs.conf:

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

Busca estas líneas y cámbialas en consecuencia:

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” debe ser reemplazado por lo que usaste para “%org-name%” en el archivo MailScanner.conf. Deja el “X-“ en su lugar. Este es el mismo orgname utilizado en el MailScanner.conf anterior.

Edita el SpamAssassin v310.pre para habilitar Razor y DCC:

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

17.10 SpamAssassin SQL Bayes

Requisitos previos

a. Necesitarás los módulos perl-DBI y perl-DBD-MySQL instalados.

Suposiciones y Variables:

Nombre de la base de datos de Bayes de SpamAssassin: sa_bayes
Nombre de usuario de la base de datos de Bayes de SpamAssassin: sa_user
Contraseña de la base de datos de Bayes de SpamAssassin: sa_password

Crea la base de datos MySQL:

Primero, crea una base de datos en el servidor donde planeas almacenar la información bayesiana.

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;

Localiza el archivo bayes_mysql.sql:

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

Haz algunos cambios en tu 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

Asegúrate de que lo siguiente esté comentado:

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

También agrega esto a tu crontab:

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

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.