サーバー設定 · 1 min read · Nov 16, 2025

Debian 8.4 Jessie に ISPConfig 3.1 を使用して Web、Email & 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 を有効にします:

古い:

#iterate_query = SELECT email as user FROM mail_user

新しい:

iterate_query = SELECT email as user FROM mail_user

/etc/dovecot/dovecot.conf を開きます

vi /etc/dovecot/dovecot.conf

そして次の内容を追加します:

# グローバルにレプリケーションプラグインを有効にする  
mail_plugins = $mail_plugins notify replication quota  
  
# クライアントとサーバーの両方が共有シークレットを持つ必要があります  
doveadm_password = replication_password  
  
# 同時に実行できる dsync の数を設定する (デフォルトは 10)  
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  
        }  
}  
  
# dsync ターゲットとして tcp:ip を使用する  
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 を有効にします:

古い:

#iterate_query = SELECT email as user FROM mail_user

新しい:

iterate_query = SELECT email as user FROM mail_user

/etc/dovecot/dovecot.conf を開きます

vi /etc/dovecot/dovecot.conf

そして次の内容を追加します:

# グローバルにレプリケーションプラグインを有効にする  
mail_plugins = $mail_plugins notify replication quota  
  
# クライアントとサーバーの両方が共有シークレットを持つ必要があります  
doveadm_password = replication_password  
  
# 同時に実行できる dsync の数を設定する (デフォルトは 10)  
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  
        }  
}  
  
# dsync ターゲットとして tcp:ip を使用する  
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

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。