Gentoo Postfix
- Postfix를 이용한 가상 메일 호스팅 시스템 가이드-from kldp wiki
1. 소개
대부분의 젠투리눅스 사용자들은 간단한 메일 클라이언트와 메일 저장기를 사용할 것입니다. 하지만, 만약 여러분의 시스템으로 도메인 호스팅을 하고 있다면, 단일화 된 MTA(Mail Transfer Agent, 메일 전송 대행자)를 필요로 할 것입니다. 그리고 여러개의 도메인을 호스팅하고 있는 중이라면, 확실히 여러분의 사용자들을 위한 모든 이메일을 제어하기 위해 힘 좋은것을 필요로 할 것입니다. 이 시스템(Postfix)은 이러한 문제에 대해 깔끔한 해결방법이 되도록 고안되었습니다.
가상 메일 시스템은 다양한 인터페이스로부터 많은 사용자들이 사용하는 수많은 도메인에 대한 이메일을 조정할 수 있어야 합니다. 예를들어, 다른 도메인을 갖고 있는 두 사용자가 같은 메일 계정 이름을 원한다면 어떻겠습니까? 만약 IMAP 접근과 smtp 인증을 제공한다면, 어떻게 다양한 인증 데몬들을 단일 시스템에 통합하겠습니까? 어떻게 수많은 요소에 대해 보안을 제공할 수 있습니까? 이 모든것을 어떻게 관리할 것입니까?
이 Howto 문서는 여러분들에게 시스템상의 여러 도메인에 대한 메일 제어가 가능하고 쉘 계정이 필요하지 않는 가상 메일 사용자를 지원하며, 도메인마다 사용자 계정을 지정하고, 단일 데이타베이스에 웹, imap, smtp, pop3 클라이언트 인증을 할 수 있고, 전달 계층 보안을 위해 SSL을 사용할 수 있으며, 웹 인터페이스를 갖고, 어떠한 도메인에 대한 메일링 리스트들에 대해서도 성능좋고, 쉽고 중앙화된 mysql에 의해 제어하는 메일 시스템을 어떻게 설치하는지 보여줄 것입니다.
가상 메일호스팅 시스템을 설치하는 것에 대해 다양한 방법이 있습니다. 많은 옵션과 함께 다른 방법들은 여러분들의 필요에 따라 선택하십시오. 옵션을 알아보기 위해 http://www.qmail.org 와 http://www.exim.org 를 조사해보십시오.
다음 패키지들은 설치에 사용됩니다. apache, courier-imap, courier-authlib postfix, mod_php, phpmyadmin, squirrelmail, cyrus-sasl, mysql, php, and mailman.
패키지들을 컴파일 하기 전에 /etc/make.conf 에 있는 USE 환경 변수에 다음의 값들이 있는지 확인해 보십시오. USE="mysql imap libwww maildir sasl ssl" 그렇지 않다면 모든 프로토콜에 대해 필요한 지원을 얻기 위해 대부분의 패키지들을 재컴파일해야만 합니다. 더욱이 다른 메일이나 ipv6같은 네트워크 변수들을 제외하시는 것이 좋습니다.
- 중요: 이 howto 문서는 postfix-2.0.x 에 대해 쓰여졌습니다. 만약 postfix 버전이 2 버전 이하라면 이 문서에서 몇몇 변수는 다를 것입니다. 만약 이슈화된 내용을 실행중이시라면 패키지에 포함된 문서의 내용을 통해 조언을 받으십시오.
- 중요: 이 문서는 apache-1.3.x 를 사용합니다. Apache-2 는 포티지(portage)에서 stable(안정적임)로 표시되었습니다. 하지만 php 통합에 관한 몇몇 화두들이 아직 남아있습니다. apache-2.0.x 에서의 php 지원이 stable로 표시되기 전까지, 이 가이드는 1.3.x 버전을 계속 사용할 것입니다.
- 중요: 공개 메일 서버를 실행하기 위해 도메인 이름이 필요합니다. 혹은 적어도 도메인에 대한 MX 레코드가 필요합니다. 이상적으로 여러분의 가상 도메인에 대한 기능적인 이득을 얻기 위해서는 두 개 이상의 도메인을 갖고 있어야 합니다.
- 중요: /etc/hostname 이 여러분의 메일 서버에 대해 올바른 호스트이름으로 지정되었는지 확인하십시오. hostname 명령어로 여러분의 호스트 이름을 검증하십시오. 또한 /etc/hosts 에서 충돌되는 항목이 없는지도 확인하십시오.
- 주의: 먼저 이 문서 전체를 읽어보시길 권장합니다. 그리고 설치를 시도하기 전에 모든 단계에 익숙해지십시오. 만약 어떤 단계에 문제가 생겼다면 이 문서의 끝에 있는 '문제 해결 가이드'를 확인하십시오. 또한 언급된 모든 패키지들이 이번 설치에 꼭 필요한 것은 아닙니다. 설치 과정은 매우 유연합니다. 예를 들어, 만약 웹 인터페이스를 필요로 하지 않는다면, squirrelmail 부분은 그냥 넘어가십시오.
2. Postfix 기본
코드 예제 2.1 : postfix 설치 |
# emerge postfix |
주의: ssmtp, exim, qmail과 같은 다른 MTA 프로그램이 설치되지 않았는지 확인하십시오. 그렇지 않다면 큰 문제를 가지고 있을것입니다.
postfix 를 설치한 후, 설정을 할 차례입니다. /etc/postfix/main.cf 에서 다음 옵션을 변경하십시오.
코드 리스트 2.2 : /etc/postfix/main.cf |
myhostname = $host.domain.name
mydomain = $domain.name
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks = my.ip.net.work/24, 127.0.0.0/8
home_mailbox=.maildir/
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
|
다음으로 /etc/postfix/master.cf 를 변경하십시오. 이것은 디버깅에 대한 출력을 하도록 변경한 것입니다.
코드 리스트 2.3 : /etc/postfix/master.cf |
# service type private unpriv chroot wakeup maxproc command + args |
다음으로 시스템 계정과 연결하기 위해 /etc/mail/aliases 를 편집하십시오. root 계정에 대해 적어도 root: your@email.address 와 같이 계정 연결이 있어야 합니다.
코드 예제 2.4: postfix 처음 시작하기 |
{{blue|# /usr/bin/newaliases}} |
이제 postfix가 실행중입니다. 여러분의 자주 사용하는 메일 클라이언트를 실행시키고 여러분 자신에게 이메일을 전달해보십시오. postfix가 계정 사용자에게 메일을 배달중인지 확인하십시오. 확인이 된 후 다음 단계로 넘어갑니다.
주의: 하우투 문서의 다음 단계로 넘어가기 전에기본적인 postfix 설정을 검증하길 추천합니다.
3. Courier-imap
코드 리스트 3.1 : courier-imap 과 courier-authlib 설치
# emerge courier-imap courier-authlib
코드 리스트 3.2 : Courier-imap 설정
# cd /etc/courier-imap (만약 courier-imap 이나 pop3 의 ssl 성능을 사용하기 원한다면, 이러한 목적을 위한 인증서를 만들 필요가 있을 것입니다. 이 단계는 추천합니다. SSL 을 사용하지 않길 원한다면, 이 단계를 넘어가십시오.) # nano -w pop3d.cnf # nano -w imapd.cnf (여러분의 서버에 맞는 C, ST, L, CN 과 이메일 파라메터들을 변경하십시오.) # mkpop3dcert # mkimapdcert
코드 리스트 3.3 : 여러분이 원하시는 courier 서비스를 시작합니다.
# /etc/init.d/courier-imapd start # /etc/init.d/courier-imapd-ssl start # /etc/init.d/courier-pop3d- start # /etc/init.d/courier-pop3d-ssl start
자주 사용하는 메일 클라이언트를 시작하여 메일을 받고 보내는 것에 대해 시작한 동작의 모든 연결들을 확인하십시오. 이제 기본적인 동작을 한다면 남은 시스템의 전체를 구축할 것입니다. 진행하기 전에 여러분이 설치한 이메일 시스템에 대해 한 번 더 검증하시기 바랍니다.