서버 설정 · 2 min read · Nov 16, 2025

Debian 8.4 Jessie에서 ISPConfig 3.1로 웹, 이메일 및 MySQL 데이터베이스 클러스터 설치 - 페이지 5

8 Dovecot으로 이메일 동기화

Dovecot 2부터 Dovecot의 dsync를 사용하여 기본 데이터베이스를 동기화할 수 있습니다. server1에 이미 메일이 있는 경우, 추가 상호작용 없이 server2로 복제됩니다.

두 서버 모두 동일한 포트 ( 4711)와 동일한 비밀번호 ( replication_password)를 사용해야 합니다.

server1:

/etc/dovecot/dovecot-sql.conf를 엽니다.

vi /etc/dovecot/dovecot-sql.conf

iterate_query를 활성화합니다:

old:

#iterate_query = SELECT email as user FROM mail_user

new:

iterate_query = SELECT email as user FROM mail_user

/etc/dovecot/dovecot.conf를 엽니다.

vi /etc/dovecot/dovecot.conf

다음 내용을 추가합니다:

# Enable the replication plugin globally  
mail_plugins = $mail_plugins notify replication quota  
  
# Both the client and the server need to have a shared secret  
doveadm_password = replication_password  
  
# configure how many dsyncs can be run in parallel (10 by default)  
replication_max_conns = 10  
  
service aggregator {  
        fifo_listener replication-notify-fifo {  
                user = vmail  
                mode = 0666  
        }  
  
        unix_listener replication-notify {  
                user = vmail  
                mode = 0666  
        }  
}  
  
service replicator {  
        unix_listener replicator-doveadm {  
                mode = 0666  
        }  
}  
  
service doveadm {  
        user = vmail  
        inet_listener {  
                port = 4711  
        }  
}  
  
service config {  
        unix_listener config {  
                user = vmail  
        }  
}  
  
# use tcp:ip as the dsync target  
plugin {  
        replication_full_sync_interval = 1 hours  
        mail_replica = tcp:192.168.0.106:4711  
}  
  
protocol imap {  
        mail_plugins = quota imap_quota notify replication  
}

Dovecot을 재시작합니다:

service dovecot restart

server2:

/etc/dovecot/dovecot-sql.conf를 엽니다.

vi /etc/dovecot/dovecot-sql.conf

iterate_query를 활성화합니다:

old:

#iterate_query = SELECT email as user FROM mail_user

new:

iterate_query = SELECT email as user FROM mail_user

/etc/dovecot/dovecot.conf를 엽니다.

vi /etc/dovecot/dovecot.conf

다음 내용을 추가합니다:

# Enable the replication plugin globally  
mail_plugins = $mail_plugins notify replication quota  
  
# Both the client and the server need to have a shared secret  
doveadm_password = replication_password  
  
# configure how many dsyncs can be run in parallel (10 by default)  
replication_max_conns = 10  
  
service aggregator {  
        fifo_listener replication-notify-fifo {  
                user = vmail  
                mode = 0666  
        }  
  
        unix_listener replication-notify {  
                user = vmail  
                mode = 0666  
        }  
}  
  
service replicator {  
        unix_listener replicator-doveadm {  
                mode = 0666  
        }  
}  
  
service doveadm {  
        user = vmail  
        inet_listener {  
                port = 4711  
        }  
}  
  
service config {  
        unix_listener config {  
                user = vmail  
        }  
}  
  
# use tcp:ip as the dsync target  
plugin {  
        replication_full_sync_interval = 1 hours  
        mail_replica = tcp:192.168.0.105:4711  
}  
  
protocol imap {  
        mail_plugins = quota imap_quota notify replication  
}

Dovecot을 재시작합니다:

service dovecot restart

각 서버에서 복제를 확인할 수 있습니다:

doveadm replicator status '*'
username                                                                                                                                                                                                 priority fast sync full sync failed  
[email protected]                                                                                                                                                                                                 none     00:16:34  00:16:40  -

9 추가 노트

마스터 또는 슬레이브 서버에서 방화벽을 활성화하려면, 두 서버 모두 MySQL에 대해 포트 3306, SSH에 대해 22, Dovecot에 대해 4711을 열어야 합니다.

10 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.