이번에는 dovecot에 대해서 알아봅니다.
https://www.dovecot.org/ 라는 사이트도 존재하는데요, secure IMAP 서버로 소개하고 있습니다.
보면 다양한 기능의 pro버전도 존재하는 것 같네요.
dovecot
리눅스 계열에서 사용하는 IMAP/POP3서버로 메일 저장을 담당합니다.
IMAP 프로토콜 (143포트)
POP3 프로토콜 (110포트)
설치
yum install -y dovecot*
설정
dovecot에서는 정말 다양한 설정을 하므로 하나씩 나눠서 보겠습니다.
/etc/dovecot/conf.d에서 모든 설정이 다 이뤄집니다.
종류만 해도 이렇게 많으니 필요한 설정은 들어가서 설정하시면 됩니다.
10-auth.conf 20-imap.conf auth-dict.conf.ext
10-director.conf 20-lmtp.conf auth-ldap.conf.ext
10-logging.conf 20-pop3.conf auth-master.conf.ext
10-mail.conf 20-submission.conf auth-passwdfile.conf.ext
10-master.conf 90-acl.conf auth-sql.conf.ext
10-metrics.conf 90-plugin.conf auth-static.conf.ext
10-ssl.conf 90-quota.conf auth-system.conf.ext
15-lda.conf auth-checkpassword.conf.ext
15-mailboxes.conf auth-deny.conf.ext
dovecot.conf 수정하기
가장 기본적인 프로토콜이나 리스너 설정을 담당합니다.
# vi /etc/dovecot/dovecot.conf
===
protocols = imap pop3 lmtp
listen = *,::
protocols | 사용할 프로토콜을 규정합니다. |
listen | 리스너 설정입니다. * 모든 네트워크에서 받습니다. :: ipv6를 사용합니다. |
mail.conf 수정하기
메일함을 어떻게 사용할지 설정합니다.
# vi /etc/dovecot/conf.d/10-mail.conf
===
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_access_groups = mail
변수 설명
항목 | 설명 |
%u | 유저이름 |
%n | user@domain에서 유저부분을 의미하고 만약 도메인 없이 사용한다면 %u와 같은 값이다. |
%d | user@domain의 도메인 부분을 의미하고 작성하지 않으면 도메인이 없다는 것이다. |
%h | 홈 디렉터리 |
mail_location 설명
항목 | 설명 |
maildir:~/Maildir | 기본값 |
mbox:~/mail:INBOX=/var/mail/%u |
/var/mail 하위에 각 사용자별 메일함 사용 |
mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n |
/var/indexs 하위에 도메인과 사용자별로 구분해 메일함 사용 |
SSL 설정
만약 SSL을 사용하지 않으시거나 사용하실 경우 여기에서 값을 변경합니다.
보통 let's encrypt를 사용하시면
ssl_cert= </etc/letsencrypt/live/도메인/cert.pem
ssl_key= </etc/letsencrypt/live/도메인/privkey.pem
으로 입력하시면 됩니다.
# vi /etc/dovecot/conf.d/10-ssl.conf
====
ssl = no # 8번째 줄
# ssl_cert = </etc/pki/dovecot/certs/dovecot.pem # 14번째 줄
# ssl_key = </etc/pki/dovecot/private/dovecot.pem # 15번째 줄
방화벽 설정
만약 서버에서 방화벽을 사용하고 있다면 반드시 오픈해줘야합니다.
25(sendmail), 110(pop3), 143(imap) 프로토콜 포트입니다.
vi /etc/sysconfig/iptables
===============================================================================
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT
========================================================================
서비스 등록
chkconfig --list를 통해서 확인해볼 수 있습니다.
chkconfig dovecot on
systemctl enable dovecot
서비스 재시작
모든 설정을 완료했으면 서비스를 재시작해 반영하니다.
systemctl restart dovecot
# 혹시 다른 계열 이라면
service dovecot restart
/etc/init.d/dovecot restart
참고 블로그
블로그를 너무 잘 작성해주셔서 도움이 많이되었습니다.