Installation · 4 min read · Sep 28, 2025

Die perfekte SpamSnake - Ubuntu Jaunty Jackalope - Seite 4

17. MailWatch Installationsanweisungen

Dieses Setup geht davon aus, dass Sie Apache v2.x und nicht Apache v1.x verwenden.

Bevor Sie beginnen, stellen Sie sicher, dass MailScanner funktioniert, bevor Sie mit der MailWatch-Installation fortfahren!

*Hinweise für Ubuntu:

Sie müssen eine funktionierende MailScanner-Installation und laufende Kopien von MySQL, Apache und PHP haben. Sie müssen auch das Perl DBD-MySQL-Paket installiert haben, damit die Perl-Teile von MailScanner die MySQL-Datenbank nutzen können.

Die Standard php.ini sollte die folgenden Werte korrekt gesetzt haben, Sie möchten dies möglicherweise überprüfen:

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

Diese müssen auskommentiert werden, Sie müssen das “#” entfernen, um sie zu aktivieren:

extension=mysql.so
extension=gd.so

17.1 Installation

Laden Sie die neueste MailWatch-Version herunter:

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 Datenbank erstellen

mysql -p < create.sql

*Hinweis: Sie müssen das oben Genannte nach Bedarf für Ihr System anpassen, wenn Sie ein Root-Passwort für Ihre MySQL-Datenbank haben (empfohlen!) - Debian wird danach fragen.

Erstellen Sie einen MySQL-Benutzer und ein Passwort & richten Sie MailScanner für SQL-Protokollierung ein:

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

Merken Sie sich das Passwort! Sie benötigen die einfachen Anführungszeichen ‘ um Ihr Passwort.

17.3 MailWatch.pm bearbeiten und verschieben

Bearbeiten Sie MailWatch.pm und ändern Sie die Werte von $db_user und $db_pass entsprechend und verschieben Sie MailWatch.pm:

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

17.4 Erstellen Sie einen MailWatch-Webbenutzer

mysql mailscanner -u mailwatch -p
Geben Sie das Passwort ein: ******
mysql> INSERT INTO users VALUES ('username',md5('password'),'mailscanner','A','0','0','0','0','0');

17.5 MailWatch installieren und konfigurieren

Bewegen Sie aus dem entpackten mailwatch-Verzeichnis das Verzeichnis namens ‘mailscanner’ nach /var/www/.

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

Erstellen Sie ein temporäres Verzeichnis:

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

Überprüfen Sie die Berechtigungen von /var/www/mailscanner/images und /var/www/images/cache - sie sollten ug+rwx sein und von root besessen werden und in der gleichen Gruppe wie der Webserver-Benutzer sein.

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

Erstellen Sie conf.php, indem Sie conf.php.example kopieren, und bearbeiten Sie die Werte entsprechend. Sie müssen DB_USER und DB_PASS auf den MySQL-Benutzer und das Passwort setzen, die Sie zuvor erstellt haben.

Ändern Sie diese Werte wie unten gezeigt:

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

Bearbeiten Sie /opt/MailScanner/etc/MailScanner.conf und stellen Sie sicher, dass Folgendes gesetzt ist:

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

*Wichtig: Spam-Aktionen, hoch bewertete Spam-Aktionen und keine Spam-Aktionen sollten ebenfalls ‘store’ als eines der Schlüsselwörter haben, wenn Sie diese Elemente zur Quarantäne für das Bayes-Lernen oder zur Ansicht innerhalb von MailWatch quarantänisieren möchten.

17.7 SQL-Blacklist/Whitelist integrieren (optional)

Wenn Sie die MailScanner-Whitelist und -Blacklist über die MailWatch-Weboberfläche verwalten möchten, führen Sie die folgenden Schritte aus.

  1. Bearbeiten Sie die MySQL-Verbindungswerte innerhalb der CreateList-Unterroutine von SQLBlackWhiteList.pm, um die Werte anzupassen, die Sie zuvor in MailWatch.pm eingegeben haben. Beide Dateien sollten die gleichen Werte enthalten. (Suchen Sie nach den folgenden Zeilen in SQLBlackWhiteList.pm und geben Sie Ihre eigenen Daten ein.)
my($db_user) = 'mailwatch';
my($db_pass) = 'password';
  1. Kopieren Sie SQLBlackWhiteList.pm nach /opt/MailScanner/lib/MailScanner/CustomFunctions/.

  2. Bearbeiten Sie MailScanner.conf und setzen Sie:

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

17.8 Fix, um MailWatch mit der Postfix-Eingangs-/Ausgangswarteschlange arbeiten zu lassen

Laden Sie den Patch von 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

Zuerst müssen wir die Standardkonfigurationsdatei von SpamAssassin deaktivieren:

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

Jetzt sichern wir die SpamAssassin-Konfigurationsdatei in MailScanner und bearbeiten sie:

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

Fügen Sie die pyzor- und razor-Pfade an den Anfang von /opt/MailScanner/etc/spam.assassin.prefs.conf hinzu:

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

Suchen Sie nach diesen Zeilen und ändern Sie sie entsprechend:

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” sollte durch das ersetzt werden, was Sie für “%org-name%” in der MailScanner.conf-Datei verwendet haben. Lassen Sie das “X-“ an Ort und Stelle. Dies ist der gleiche orgname, der oben in der MailScanner.conf verwendet wird.

Bearbeiten Sie die SpamAssassin v310.pre, um Razor und DCC zu aktivieren:

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

17.10 SpamAssassin SQL Bayes

Voraussetzungen

a. Sie müssen die perl-DBI- und perl-DBD-MySQL-Module installiert haben.

Annahmen und Variablen:

SpamAssassin Bayes Datenbankname: sa_bayes
SpamAssassin Bayes Datenbankbenutzername: sa_user
SpamAssassin Bayes Datenbankpasswort: sa_password

Erstellen Sie die MySQL-Datenbank:

Zuerst erstellen Sie eine Datenbank auf dem Server, auf dem Sie die bayesianischen Informationen speichern möchten.

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;

Suchen Sie die bayes_mysql.sql-Datei:

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

Nehmen Sie einige Änderungen an Ihrer spam.assassin.prefs.conf vor:

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

Stellen Sie sicher, dass Folgendes auskommentiert ist:

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

Fügen Sie dies auch zu Ihrem Crontab hinzu:

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

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.