インストール手順 · 2 min read · Sep 28, 2025

完璧なSpamSnake - Ubuntu Jaunty Jackalope - ページ 4

17. MailWatch インストール手順

このセットアップは、Apache v2.xを使用していることを前提としています。Apache v1.xではありません。

開始する前に、MailWatchのインストールを続ける前にMailScannerが動作していることを確認してください!

*Ubuntu用の注意:

動作するMailScannerのセットアップと、MySQL、Apache、PHPのコピーが実行中である必要があります。また、MailScannerのPerl部分がMySQLデータベースを利用できるように、Perl DBD-MySQLパッケージもインストールされている必要があります。

デフォルトのphp.ini設定は、以下のように正しく設定されている必要があります。これを確認することをお勧めします:

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

これらはコメントアウトされているので、アクティブにするために”#”を削除する必要があります:

extension=mysql.so
extension=gd.so

17.1 インストール

最新の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 データベースの作成

mysql -p < create.sql

*注: MySQLデータベースにrootパスワードがある場合は、上記を必要に応じて修正する必要があります(推奨!) - Debianはパスワードを要求します。

MySQLユーザーとパスワードを作成し、SQLロギングのためにMailScannerを設定します:

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

パスワードを忘れないでください!パスワードを囲むためにシングルクォート’が必要です。

17.3 MailWatch.pmの編集と移動

MailWatch.pmを編集し、$db_userと$db_passの値を適宜変更し、MailWatch.pmを移動します:

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

17.4 MailWatchウェブユーザーの作成

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

17.5 MailWatchのインストールと設定

解凍したmailwatchディレクトリ内から、’mailscanner’というディレクトリを/var/www/に移動します。

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

一時ディレクトリを作成します:

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

/var/www/mailscanner/imagesと/var/www/images/cacheの権限を確認してください - ug+rwxで、rootが所有し、ウェブサーバーユーザーと同じグループに属している必要があります。

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

conf.php.exampleをコピーしてconf.phpを作成し、値を適宜編集します。DB_USERとDB_PASSを、以前に作成したMySQLユーザーとパスワードに設定する必要があります。

以下のようにこれらの値を変更します:

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の設定

/opt/MailScanner/etc/MailScanner.confを編集し、以下が設定されていることを確認します:

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

*重要: スパムアクション、高スコアのスパムアクション、スパムなしアクションには、MailWatch内でのベイズ学習や表示のために、それらのアイテムを隔離したい場合は、’store’をキーワードの1つとして持っている必要があります。

17.7 SQLブラックリスト/ホワイトリストの統合(オプション)

MailWatchウェブインターフェースからMailScannerのホワイトリストとブラックリストを管理したい場合は、以下の手順を実行します。

  1. SQLBlackWhiteList.pmのCreateListサブルーチン内でMySQL接続値を編集し、以前にMailWatch.pmに入力した値と一致させます。両方のファイルには同じ値が含まれている必要があります。(SQLBlackWhiteList.pm内の以下の行を探し、自分のデータを入力します。)
my($db_user) = 'mailwatch';
my($db_pass) = 'password';
  1. SQLBlackWhiteList.pmを/opt/MailScanner/lib/MailScanner/CustomFunctions/にコピーします。

  2. MailScanner.confを編集し、次のように設定します:

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

17.8 MailWatchがPostfixの受信/送信キューで動作するように修正

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

まず、デフォルトのSpamAssassin設定ファイルを無効にする必要があります:

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

次に、MailScanner内のSpamAssassin設定ファイルをバックアップし、編集します:

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

/opt/MailScanner/etc/spam.assassin.prefs.confの先頭にpyzorとrazorのパスを追加します:

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

これらの行を探し、適宜変更します:

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”は、MailScanner.confファイルの”%org-name%”に使用したものに置き換える必要があります。”X-“はそのままにしてください。これは、上記のMailScanner.confで使用される同じorgnameです。

SpamAssassin v310.preを編集してRazorとDCCを有効にします:

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

17.10 SpamAssassin SQL Bayes

前提条件

a. perl-DBIおよびperl-DBD-MySQLモジュールがインストールされている必要があります。

仮定と変数:

SpamAssassin Bayesデータベース名: sa_bayes
SpamAssassin Bayesデータベースユーザー名: sa_user
SpamAssassin Bayesデータベースパスワード: sa_password

MySQLデータベースを作成します:

まず、ベイジアン情報を保存するサーバーにデータベースを作成します。

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;

bayes_mysql.sqlファイルを見つけます:

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

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

以下がコメントアウトされていることを確認します:

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

また、これをcrontabに追加します:

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

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。