본문 바로가기
카테고리 없음

[Linux] 메일서버 시리즈 - dovecot

by james_janghun 2024. 11. 20.

이번에는 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

 

 

 

참고 블로그

블로그를 너무 잘 작성해주셔서 도움이 많이되었습니다.

https://93it-serverengineer.co.kr/61