메일 서버 · 2 min read · Nov 11, 2025
Debian Squeeze에 Maia Mailguard 설치하기 (Postfix/MySQL을 이용한 가상 사용자/도메인)
Debian Squeeze에 Maia Mailguard 설치하기 (Postfix/MySQL을 이용한 가상 사용자/도메인)
버전 1.0
저자: Falko Timme, Dominik Najberg
이 가이드는 Debian Squeeze 메일 서버에 스팸 및 바이러스 관리 시스템인 Maia Mailguard를 설치하는 방법을 설명합니다. Maia Mailguard는 인기 있는 amavisd-new 이메일 스캐너와 SpamAssassin을 기반으로 한 웹 기반 인터페이스 및 관리 시스템입니다. Perl과 PHP로 작성된 Maia Mailguard는 최종 사용자에게 바이러스 스캐너와 스팸 필터가 메일을 처리하는 방식을 제어할 수 있는 권한을 부여하며, 메일 관리자에게는 사이트 전체의 기본값 및 제한을 구성할 수 있는 권한을 부여합니다.
이것이 당신에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
이 튜토리얼은 Postfix, Courier, MySQL 및 SquirrelMail을 이용한 가상 사용자 및 도메인에 기반하므로, 이미 이 설정이 되어 있어야 합니다. 만약 당신의 메일 설정이 다르다면, 이 튜토리얼이 작동하지 않을 수 있으며, 일부 조정을 해야 할 수도 있습니다.
내 서버의 호스트 이름은 mail.example.com이고 IP 주소는 192.168.0.1입니다. 나는 Debian의 기본 lighttpd 문서 루트인 /var/www에 Maia의 웹 인터페이스를 설치할 것이며, www.example.com을 사용하여 웹 인터페이스에 접근할 것입니다. 문서 루트와 도메인이 다르다면 이를 조정해야 합니다.
2 Maia Mailguard 다운로드
Maia Mailguard는 SVN에서만 다운로드할 수 있으므로, 먼저 Subversion을 설치해야 합니다:
aptitude install subversion나는 소스를 /usr/src/maia에 다운로드하고 싶습니다:
mkdir /usr/src/maia
cd /usr/src/maia브라우저를 열고 https://www.maiamailguard.com/svn/branches/1.0으로 가서 최신 리비전을 확인합니다 - 내 경우에는 1578이었습니다. 그런 다음 다음과 같이 다운로드를 시작합니다:
svn -r 1578 checkout https://www.maiamailguard.com/svn/branches/1.0(최신 리비전으로 1578을 교체해야 합니다.)
3 Maia Mailguard용 데이터베이스 생성
다음으로 MySQL에 로그인합니다…
mysql -u root -p… 그리고 maia라는 데이터베이스를 생성합니다:
CREATE DATABASE maia;그 후 MySQL 셸을 종료합니다:
quit;빈 maia 데이터베이스에 Maia의 SQL 덤프를 가져옵니다:
cd /usr/src/maia/1.0/
mysql -u root -p maia < maia-mysql.sql그런 다음 다시 MySQL에 로그인합니다…
mysql -u root -p maia… 그리고 amavis라는 MySQL 사용자를 생성합니다:
GRANT CREATE, DROP, ALTER, SELECT, INSERT, UPDATE, DELETE ON maia.* TO amavis@localhost IDENTIFIED BY 'amavismysqlpasswd';FLUSH PRIVILEGES;이메일이 어디에도 전송되지 않도록 방지하는 ‘discard_ham’ 문제를 수정합니다:
ALTER TABLE users ADD COLUMN discard_ham char(1) NOT NULL default 'N'MySQL을 종료합니다:
quit;(당신은 amavismysqlpasswd를 원하는 비밀번호로 교체할 수 있지만, 나중에 Maia 구성에서 그 비밀번호를 사용해야 한다는 점을 명심하세요!)
다음으로 /etc/mysql/my.cnf의 max_allowed_packet 값이 충분히 큰지 확인합니다 ( [mysqld] 섹션에서). 이 설정은 Maia로 처리할 수 있는 가장 큰 메일 항목의 크기를 결정하므로, 필요에 맞게 이 값을 충분히 크게 설정해야 합니다.
nano /etc/mysql/my.cnf| [...] [mysqld] [...] max_allowed_packet = 16M [...] |
max_allowed_packet 값을 변경한 경우 MySQL을 재시작합니다:
/etc/init.d/mysql restart4 Maia의 스크립트 및 템플릿 설치
Debian Squeeze에서 amavis 사용자의 홈 디렉토리는 /var/lib/amavis이며, 그곳에 maia라는 하위 디렉토리를 생성합니다. 그 하위 디렉토리에 Maia의 스크립트와 템플릿을 배치할 것입니다:
mkdir /var/lib/amavis/maia
mkdir /var/lib/amavis/maia/scripts
mkdir /var/lib/amavis/maia/templatescp -pfr /usr/src/maia/1.0/scripts/* /var/lib/amavis/maia/scripts
cp -pfr /usr/src/maia/1.0/templates/* /var/lib/amavis/maia/templateschown -R amavis /var/lib/amavis/maia
chgrp -R amavis /var/lib/amavis/maia
chmod 640 /var/lib/amavis/maia/templates/*.tpl
chmod 750 /var/lib/amavis/maia/scripts/*.pl5 Maia 구성
다음으로 /usr/src/maia/1.0/maia.conf.dist를 /etc/maia/maia.conf로 이름을 변경합니다:
mkdir /etc/maia/
cp /usr/src/maia/1.0/maia.conf.dist /etc/maia/maia.conf
chown amavis /etc/maia/maia.conf
chgrp amavis /etc/maia/maia.conf
chmod 640 /etc/maia/maia.conf/etc/maia/maia.conf를 열고 다음 설정을 조정합니다:
nano /etc/maia/maia.conf| [...] # 여기에서 Maia 데이터베이스 DSN을 구성하세요 $dsn = "DBI:mysql:maia:localhost:3306"; # Maia 데이터베이스 사용자 로그인 이름 $username = "amavis"; # Maia 데이터베이스 사용자 비밀번호 $password = "amavismysqlpasswd"; # Maia의 Perl 스크립트를 찾을 수 있는 디렉토리. $script_dir = "/var/lib/amavis/maia/scripts"; [...] # 잠금/PID 파일을 쓸 위치 (amavis 사용자에 의해 쓰기 가능해야 함) $pid_dir = "/var/lib/amavis/"; [...] # Maia의 PHP 스크립트에 대한 기본 URL $base_url = "http://www.example.com/"; # 템플릿 디렉토리 $template_dir = "/var/lib/amavis/maia/templates/"; [...] |
MySQL 사용자 amavis의 비밀번호를 $password 줄에 올바르게 입력했는지 확인하세요. 또한 $base_url 줄에 올바른 URL을 입력하세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.