설치 지침 · 3 min read · Sep 28, 2025
완벽한 스팸스네이크 - 우분투 자운티 재칼로프 - 페이지 4
17. MailWatch 설치 지침
이 설정은 Apache v2.x를 사용하고 Apache v1.x를 사용하지 않는다고 가정합니다.
시작하기 전에 MailWatch 설치를 계속하기 전에 MailScanner가 작동하는지 확인하십시오!
*우분투에 대한 주의 사항:
작동하는 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.so17.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.417.2 데이터베이스 생성
mysql -p < create.sql*참고: MySQL 데이터베이스에 루트 비밀번호가 있는 경우(권장!) 위 내용을 시스템에 맞게 수정해야 합니다. - 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 -pEnter 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/cacheconf.php.example을 복사하여 conf.php를 생성하고 값을 적절히 수정합니다. 이전에 생성한 MySQL 사용자 및 비밀번호에 DB_USER 및 DB_PASS를 설정해야 합니다.
아래와 같이 이러한 값을 변경하십시오:
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 내에서 bayes 학습 또는 보기 위해 해당 항목을 격리하려면 ‘store’를 키워드 중 하나로 가져야 합니다.
17.7 SQL 블랙리스트/화이트리스트 통합 (선택 사항)
MailWatch 웹 인터페이스 내에서 MailScanner 화이트리스트 및 블랙리스트를 관리하려면 다음 단계를 수행하십시오.
- SQLBlackWhiteList.pm의 CreateList 서브루틴 내에서 MySQL 연결 값을 이전에 MailWatch.pm에 입력한 값과 일치하도록 편집합니다. 두 파일은 동일한 값을 포함해야 합니다. (SQLBlackWhiteList.pm에서 다음 줄을 찾아 자신의 데이터를 입력하십시오.)
my($db_user) = 'mailwatch';
my($db_pass) = 'password';SQLBlackWhiteList.pm을 /opt/MailScanner/lib/MailScanner/CustomFunctions/로 복사합니다.
MailScanner.conf를 편집하고 설정합니다:
Is Definitely Not Spam = &SQLWhitelist
Is Definitely Spam = &SQLBlacklist17.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.diff17.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입니다.
Razor 및 DCC를 활성화하기 위해 SpamAssassin v310.pre를 편집합니다:
loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Razor217.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 -pmysql> 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.sqlspam.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 새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.