설치 가이드 · 6 min read · Jan 15, 2026

Debian Lenny에 Maia Mailguard 설치하기 (Postfix/MySQL와 함께하는 가상 사용자/도메인) - 페이지 2

6 Maia Mailguard 구성 테스트

이제 실행하십시오

cd /var/lib/amavis/maia/scripts/  
./configtest.pl

이 스크립트는 amavisd-maia, SpamAssassin 및 Maia Mailguard의 유지 관리 스크립트에 필요한 모든 Perl 모듈이 설치되어 있는지 확인합니다. 제 경우 출력은 다음과 같았습니다:

server1:/var/lib/amavis/maia/scripts# ./configtest.pl  
  
MAIA MAILGUARD CONFIGURATION TEST  
  
이 스크립트는 amavisd-maia, SpamAssassin 및 Maia Mailguard의 유지 관리 스크립트에 필요한 응용 프로그램 및 Perl 모듈의 존재를 확인합니다. 버전 번호도 확인되며, 구성 요소의 최신 버전이 권장되는 경우 최소 권장 버전으로 업그레이드하는 것을 고려해야 합니다.  
  
이미 Maia Mailguard 데이터베이스를 구성한 경우, 스크립트는 해당 데이터베이스에 대한 연결도 테스트합니다.  
  
또한 웹 서버에서 configtest.php 스크립트를 실행하여 웹, PHP 및 PEAR 환경에 대한 유사한 테스트를 수행하는 것을 잊지 마십시오.  
  
응용 프로그램/모듈      버전   상태  
========================================================================  
Perl                 :   5.10.0 : OK  
file(1)              :     4.26 : OK  
Archive::Tar        :     1.38 : OK  
Archive::Zip        :     1.18 : OK  
BerkeleyDB          :     0.34 : OK  
Compress::Zlib      :    2.012 : OK  
Convert::TNEF       :     0.17 : OK  
Convert::UUlib      :     1.11 : OK  
Crypt::Blowfish     :      N/A : NOT INSTALLED (Maia Mailguard의 선택적 암호화 기능이 필요합니다)  
Crypt::CBC          :      N/A : NOT INSTALLED (Maia Mailguard의 선택적 암호화 기능이 필요합니다)  
Crypt::OpenSSL::RSA :      N/A : NOT INSTALLED (SpamAssassin의 선택적 DKIM 플러그인이 필요합니다)  
Data::UUID          :      N/A : NOT INSTALLED (Maia Mailguard에서 필요함)  
DB_File             :  1.816_1 : OK  
DBD::mysql          :    4.007 : OK  
DBD::Pg            :      N/A : NOT INSTALLED (PostgreSQL을 Maia Mailguard 데이터베이스로 사용하는 경우 필요함)  
DBI                 :    1.605 : OK  
Digest::MD5        :  2.36_01 : OK  
Digest::SHA1       :     2.11 : OK  
File::Spec          :   3.2501 : OK  
HTML::Parser        :     3.56 : OK  
HTTP::Date          :    5.810 : OK  
IO::Stringy         :    2.110 : OK  
IO::Zlib           :     1.07 : OK  
IP::Country         :      N/A : NOT INSTALLED (SpamAssassin의 선택적 RelayCountry 플러그인이 필요합니다)  
LWP::UserAgent      :    5.813 : OK  
Mail::Address       :     2.03 : OK  
Mail::DKIM         :      N/A : NOT INSTALLED (SpamAssassin의 선택적 DKIM 플러그인이 필요합니다)  
Mail::Internet      :     2.03 : OK  
Mail::SpamAssassin  :    3.2.5 : OK  
Mail::SPF::Query    :      N/A : NOT INSTALLED (SpamAssassin의 선택적 SPF 플러그인이 필요합니다)  
MIME::Base64        :  3.07_01 : OK  
MIME::Parser        :    5.427 : OK  
MIME::QuotedPrint   :     3.07 : OK  
Net::CIDR::Lite     :      N/A : NOT INSTALLED (SpamAssassin의 선택적 SPF 플러그인이 필요합니다)  
Net::Cmd           :     2.29 : OK  
Net::DNS           :     0.63 : OK  
Net::Server        :     0.97 : OK  
Net::SMTP          :     2.31 : OK  
Pod::Usage         :     1.35 : OK  
Template           :      N/A : NOT INSTALLED (Maia Mailguard에서 필요함)  
Time::HiRes        :   1.9711 : OK  
Unix::Syslog       :      1.1 : OK  
URI                :     1.35 : OK  
Text::CSV          :      N/A : NOT INSTALLED (maiadbtool.pl에서 필요함)  
  
