====== 安裝 MailWatch 方式 ======
MailWatch 可以統計 MailScanner 的運作狀況, 並將之存到 MySQL 協助管理的工具
* 下載 MailWatch
su - root
cd /var/www/html
wget http://sourceforge.net/projects/mailwatch/files/mailwatch/1.0.5/mailwatch-1.0.5.tar.gz/download
tar -zxvf mailwatch-1.0.5.tar.gz
mv mailwatch-1.0.5 mailwatch
cd mailwatch
* 編輯 php.ini
vi /etc/php.ini
:
magic_quotes_gpc = On
:
* 透過 phpMyAdmin 在 MySQL 建立 MailWatch 所需要的資料表
- 建立 mailscanner 資料庫
- 將 create.sql 內容貼入執行, 建立資料表
- 建立 mailwatch 資料庫使用者可以存取 mailscanner 資料庫
* 建立網頁目錄與權限
mv mailscanner /var/www/html
cd /var/www/html/mailscanner
chown root:apache images
chmod ug+rwx images
chown root:apache images/cache
chmod ug+rwx images/cache
* 建立 conf.php
cp conf.php.example conf.php
vi conf.php
:
define('DB_TYPE', 'mysql');
define('DB_USER', 'mailwatch');
define('DB_PASS', 'xxxx');
define('DB_HOST', '192.168.11.xx');
define('DB_NAME', 'mailscanner');
define('DB_DSN', DB_TYPE.'://'.DB_USER.":".DB_PASS."@".DB_HOST."/".DB_NAME);
:
* 編輯 MailWatch.pm 與複製到 MailScanner 自訂函數目錄
vi MailWatch.pm
:
# Modify this as necessary for your configuration
my($db_name) = 'mailscanner';
my($db_host) = '192.168.11.xx';
my($db_user) = 'mailwatch';
my($db_pass) = 'xxxx';
:
cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
* 調整 MailScanner 設定
service MailScanner stop
vi /etc/MailScanner/MailScanner.conf
:
# If you want to use it, read CustomConfig.pm.
Always Looked Up Last = &MailWatchLogging
:
# Do you want the full spam report, or just a simple "spam / not spam" report?
Detailed Spam Report = yes
:
# This can also be the filename of a ruleset.
Quarantine Whole Message = Yes
:
# as human-readable files (header then body in 1 file)?
Quarantine Whole Messages As Queue Files = no
:
# report, or just list the names of the scores
Include Scores In SpamAssassin Report = yes
:
# and "Quarantine Group".
Quarantine User = root
Quarantine Group = apache
# If you want processes running under the same *group* as MailScanner to
# be able to read the quarantined files (and list what is in the
# directories, of course), set to 0640. If you want *all* other users to
# be able to read them, set to 0644. For a detailed description, if
# you're not already familiar with it, refer to `man 2 chmod`.
# Typical use: let the webserver have access to the files so users can
# download them if they really want to.
# Use with care, you may well open security holes.
Quarantine Permissions = 0660
:
Spam Actions = store deliver header "X-Spam-Status: Yes"
:
High Scoring Spam Actions = store
:
* 設定整合編輯 Blacklist/Whitelist
vi SQLBlackWhiteList.pm
:
sub CreateList {
my($type, $BlackWhite) = @_;
my($dbh, $sth, $sql, $to_address, $from_address, $count);
my($db_name) = 'mailscanner';
my($db_host) = '192.168.11.xx';
my($db_user) = 'mailwatch';
my($db_pass) = 'xxxx';
:
cp SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
vi /etc/MailScanner/MailScanner.conf
:
Is Definitely Not Spam = &SQLWhitelist
:
Is Definitely Spam = &SQLBlacklist
:
* 編輯 Bayesian Databases 啟動權限
vi /etc/MailScanner/spam.assassin.prefs.conf
:
# Thanks to Matt Kettler for pointing this out.
bayes_path /etc/MailScanner/bayes/bayes
# This is actually used as a mask, not a raw chmod setting.
# Thanks for Matt Kettler for spotting this one.
# Commented out: this if for MailWatch and Exim/Postfix users only.
bayes_file_mode 0660
:
mkdir /etc/MailScanner/bayes
chown root:apache /etc/MailScanner/bayes
chmod g+rws /etc/MailScanner/bayes
cp /root/.spamassassin/bayes_* /etc/MailScanner/bayes
chown root:apache /etc/MailScanner/bayes/bayes_*
chmod g+rw /etc/MailScanner/bayes/bayes_*
* 重新啟動 MailScanner
service MailScanner start && tail -f /var/log/maillog
* 如果 MySQL 安裝在其他主機, 要更改 /var/www/html/mailscanner/geoip_update.php
:
dbquery("LOAD DATA LOCAL INFILE '".$base.'/'.$file2."' INTO TABLE geoip_country FIELDS TERMINATED BY ',' ENCLOSED BY '\"'");
:
這樣才可順利匯入, 否則會出現類似以下的錯誤訊息
Downloading file, please wait....
Error executing query:
Access denied for user 'mailwatch'@'192.168.11.xx' (using password: YES)
===== 參考網址 =====
* http://dev.mysql.com/doc/refman/5.1/en/load-data-local.html
{{tag>mail mailscanenr}}