Cyrus IMAPdのレプリケーション

Cyrus IMAPdのレプリケーション設定メモ。

環境

  • FreeBSD 10.3
  • Cyrus IMAPd 2.5.8
  • マスターサーバ: master.domain.tld
  • スレーブサーバ: slave.domain.tld

設定

  1. Cyrus-IMAPdのREPLICATIONオプションが有効でない場合、オプションを追加して再ビルド&インストール。マスターサーバ、スレーブサーバの両方でREPLICATIONオプションが必要。
    # sudo portmaster --force-config mail/cyrus-imapd25
  2. マスターサーバ、およびスレーブサーバの /etc/services を編集し、次の行を追加。
    csync 9905/tcp #Cyrus IMAPd replication

    Cyrus IMAPdのマニュアルには2005ポートを利用するよう書かれているけれども、servicesファイルではすでにBerkNetに割り当てられていたので、空いているポートを割り当てた。両サーバでポート番号が合っていれば問題ない模様。

  3. スレーブサーバの /usr/local/etc/cyrus.conf を編集し、SERVICESセクションに次の行を追加。
    syncserver cmd=”/usr/local/cyrus/bin/sync_server” listen=”csync”
  4. マスターサーバの /usr/local/etc/cyrus.conf を編集し、STARTセクションに次の行を追加。
    syncclient cmd=”/usr/local/cyrus/bin/sync_client -r”
  5. マスターサーバの /usr/local/etc/imap.conf を編集し、次の行を追加。
    sync_host: slave.domain.tld
    sync_port: 9905
    sync_authname: cyrus-admin
    sync_password: [Cyrus管理者のパスワード]
    sync_realm: domain.tld
    sync_log: yes
  6. マスターサーバ、スレーブサーバでそれぞれIMAPdを再起動。
    # sudo service imapd restart

参考