メールサーバ移行メモ
年明け前に重い腰を上げてメールサーバを移行したのでメモ。
移行対象のソフトウェアは sendmail, milter 関係(SpamAssassin, ClamAV, greylist, milter-regex), Cyrus-IMAPd です。
sendmail
基本的には /etc/mail
以下を持ってくれば終わりだと思いますが、古いマシンから mc ファイルを持ってきて新しいマシンで cf ファイルにしました。
access, aliases, virtusertable も同様に編集するファイルを持ってきて db ファイルを作りました。
SpamAssassin
ports tree からインストール後、以下のディレクトリ・ファイルを持ってきます。
/root/.spamassassin
/var/spool/spamassassin
/usr/local/etc/mail/spamassassin/local.cf
ユーザのホームディレクトリにある .spamassassin
を使っているならそれも持ってきます。
ClamAV
ports tree からインストール後、以下のファイルを持ってきます。
/usr/local/etc/clamd.conf
greylist
ports tree からインストール後、以下のファイルを持ってきます。
/usr/local/etc/mail/greylist.conf
/var/milter-greylist/greylist.db
greylist.db
をそのまま持ってきて反映したのかはいまいち不明です……。
milter-regex
ports tree からインストール後、以下のファイルを持ってきます。
/usr/local/etc/milter-regex.conf
Cyrus-IMAPd
バージョンが同じならそのままコピーで行けるような記述を見た気がしたんですが、OS のバージョン違いで使用するファイル形式が違うのかそのままでは読めませんでした。
ports tree からインストール後、以下のディレクトリ・ファイルを持ってきます。
/usr/local/etc/cyrus.conf
/usr/local/etc/imapd.conf
/var/imap
/var/spool/imap
今回はホスト名が変わってしまうので、ユーザ認証データベースを新規に作ります。
# saslpasswd2 -c -u (hostname) (username)
登録を確認して、ファイルの所有者を変更します。
# sasldblistusers2
# chown cyrus:mail /usr/local/etc/sasldb2.db
一度新規にファイルを作るので、移行してきたファイルを一時避難させます。
# mv /var/imap /var/imap.orig
# mv /var/spool/imap /var/spool/imap.orig
# mkdir /var/imap && chown cyrus:cyrus /var/imap
# mkdir /var/spool/imap && chown cyrus:cyrus /var/spool/imap
mkimap
で新規にファイルを作ります。
# su - cyrus
% mkimap
メールデータを丸々移動し再構成します。
% mv /var/spool/imap.orig /var/spool/imap
% reconstruct
上記の再構成でメールボックス一覧等が復元されるようですが、出来る限りそのまま復元したいので以下も上書きします。
何かで db ファイルが不正とか開けないと出て cvt_cyrusdb
でのコンバートも出来ない物については上書きしない方が良さそうです。
% cp -r /var/imap.orig/*.db /var/imap/
% cp -r /var/imap.orig/proc /var/imap/
% cp -r /var/imap.orig/server.pem /var/imap/
% cp -r /var/imap.orig/sieve /var/imap/
% cp -r /var/imap.orig/user /var/imap/
sieve script を使用している場合、上記で script 自体は復元されますが deactivate されてしまいますので、登録時と同じように activate し直します。
# su - (username)
% sieveshell localhost
> ls
> activate (scriptname)
全部出来たらテスト用のドメインで配送のテストを行い、問題なければ本番の MX レコードも変更して終了。
なかなか長い道のりでした……。
ディスカッション
コメント一覧
まだ、コメントがありません