데이터베이스 DSN 테스트    : PASSED  
  
    NOTE: Perl을 버전 5.10으로 업그레이드하거나 그렇게 할 계획이 있는 경우, 기존 AV 항목의 정규 표현식에 누락된 /m 플래그를 추가하는 것을 잊지 마십시오. 이는 amavisd.conf.dist 예제 파일에서 제안된 대로입니다. Perl 5.8은 누락된 /m 플래그를 신경 쓰지 않지만, Perl 5.10에서는 바이러스 스캐너의 결과가 더 이상 제대로 인식되지 않을 수 있습니다.  
server1:/var/lib/amavis/maia/scripts#

보시다시피 몇 개의 모듈이 누락되었습니다. 대부분은 aptitude를 통해 설치할 수 있습니다:

aptitude install libcrypt-blowfish-perl libcrypt-cbc-perl libcrypt-openssl-rsa-perl libmail-dkim-perl libmail-spf-query-perl libnet-cidr-lite-perl libtemplate-perl libtext-csv-perl

IP::Country와 Data::UUID는 Debian Lenny 패키지로 제공되지 않으므로 Perl 셸을 사용하여 설치해야 합니다:

perl -MCPAN -e shell
install IP::Country
install Data::UUID

입력 후

q

Perl 셸을 종료합니다.

다시 실행하십시오

./configtest.pl

출력은 이제 다음과 같아야 합니다:

server1:/var/lib/amavis/maia/scripts# ./configtest.pl  
  
MAIA MAILGUARD CONFIGURATION TEST  
  
이 스크립트는 amavisd-maia, SpamAssassin 및 Maia Mailguard의 유지 관리 스크립트에 필요한 응용 프로그램 및 Perl 모듈의 존재를 확인합니다. 버전 번호도 확인되며, 구성 요소의 최신 버전이 권장되는 경우 최소 권장 버전으로 업그레이드하는 것을 고려해야 합니다.  
  
이미 Maia Mailguard 데이터베이스를 구성한 경우, 스크립트는 해당 데이터베이스에 대한 연결도 테스트합니다.  
  
또한 웹 서버에서 configtest.php 스크립트를 실행하여 웹, PHP 및 PEAR 환경에 대한 유사한 테스트를 수행하는 것을 잊지 마십시오.  
  
응용 프로그램/모듈      버전   상태  
========================================================================  
Perl                 :   5.10.0 : OK  
file(1)              :     4.26 : OK  
Archive::Tar        :     1.38 : OK  
Archive::Zip        :     1.18 : OK  
BerkeleyDB          :     0.34 : OK  
Compress::Zlib      :    2.012 : OK  
Convert::TNEF       :     0.17 : OK  
Convert::UUlib      :     1.11 : OK  
Crypt::Blowfish     :     2.10 : OK  
Crypt::CBC          :     2.29 : OK  
Crypt::OpenSSL::RSA :     0.25 : OK  
Data::UUID          :    1.215 : OK  
DB_File             :  1.816_1 : OK  
DBD::mysql          :    4.007 : OK  
DBD::Pg            :      N/A : NOT INSTALLED (PostgreSQL을 Maia Mailguard 데이터베이스로 사용하는 경우 필요함)  
DBI                 :    1.605 : OK  
Digest::MD5        :  2.36_01 : OK  
Digest::SHA1       :     2.11 : OK  
File::Spec          :   3.2501 : OK  
HTML::Parser        :     3.56 : OK  
HTTP::Date          :    5.810 : OK  
IO::Stringy         :    2.110 : OK  
IO::Zlib           :     1.07 : OK  
IP::Country         :     2.27 : OK  
LWP::UserAgent      :    5.813 : OK  
Mail::Address       :     2.03 : OK  
Mail::DKIM         :     0.32 : OK  
Mail::Internet      :     2.03 : OK  
Mail::SpamAssassin  :    3.2.5 : OK  
Mail::SPF::Query    :  1.999.1 : OK  
MIME::Base64        :  3.07_01 : OK  
MIME::Parser        :    5.427 : OK  
MIME::QuotedPrint   :     3.07 : OK  
Net::CIDR::Lite     :     0.20 : OK  
Net::Cmd           :     2.29 : OK  
Net::DNS           :     0.63 : OK  
Net::Server        :     0.97 : OK  
Net::SMTP          :     2.31 : OK  
Pod::Usage         :     1.35 : OK  
Template           :     2.19 : OK  
Time::HiRes        :   1.9711 : OK  
Unix::Syslog       :      1.1 : OK  
URI                :     1.35 : OK  
Text::CSV          :     1.06 : OK  
  
데이터베이스 DSN 테스트    : PASSED  
  
    NOTE: Perl을 버전 5.10으로 업그레이드하거나 그렇게 할 계획이 있는 경우, 기존 AV 항목의 정규 표현식에 누락된 /m 플래그를 추가하는 것을 잊지 마십시오. 이는 amavisd.conf.dist 예제 파일에서 제안된 대로입니다. Perl 5.8은 누락된 /m 플래그를 신경 쓰지 않지만, Perl 5.10에서는 바이러스 스캐너의 결과가 더 이상 제대로 인식되지 않을 수 있습니다.  
