집에서 Mac으로 메일서버 운영하기 (2)
2/5  Postfix & Server Setting

이미 설치된 Postfix확인하기

사용자 삽입 이미지Mac OS X엔 이미 Postfix가 설치되어 있습니다.   어디에 설치되어 있는지 확인만 하면 될거 같군요.   준비물 중에 Onyx 가 있었죠 ?    Onyx도 타이거, 팬더 등 OS버전별로 있는것 같더군요. 
그 버전에 따라 아이콘 배경 모양이 다르답니다. Onyx를 실행시키고  아래 그림과 같이 매개변수에서 파인더 탭을 선택하세요.    그리고나서 맨 마지막에 있는 ‘기타옵션’의 ‘숨김파일 및 폴더보이기’를 체크합니다.
그렇게하면 아마 파인더가 재부팅될 겁니다.   이제 파인더 상에 히든폴더와 파일들이 모두 보이기 시작할 겁니다.

사용자 삽입 이미지

Onyx 설정화면


파인더를 열어서 확인해 볼까요?    아래 그림을 보니 숨겨진 화일이 많기도 하네요.   꼭 Onyx를 사용하지 않아도 터미널등을 통해 접근할 수는 있지만 저는 이 방법이 편하더군요.  유닉스 명령과 키보드 두드리는게 익숙치가 않아서 말이죠.

Postfix가 etc폴더아래에 이미 자리잡고 있는 것이 보입니다.   Postfix뿐만 아니라 이미 Apache와 PHP 등 유용한 오픈소스들이 자리잡고 있죠.
사용자 삽입 이미지

Postfix Enabler의 설치와 세팅

사용자 삽입 이미지Postfix Enabler도 다운로드 받아 설치합니다.    최신버전은 1.2.2인데요.  이 녀석은 Postfix만 구동시키는 것이 아니라 POP3, IMAP을 모두 활성화 시킬 수 있어서 편리합니다.
Enabler를 세팅하지 않은 상태에서 네트워크 유틸리티로 지금 내 컴퓨터에서 서비스 하고 있는 TCP포트를 스캔하면  139, 445번 포트 정도만 열려 있었는데요.   세팅을 하고나면 SMTP, POP, IMAP포트 3개가 추가로 열리게 됩니다.   그 포트번호를 확인함으로써 설치와 세팅이 제대로 된 건지를 확인하는 거죠.     그럼 Postfix Enabler의 기능들을 찬찬히 살펴볼까요?

사용자 삽입 이미지

처음 구동시킨화면. 시리얼넘버를 요구한다


처음 Postfix Enabler를 구동하면 Administrator Password와 시리얼넘버를 요구합니다.  이 유틸리티는 demo로 시험가동할 수 없고 무조건 구매를 요구하죠(-.-;;)  개발자의 블로그에 들어가보니 6,000카피정도가 판매되었다고 하더군요.   마지막에 Password를 키체인에 담아두겠다는 체크박스를 잊지마십시오.

사용자 삽입 이미지
4개의 탭을 가지고 있는데 지금보는 첫번째 탭이 메일발송을 위한 것입니다.  저 버튼중에서 Enable Postfix를 누르면 Postfix가 구동됩니다. (너무 간단하죠)
지금은 설정을 추가로 할것이 없습니다.

사용자 삽입 이미지
Enable Postfix버튼을 누르자 화면 아래쪽에 Pane이 열리면서 구동상태가 나옵니다. 
Enabling smtp를 시작으로 오리지널 config화일을 백업하고 드디어 Postfix가 가동되었습니다. 

두번째 탭인 Mail Server인데요.  Domain Name을 써넣으시기 바랍니다.  그리고 POP3와 IMAP을 각각 Enable시키는 버튼을 누르시고 아래에 있는 Restart Postfix를 눌러주세요.

사용자 삽입 이미지
POP3와 IMAP을 활성화 시킬때 각각 아래와 같은 라이센스 Agreement에 대한 화면이 나오는데요  그냥 I Agree를 누르세요.  Postfix는  역시  OS X에 내장된  POP3와  IMAP서비스를  이용하는 것이지 Postfix자체가 이런기능을 수행하는 것은 아닙니다.  저는 처음에 IMAP, POP3 서비스가 내장된 것인지의 여부를 몰라 한동안 해맨적도 있답니다.

사용자 삽입 이미지
아래는 POP3가 구동되는 화면입니다.  디렉토리를 보아하니 저 위치에 POP3서비스가 있는 거로군요.
사용자 삽입 이미지
IMAP도 마찬가지로 Postfix Enabler가 찾아내서 확인하고 구동시킵니다.

