Installation · 4 min read · Sep 28, 2025

Le SpamSnake Parfait - Ubuntu Jaunty Jackalope - Page 4

17. Instructions d’installation de MailWatch

Cette configuration suppose que vous utilisez Apache v2.x et non Apache v1.x.

Avant de commencer, assurez-vous que MailScanner fonctionne avant de continuer avec l’installation de MailWatch !

*Notes pour Ubuntu :

Vous devez avoir une configuration fonctionnelle de MailScanner et des copies en cours d’exécution de MySQL, Apache et PHP. Vous devez également avoir le package Perl DBD-MySQL installé pour que les parties Perl de MailScanner puissent utiliser la base de données MySQL.

Le fichier php.ini par défaut doit avoir les éléments suivants correctement définis, vous voudrez peut-être vérifier cela :

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

Ceux-ci seront commentés, vous devez supprimer le “#” pour les activer :

extension=mysql.so
extension=gd.so

17.1 Installation

Téléchargez la dernière version 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 Créer la base de données

mysql -p < create.sql

*Note : vous devrez modifier ce qui précède si nécessaire pour votre système si vous avez un mot de passe root pour votre base de données MySQL (recommandé !) - Debian vous en demandera un.

Créez un utilisateur MySQL et un mot de passe & Configurez MailScanner pour la journalisation SQL :

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

N’oubliez pas le mot de passe ! Vous avez besoin des apostrophes ‘ pour entourer votre mot de passe.

17.3 Modifier et déplacer MailWatch.pm

Modifiez MailWatch.pm et changez les valeurs $db_user et $db_pass en conséquence et déplacez MailWatch.pm :

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

17.4 Créer un utilisateur Web MailWatch

mysql mailscanner -u mailwatch -p
Entrez le mot de passe : ******
mysql> INSERT INTO users VALUES ('username',md5('password'),'mailscanner','A','0','0','0','0','0');

17.5 Installer et configurer MailWatch

Depuis le répertoire mailwatch décompressé, déplacez le répertoire appelé ‘mailscanner’ vers /var/www/.

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

Créez un répertoire temporaire :

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

Vérifiez les permissions de /var/www/mailscanner/images et /var/www/images/cache - elles doivent être ug+rwx et appartenir à root et au même groupe que l’utilisateur du serveur web.

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

Créez conf.php en copiant conf.php.example et modifiez les valeurs en conséquence, vous devrez définir DB_USER et DB_PASS sur l’utilisateur MySQL et le mot de passe que vous avez créés précédemment.

Changez ces valeurs comme indiqué ci-dessous :

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 Configurer MailScanner

Modifiez /opt/MailScanner/etc/MailScanner.conf et assurez-vous que les éléments suivants sont définis :

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

*Important : les actions de spam, les actions de spam à score élevé et les actions sans spam doivent également avoir ‘store’ comme l’un des mots-clés si vous souhaitez mettre en quarantaine ces éléments pour l’apprentissage bayésien ou la visualisation depuis MailWatch.

17.7 Intégrer la liste noire/liste blanche SQL (optionnel)

Si vous souhaitez gérer la liste blanche et la liste noire de MailScanner depuis l’interface web de MailWatch, effectuez les étapes suivantes.

  1. Modifiez les valeurs de connexion MySQL dans la sous-routine CreateList de SQLBlackWhiteList.pm pour correspondre aux valeurs que vous avez saisies précédemment dans MailWatch.pm. Les deux fichiers doivent contenir les mêmes valeurs. (Recherchez les lignes suivantes dans SQLBlackWhiteList.pm et entrez vos propres données.)
my($db_user) = 'mailwatch';
my($db_pass) = 'password';
  1. Copiez SQLBlackWhiteList.pm dans /opt/MailScanner/lib/MailScanner/CustomFunctions/.

  2. Modifiez MailScanner.conf et définissez :

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

17.8 Correction pour permettre à MailWatch de fonctionner avec la file d’attente entrante/sortante de Postfix

Téléchargez le patch depuis 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

Tout d’abord, nous devons désactiver le fichier de configuration par défaut de SpamAssassin :

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

Maintenant, sauvegardons le fichier de configuration de SpamAssassin dans MailScanner puis modifions :

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

Ajoutez les chemins pyzor et razor en haut de /opt/MailScanner/etc/spam.assassin.prefs.conf :

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

Recherchez ces lignes et modifiez-les en conséquence :

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” doit être remplacé par ce que vous avez utilisé pour “%org-name%” dans le fichier MailScanner.conf. Laissez le “X-“ en place. C’est le même orgname utilisé dans le MailScanner.conf ci-dessus.

Modifiez le SpamAssassin v310.pre pour activer Razor et DCC :

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

17.10 SpamAssassin SQL Bayes

Prérequis

a. Vous aurez besoin des modules perl-DBI et perl-DBD-MySQL installés.

Hypothèses et Variables :

Nom de la base de données Bayes de SpamAssassin : sa_bayes
Nom d’utilisateur de la base de données Bayes de SpamAssassin : sa_user
Mot de passe de la base de données Bayes de SpamAssassin : sa_password

Créez la base de données MySQL :

Tout d’abord, créez une base de données sur le serveur où vous avez l’intention de stocker les informations bayésiennes.

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;

Localisez le fichier bayes_mysql.sql :

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

Apportez quelques modifications à votre 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

Assurez-vous que ce qui suit est commenté :

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

Ajoutez également ceci à votre crontab :

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

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.