server1:/var/lib/amavis/maia/scripts#

우리는 MySQL을 사용하고 PostgreSQL을 사용하지 않기 때문에 DBD::Pg 모듈이 필요하지 않습니다.

7 SpamAssassin 규칙 로드하기

Maia Mailguard는 시스템에 설치된 모든 SpamAssassin 규칙을 인덱싱해야 합니다. 이는 다음과 같이 수행할 수 있습니다:

./load-sa-rules.pl --debug

SpamAssassin 규칙이 업데이트될 때마다 다시 수행해야 합니다. Postfix, Courier, MySQL 및 SquirrelMail (Debian Lenny)와 함께하는 가상 사용자 및 도메인 튜토리얼을 따랐다면, 시스템에 다음과 같은 cron 작업이 있습니다:

23 4 */2 * * /usr/bin/sa-update --no-gpg &> /dev/null

다음과 같이 cron 작업을 수정하려면 실행하십시오:

crontab -e

그렇게 하면 다음과 같이 보이게 됩니다:

| 23 4 */2 * * /usr/bin/sa-update --no-gpg && /var/lib/amavis/maia/scripts/load-sa-rules.pl && /etc/init.d/amavis restart &> /dev/null |

8 Maia Mailguard 웹 인터페이스 설치하기

저는 Maia의 웹 인터페이스를 /var/www/maia에 설치하여 http://www.example.com/maia를 통해 접근할 수 있도록 하기를 원합니다 (문서 루트가 /var/www와 다르면 경로를 조정하십시오). 따라서 지금 해당 디렉토리를 만들고 Maia의 웹 인터페이스를 복사합니다:

mkdir /var/www/maia  
cp -pfr /usr/src/maia/1.0/php/* /var/www/maia/

/var/www/maia/themes 디렉토리의 특정 하위 디렉토리는 Apache 사용자에 의해 쓰기 가능해야 합니다. 이는 다음과 같이 달성할 수 있습니다:

chgrp amavis /var/www/maia/themes/*/compiled  
chmod 775 /var/www/maia/themes/*/compiled  
gpasswd -a www-data amavis

Maia의 웹 인터페이스는 Smarty 템플릿 엔진을 사용하며, 이는 다음과 같이 설치할 수 있습니다:

aptitude install smarty
ln -s /usr/share/php/smarty/libs /usr/share/php/Smarty

다음으로 /var/www/maia/config.php.dist를 /var/www/maia/config.php로 이름을 바꿉니다…

mv /var/www/maia/config.php.dist /var/www/maia/config.php

… 그리고 다음 설정을 변경합니다:

vi /var/www/maia/config.php

| [...] $maia_sql_dsn = "mysql://amavis:passwd@tcp(localhost:3306)/maia"; [...] $address_rewriting_type = 4; [...] // 다음 중 하나의 인증 방법을 선택하십시오: // // "pop3" - POP3 서버를 사용하여 인증 // "imap" - IMAP 서버를 사용하여 인증 // "ldap" - LDAP 서버를 사용하여 인증 // "exchange" - Exchange 서버를 사용하여 인증 // "sql" - SQL 데이터베이스 서버를 사용하여 인증 // "internal" - Maia의 내부 SQL 데이터베이스를 사용하여 인증 $auth_method = "pop3"; [...] |

실행 후

chmod 0640 /var/www/maia/config.php  
chown root:www-data /var/www/maia/config.php

9 PHP 구성 테스트하기

브라우저를 열고 http://www.example.com/maia/admin/configtest.php로 이동하십시오. 이 페이지는 필요한 모든 PHP 모듈이 설치되어 있는지 알려줍니다:

모듈이 누락된 경우 지금 설치해야 합니다. 누락된 모듈을 설치하기 위해 다음을 수행해야 했습니다:

aptitude install php-pear
pear channel-update pear.php.net
pear install Mail_Mime  
pear install Mail_mimeDecode  
pear install Pager  
pear install Net_Socket  
pear install Net_SMTP  
pear install Auth_SASL  
pear install Net_IMAP  
pear install Net_POP3  
pear install Log  
pear install Image_Color  
pear install Image_Canvas-0.3.1  
pear install Image_Graph-0.7.2
cd /usr/share/php/Image/Graph/Plot/  
cp Pie.php Pie.php.original  
wget http://www.maiamailguard.org/maia/raw-attachment/ticket/326/Pie.php.patch  
patch -p0
pear install Numbers_Roman  
pear install Numbers_Words-0.16.1
pear channel-discover htmlpurifier.org  
pear install hp/HTMLPurifier
aptitude install php5-imap php5-ldap php5-mcrypt
/etc/init.d/apache2 restart

이제 http://www.example.com/maia/admin/configtest.php를 새로 고침하십시오 - 모든 필수 모듈이 이제 설치되어 있어야 합니다:

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.