사용자 삽입 이미지
네 이렇게 SMTP, POP3, IMAP 서비스가 구동되었습니다.   너무나도 간단하게요.  이제 세번째 탭인 Advanced의 기능을 구경해봅시다.

사용자 삽입 이미지
기본적으로 ‘SMTP Authentication on the Server’ 부문이 ‘Not Active’상태일 텐데요.  두번째인 Use the OS X Built-in user accounts’나 ‘Use the SASLDB password list, below’를 선택해 주시기 바랍니다.  

두번째를 선택하면 추가적으로 아무런 조치를 취하지 않아도 됩니다.  세번째옵션은 위의 그림과 같이 ID:Password형태로 입력해주시면 됩니다.

다른 설정은 더 건드리지 않아도 되고 Restart Postfix를 버튼을 한번 눌러주시죠.

사용자 삽입 이미지
마지막 TAB은 Log인데요.  왼쪽 상단의 Get버튼을 눌러 현재까지의 동작로그들을 주욱 살펴보시죠.   

간단하게나마 Postfix Enabler의 기능들을 살펴보고 모든 기능들을 구동시켰습니다.   더 자세한 사항들은  개발자의 홈페이지(http://www.roadstead.com/software/PostfixEnabler/) 를 살펴보시기 바랍니다.

마지막으로 네트워크 유틸리티를 열어 해당 TCP포트들이 제대로 열려 서비스가 되고 있는지 보기로 하죠.

사용자 삽입 이미지
세개의 포트가 더 열려 있는 것을 확인할 수 있습니다.   25번 포트가 SMTP이구요, 110번과 143번이 IMAP, POP3포트 입니다.    서비스가 제대로 되고 있군요.

시나리오 #1에 해당되는 분들이라면 이로써 Postfix 구동에 대한 설정을 마친 겁니다.  시니리오 #2에 해당되는 분들이라면 이제부터가 시작입니다.  
지난시간에 해본 대로 DynDNS의 포트 스캔툴을 이용하여 내 서버의 25번포트를 스캐닝 해보시죠. 

An attempted connection to www.demitrio.com:25 timed out. This typically indicates that traffic to that port is being actively blocked by either a firewall or your ISP.

아마 위와 같이 Time Out 메시지가 나올겁니다.  물론 시나리오 #1에 해당되는 분들이라면 Open이라는 짜릿한 메시지를 볼 수 있을 겁니다. 

이제 시나리오 #2에 해당되는 분들을 위한 설정에 들어가보죠.  오늘을 포함해서 다음 DynDNS세팅까지 완료해야 비로소 서비스를 사용할 수 있습니다.  (시나리오 #1에 해당되는 분들은 DNS세팅에서 MX레코드만 적절히 설정했다면 지금부터 사용할 수 있습니다.  축하합니다)

시나리오 #2를 위한 추가세팅

두가지 일을 추가로 해줄겁니다.  일단 서비스포트를 바꾸어 줄 것이고 아웃바운드 메일의 릴레이를 설정해 주면 오늘일은 끝납니다.  인바운드 메일의 릴레이 설정은 DynDNS에서 해주면 끝나거든요.

1) 25번 포트를 바꾸기

ISP에서 25번 포트를 블로킹 했으니 이 포트를 다른 포트로 우회하여 릴레이를 설정해야 합니다.   다음시간에 DynDNS에서 두가지 서비스를 이용할 예정인데요.   

첫번째는Outbound mail를 릴레이 해주는 Mailhop Outbound 서비스로 비표준 포트는 2525번과 10025번을 지원합니다.

두번째는 Inbound Mail을 릴레이 해주는 Mailhop Relay 서비스로 비표준 포트 24, 587, 2525, 10025, 525525번 포트를 지원합니다.

우리는 앞으로 메일을 보내고 받는 서비스 모두를 릴레이 하기 위하여 위의 두가지 서비스에서 공통적으로 지원하는 10025번 포트를 이용하겠습니다.   그럼 이제 세팅을 시작하죠.

Mac OS X내에서 포트번호를 바꾸는 것은 아래 그림에 나온 화일에 설정되어 있습니다.  MacintoshHD/etc/ 디렉토리내에 있는 services 란 화일입니다.  이 화일을 에디터로 열어보시기 바랍니다.

사용자 삽입 이미지
이 화일에는 포트 순서대로 서비스가 정의되어 있는데요.   이 서비스는 업계에서 거의 표준으로 사용되며 http://www.iana.org/assignments/port-numbers 에 정의된 것과 거의 같습니다. 

내용을 주욱 살펴보면 아래와 같은 내용을 발견할 수 있습니다.

