본문 바로가기
I T/Linux

qmail+vpop+dovecot 연동

by 루솨 2015. 8. 30.

퍼옴 => http://www.365managed.com


"Imap"을 쓰기 위해, Qmail + Vpopmail + Courier-imap 연동방식을 이용해도 메일 확인에 전혀 문제가 없습니다만............

[IMAP] 이용시(Pop3이용시는 무관?), 편지함이 달랑 [받은 편지함]만 제공된다는 것이...........

물론, 받은 편지함 하위에 새로운 편지함을 만들수는 있지만, 통상적으로 제공되는

[보낸 편지함], [지운 편지함]기능이 제공되지 못해, 상당히 빈약(?)하죠....

Qmail에, Dovecot와 연동하면 이러한 부분이 말끔하게 해소 됩니다.

Dovecot 소스 설치를 해야 하며, configure 옵션에 vpopmail 연동하는 옵션이 기본 지원됨.


제가 작업한 시스템 환경은, 아래와 같습니다.

======================================
OS : CentOS 5.2 x86_64
Mailer : Qmail + Vpopmail 이용중이었음...
======================================

(상기 정보와 다른 상황에서는 미 확인. 그러나 작업과정상 크게 문제될 것은 없어 보임)

<Dovecot 연동 작업 과정 요약>

1. openssl openssl-devel 패키지 설치 (ssl 기반의 imap 이용시 요구됨. 필요 없다면 생략 가능)
# yum -y install openssl openssl-devel

2. RPM으로 설치된 Dovecot 제거
# yum -y remove dovecot

3. 소스로 설치될 Dovecot 사용자, 그룹 생성
# groupadd -g 97 dovecot
# useradd -g 97 -u 97 -d /usr/local/libexec/dovecot -s /sbin/nologin dovecot

4. Dovecot 소스 최신 버전 다운로드 (현재 최신 버전은 dovecot-1.1.3.tar.gz 이었음)
http://www.dovecot.org/download.html
# wget http://www.dovecot.org/releases/1.1/dovecot-1.1.3.tar.gz

5. 압축 해제
# tar zxvf dovecot-1.1.3.tar.gz

6. Configure (필수 옵션 : --with-vpopmail)
# ./configure --with-vpopmail --with-ssl=openssl

7. 컴파일 & 설치
# make
# make install

8. "vpopmail" 유저 uid 번호 확인
# id -u vpopmail

9. Dovecot 설정파일 생성
아래 내용에서, [first_valid_uid = 508] 부분의 숫자를 (8)번 과정에서 확인한 번호로 수정한 후, /usr/local/etc/dovecot.conf 파일로 저장
(필요한 경우, protocols 부분은 적당히 수정)
# vi /usr/local/etc/dovecot.conf

 ## Ex) protocols = imap imaps pop3 pop3s
protocols = imap pop3
#listen = 192.168.0.123
ssl_disable = yes
disable_plaintext_auth = no
login_process_per_connection = no
login_greeting = Ready
mail_debug = yes
first_valid_uid = 508
protocol imap {
}
auth_verbose = yes
auth_debug = yes
auth default {
 mechanisms = plain
 passdb vpopmail {
 }
 userdb vpopmail {
 }
 user = vpopmail
}


10. Dovecot init 스크립트 생성
# vi /etc/init.d/dovecot

 #!/bin/bash
#
#   /etc/rc.d/init.d/dovecot
#
# Starts the dovecot daemon
#
# chkconfig: - 65 35
# description: Dovecot Imap Server
# processname: dovecot
# Source function library.
. /etc/init.d/functions

test -x /usr/local/sbin/dovecot || exit 0

RETVAL=0
prog="Dovecot Imap"

start() {
        echo -n $"Starting $prog: "
    daemon /usr/local/sbin/dovecot
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
    echo
}

stop() {
    echo -n $"Stopping $prog: "
    killproc /usr/local/sbin/dovecot
    RETVAL=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dovecot
    echo
}

#
#   See how we were called.
#
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  reload|restart)
    stop
    start
    RETVAL=$?
    ;;
  condrestart)
    if [ -f /var/lock/subsys/dovecot ]; then
        stop
        start
    fi
    ;;
  status)
    status /usr/local/sbin/dovecot
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
    exit 1
esac

exit $RETVAL


11. Dovecot init스크립트 권한 조정
# chmod 700 /etc/init.d/dovecot
# chown root:root /etc/init.d/dovecot

12. ntsysv 등록
# chkconfig --add dovecot
# chkconfig --level 345 dovecot on

13. /etc/init.d/dovecot start

14. /var/log/message에 Dovecot 작동 로그에 특별한 에러가 보이지 않는다면, 정상 설치 된 것임.

[설치 작업 완료]

남은 부분은....... Qmail + Vpopmail + Dovecot 작동이 정상적인지, 그리고 [받은편지함], [보낸편지함], [지운편지함] 기능이

"Imap"에서도 정상적으로 지원되는지 확인하면 모든 작업 완료.