본문 바로가기
시스템

[Ubuntu] 우분투 12.04에서 메일서버 설치하기

by 로드러너 2015. 2. 20.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. postfix 설치 및 환경설정


1-1. /etc/hostname 에 호스트명을 등록한다.


 192.168.20.43 mail.myhome.com 


1-2. 저장소에 업데이트 패키지 목록을 갱신한다.


 vagrant:~$ sudo apt-get update 


* sudo apt-get upgrade 명령을 이용하면 설치된 패키지와 목록을 비교해서 업데이트를 수행한다.


1-3. postfix 설치


 vagrant:~$ sudo apt-get install postfix 

1-4. postfix 의 환경을 설정한다.

 vagrant:~$ sudo dpkg-reconfigure postfix 

환경설정화면이 나오면 다음의 순서대로 선택을 한다. 도메인은 myhome.com 으로 설정한다.
General type of mail configuration: Internet Site
System mail name: myhome.com
Root and postmaster mail recipient: myhome
Other destinations to accept mail for (blank for none): myhome.com, localhost.localdomain, , localhost
Force synchronous updates on mail queue? No
Local networks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Mailbox size limit (bytes): 0
Local address extension character: +
Internet protocols to use: all

1-5. /etc/postfix/main.cf 파일의 끝에 다음 내용을 추가한다.

 home_mailbox = Maildir/

 smtpd_sasl_type = dovecot

 smtpd_sasl_path = private/auth

 smtpd_sasl_local_domain =

 smtpd_sasl_security_options = noanonymous

 broken_sasl_auth_clients = yes

 smtpd_sasl_auth_enable = yes

 smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

 smtp_tls_security_level = may

 smtpd_tls_security_level = may

 smtp_tls_note_starttls_offer = yes

 smtpd_tls_loglevel = 1

 smtpd_tls_received_header = yes


1-6. tls를 위한 디지털 인증서를 생성한다.

 vagrant:~$ openssl genrsa -des3 -out server.key 2048

 vagrant:~$ openssl rsa -in server.key -out server.key.insecure

 vagrant:~$ mv server.key server.key.secure

 vagrant:~$ mv server.key.insecure server.key

 vagrant:~$ openssl req -new -key server.key -out server.csr

 vagrant:~$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

 vagrant:~$ sudo cp server.crt /etc/ssl/certs

 vagrant:~$ sudo cp server.key /etc/ssl/private


명령어 실행 중에 비밀번호를 입력하라고 하면 임의의 비밀번호를 입력한다.

1-7. Now configure certificate path

 vagrant:~$ sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key'

vagrant:~$ sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt'


1-8. /etc/postfix/master.cf 파일을 열어서 다음 항목의 # 을 제거해 준다.

 #submission inet n       -       -       -       -       smtpd

 #  -o syslog_name=postfix/submission

 #  -o smtpd_tls_security_level=encrypt

 #  -o smtpd_sasl_auth_enable=yes

 #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

 #  -o milter_macro_daemon_name=ORIGINATING

 #smtps     inet  n       -       -       -       -       smtpd

 #  -o syslog_name=postfix/smtps

 #  -o smtpd_tls_wrappermode=yes

 #  -o smtpd_sasl_auth_enable=yes

 #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

 #  -o milter_macro_daemon_name=ORIGINATING


 submission inet n       -       -       -       -       smtpd

   -o syslog_name=postfix/submission

   -o smtpd_tls_security_level=encrypt

   -o smtpd_sasl_auth_enable=yes

   -o smtpd_client_restrictions=permit_sasl_authenticated,reject

   -o milter_macro_daemon_name=ORIGINATING

 smtps     inet  n       -       -       -       -       smtpd

   -o syslog_name=postfix/smtps

   -o smtpd_tls_wrappermode=yes

   -o smtpd_sasl_auth_enable=yes

   -o smtpd_client_restrictions=permit_sasl_authenticated,reject

   -o milter_macro_daemon_name=ORIGINATING



2. 메일 보내기

 vagrant:~$ mail 메일주소

 Cc:

 Subject: 메일제목


 메일내용


 Ctrl + D (메일작성 종료)



3.  Dovecot SASL 설치 및 환경설정

3-1. Dovecot SASL 설치

 vagrant:~$ sudo apt-get install dovecot-common 

3-2. /etc/dovecot/conf.d/10-master.conf 파일을 열고 #Postfix smtp-auth 의 다음 라인에 아래 내용을 추가한다.

 # Postfix smtp-auth

 unix_listener /var/spool/postfix/private/auth {

 mode = 0660

 user = postfix

 group = postfix

 }


3-3. /etc/dovecot/conf.d/10-auth.conf 파일을 열어서 auth_mechanisms = plain 을 찾는다.

다음과 같이 고친다. auth_mechanisms = plain login


4. postfix 와 dovecot 서비스를 재시작 한다.

 vagrant:~$ sudo service postfix restart 

 vagrant:~$ sudo service dovecot restart 


5. dovecot-imapd, dovecot-pop3d 설치 및 환경 설정

5-1. 설치

 vagrant:~$ sudo apt-get install dovecot-imapd dovecot-pop3d 

5-2. /etc/dovecot/conf.d/10-mail.conf 에서 mail_location = mbox:~mail:INBOX=/var/mail/%u 를 찾는다.

mail_location = maildir:~/Maildir

5-3. /etc/dovecot/conf.d/20-pop3.conf 파일에서 #pop3_uidl_format = %08Xu%08Xv 를 찾아서 #을 제거한다.

pop3_uidl_format = %08Xu%08Xv

5-4. /etc/dovecot/conf.d/10-ssl.conf 파일에서 #ssl = yes 를 찾아서 #을 제거한다.

ssl = yes

5-5. dovecot 서비스 재시작

vagrant:~$ sudo service dovecot restart 

텔넷을 이용해서 pop3, imap 포트에 접속이 된느지 확인한다.

 vagrant:~$ telnet mail.myhome.com 110

 Trying 127.0.0.1...

 Connected to localhost.

 Escape character is '^]'.

 +OK Dovecot (Ubuntu) ready.


995, 993, 143 포트에 대해서도 동일한 명령을 수행한다.

또는 netstat -nl4 명령을 이용해서 해당 포트가 대기 상태인지 확인한다.