#                          Rick Adams <rick@UUNET.UU.NET>
smtp            25/udp     # Simple Mail Transfer
smtp            25/tcp     # Simple Mail Transfer

위의 내용을 아래와 같이 포트번호를 바꾸어 주시고 저장하시기 바랍니다.

#                          Rick Adams <rick@UUNET.UU.NET>
smtp           10025/udp     # Simple Mail Transfer
smtp           10025/tcp     # Simple Mail Transfer

이제 서비스의 효력을 위해 깔끔하게 맥을 재부팅하겠습니다.
재부팅 후 Postfix Enabler를 구동시킨 다음 네트워크 유틸리티와 DynDNS 포트스캔 툴을 이용해서 10025번 포트가 잘 서비스 되고 있는지 확인하시기 바랍니다.  포트가 제대로 열려있다면 이제 거의 성공한겁니다.


2) Outbound Relay설정하기

아래 DynDNS의 두가지 가이드라인을 활용하여 세팅을 계속해보도록 하겠습니다.


Main.cf  수정하기

/etc/postfix/main.cf 를 Smultron같은 에디터로 열어보세요.  이 화일이 Postfix의 모든 세팅을 담고있는 화일입니다.  화일 맨 하단부로 내려가면 Postfix Enabler가 세팅해놓은 값들이 저장되어 있는데 다음과 같을겁니다.

###Start PostfixEnabler###
unknown_local_recipient_reject_code=550
alias_maps=hash:/etc/postfix/aliases
alias_database=hash:/etc/postfix/aliases
smtpd_sender_restrictions=check_sender_access hash:/etc/postfix/access
inet_interfaces=all
message_size_limit=0
mynetworks_style=subnet
mydomain=demitrio.com
myhostname=demitrio.com
###End PostfixEnabler###

여기에  다음의 몇줄이 들어가야 합니다

  relayhost = outbound.mailhop.org
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=

이건 Postfix Enabler상에서 할 수 있습니다. 
사용자 삽입 이미지
– Smarthost란에 Outbound.mailhop.org로 적어줍니다
– 그 바로아래 있는 Enable SASL Authentication in the Postfix SMTP Client 박스를 체크합니다
– 중간정도의 빈박스에 Outbound.mailhop.org  DynDNS ID:Password를 나란히 적어줍니다.
– Restart Postfix를 눌러서 Postfix를 reload합니다
– Postfix Config Summary 버튼을 눌러서 내용을 확인합니다.

화면상으로 나타난 Config내용을 보니 추가해야할 내용 4줄이 모두 들어간것 같습니다.  실제로 에디터에서 Main.cf를 확인하면 저 내용들이 자동으로 추가되어 있을겁니다.

중간에 Outbound.mailhop.org  DynDNS ID:Password를 추가한 것은 메일을 DynDNS를 통해 릴레이를 할 때 릴레이하려는 사람이 SynDNS의 사용자인지를 확인하는 부분입니다.  따라서 자신의 DynDNS ID와 Password를 입력해야 합니다.

sasl_password의 수정

위와 같이 해놓고 나면 etc/postfix 디렉토리에 아래와 같이 처음에 없었던 화일이 3개정도 생긴것이 보입니다.

사용자 삽입 이미지
sasl_passwd와 sasl_passwd.db, sasldb_passwd가 그것입니다.   이 중 sasl_passwd를 열어보면 내용이 아무것도 없습니다.   여기에

      Outbound.mailhop.org  DynDNS ID:Password

를 추가합니다.  아래 그림과 같이 말이죠.

사용자 삽입 이미지
그리고 나서 저장하고 닫습니다.  그리고나서 막바로 해당화일의 ‘정보입수’를 봅니다.  소유권 & 권한을 보면  나 자신은 접근불가라고 되어 있고 소유자는 system으로 되어 있을 겁니다.
이걸 아래 그림과 같이 바뀌주세요

사용자 삽입 이미지
자 이러면 오늘 작업은 대충 끝이 난 것 같습니다.   이제 Mac mini 서버의 세팅은 다 끝났습니다.  외부세팅만 잡아주면 바로 사용할 수 있을것 같네요.

글을 쓰면서 보니 따라오시는 분들은 실제로 10분이면 다 끝낼 수 있겠네요.   전 그야말로 인터넷을 모두 뒤지고 다니면서 아주 안건드린 세팅이 없을 정도였습니다.   써놓고 보니 약간 억울하기도 하지만 저와 같은 ‘삽질’을 방지하기 위해서는 이런 가이드북이 더욱 필요한 거겠죠.

다음에 DynDNS 세팅에 대해서 만나기로 하죠.  감사합니다

Technorati Profile

Facebook Comments