[ubuntu] postfix mail server setting

최근 수정일 : 2013.02.22


- postfix setting 설정 방법설명


---

* 현재 우분투 12.04, 10.04 버전에서 테스트를 하였습니다.



---- 설명 시작 ----

reference 

01. http://magicpd.tistory.com/6

02. ubuntu Server postfix setting 설명

- Link1 https://help.ubuntu.com/12.04/serverguide/email-services.html

- Link2 https://help.ubuntu.com/12.04/serverguide/postfix.html

- Link3 https://help.ubuntu.com/10.04/serverguide/postfix.html



01. 우분투 설치 후 terminal 을 실행하고 아래와 같이 순서대로 작성하면 됨. 

    12.04 버전에서는 시냅틱관리자가 설치되어 있지 않기 때문에 소프트웨어센터에서 검색후 설치 할 것. (권장은 아님~, 혹시나임.)


$sudo apt-get install postfix


* postfix 를 받아서 설치를 한다. 


$sudo dpkg-reconfigure postfix

* 환경설정으로 들어가서 여러가지를 선택하게 된다. 

* 공백으로 Enter 로 넘겨도 무방하다.  단 아래의 설정은 꼭 하길 바란다. (도메인이 있을 경우)


Service Name 설정란에서 domain.ac.kr (자신이 원하는 도메인) 


$sudo gedit /etc/postfix/main.cf

* 메일 폴더 설정


아래의 내용을 main.cf 파일의 젤 마지막에 추가하도록 하자. 

home_mailbox = Maildir/

mailbox_command =

smtpd_sasl_local_domain = 

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

broken_sasl_auth_clients = yes

smtpd_sasl_authenticated_header = yes

smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

inet_interfaces = all



$sudo gedit /etc/postfix/sasl/smtpd.conf


* 빈문서에 아래의 내용을 작성하자

pwcheck_method: saslauthd

mech_list:plain login



Next TLS 인크립션 인증을 위한 인증서 생성과정

$touch smtpd.key


$chmod 600 smtpd.key


$openssl genrsa 1024 > smtpd.key


$openssl req - new -key smtpd.key -x509 -days 2650 -out smtpd.crt


$openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

(위의 명령어 작성시, password 를 입력하라고 하는데 아무입력이나 해도 무관함)


$sudo mv smtpd.key /etc/ssl/private/

$sudo mv smtpd.crt /etc/ssl/certs/

$sudo mv cakey.pem /etc/ssl/private/

$sudo mv cacert.pem /etc/ssl/certs/



*postfix Setting

$sudo gedit /etc/postfix/main.cf


아래의 내용을 마지막에 삽입하자. 

smtpd_tls_auth_only = no

smtp_use_tls = yes

smtpd_use_tls = yes

smtp_tls_note_starttls_offer = yes

smtp_tls_key_file = /etc/ssl/private/smtpd.key

smtp_tls_cert_file = /etc/ssl/certs/smtpd.crt

smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem

smtpd_tls_loglevel = 1

smtpd_tls_received_header = yes

smtpd_tls_session_cache_timeout = 3600s

tls_random_source = dev:/dev/urandom


* postfix 재시작 

$sudo /etc/init.d/postfix reload


* 여기서 부터 sasl2 설치(STMP를 같이 setting 해야하는거 아닌지 모르겠는데 setting 하면 현재로서는 메일 발송이 안됨)

$sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin


(reference 로 연결되어 있는 페이지에서 업데이트가 되어 libsasl2-2 라고 해야 됩니다. )


* saslauthd 파일 수정

#sudo gedit /etc/default/saslauthd


START=no  // -> START=yes 로 수정


바로 아랫줄에 아래의 내용을 작성하자


PWDIR="/var/spool/postfix/var/run/saslauthd"

PARAMS="-m ${PWDIR}"

PIDFILE="${PWDIR}/saslauthd.pid"



젤 마지막 줄의 OPTIONS 를 아래와 같이 수정하도록 하자.


OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"



$sudo /etc/init.d/saslauthd start

$sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd


(위의 명령어가 현재 먹지 않습니다. 해결하신분은 댓글로 부탁드립니다. )


$sudo /etc/init.d/saslauthd restart


* courier IMAP POP3 설치

$sudo apt-get install courier-pop

$sudo apt-get install courier-imap


Maildir 설정

$sudo maildirmake /etc/skel/Maildir

$sudo maildirmake /etc/skel/Maildir/.Drafts

$sudo maildirmake /etc/skel/Maildir/.Sent

$sudo maildirmake /etc/skel/Maildir/.Trash

$sudo maildirmake /etc/skel/Maildir/.Templates



여기까지하면 최종 설정 종료가 된다. 

아래는 사용자를 추가하고 메일폴더권한설정을 하는 곳이다.

$sudo cp -r /etc/skel/Maildir /home/(사용자계정)/

$sudo chown -R (유저이름):(유저가 속한 그룹) /home/(사용자계정)/Maildir

$sudo chmod -R 700 /home/(사용자계정)/maildir



현재 Setting 된것으로  outlooks으로 테스트를 해보면 receive 는 잘되나, send 가 되지 않는다. 

SMTP 쪽 부분이나, 위 마지막에 잘못된 부분을 수정해서 고쳐보도록 하자.


현재 사용하는 서버에 문제가 많이 있으니, .....후딱 고치도록 하자. 

언젠가 시간날때 web에 XE 올리는 방법을 간단히 정리해서 올려야지! 





댓글

Designed by JB FACTORY