Cyrus IMAPdのレプリケーション設定メモ。
環境
- FreeBSD 10.3
- Cyrus IMAPd 2.5.8
- マスターサーバ: master.domain.tld
- スレーブサーバ: slave.domain.tld
設定
- Cyrus-IMAPdのREPLICATIONオプションが有効でない場合、オプションを追加して再ビルド&インストール。マスターサーバ、スレーブサーバの両方でREPLICATIONオプションが必要。
# sudo portmaster --force-config mail/cyrus-imapd25
- マスターサーバ、およびスレーブサーバの
/etc/services
を編集し、次の行を追加。csync 9905/tcp #Cyrus IMAPd replication
Cyrus IMAPdのマニュアルには2005ポートを利用するよう書かれているけれども、servicesファイルではすでにBerkNetに割り当てられていたので、空いているポートを割り当てた。両サーバでポート番号が合っていれば問題ない模様。
- スレーブサーバの
/usr/local/etc/cyrus.conf
を編集し、SERVICESセクションに次の行を追加。syncserver cmd=”/usr/local/cyrus/bin/sync_server” listen=”csync”
- マスターサーバの
/usr/local/etc/cyrus.conf
を編集し、STARTセクションに次の行を追加。syncclient cmd=”/usr/local/cyrus/bin/sync_client -r”
- マスターサーバの
/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
- マスターサーバ、スレーブサーバでそれぞれIMAPdを再起動。
# sudo service imapd restart
参考
- Replication: Installation and Administration (Cyrus IMAP and SASL)
- cyrus imapdのレプリケーション設定 (日常の由無し事を綴る日記)