メール、Web サーバ移行作業
Posted by yoosee on Debian at 2004-12-11 23:42 JST1 init.org, madscientist.jp, その他移行作業
先日の yoosee.net Webサーバ移転作業 に続き、メールや yoosee.net 以外の Web サーバを動かしているドメインの移行作業にかかる。2 /home/ 移行作業
数日前に一度、ひと晩かけて /home/* を新サーバへ rsync し、/etc/shadow や /etc/passwd を同期させた。rsync はフル帯域を使うとルータの調子が悪くなったので、# rsync -e ssh -aD --progress --bwlimit=200 local remoteという感じで帯域を 200KB/s に制限しておく。今日は postfix や apache を一旦停止し、ユーザを一度全て強制 logout させてから最終 rsync をかける。一緒に /var/mail/ の下も新サーバの某所へ一度複製。UID が一致していなかったユーザがいて owner がおかしくなっていたので後から修正。
3 WHOIS, DNS 変更作業
先行して移動するレコードの TTL を 600sec 程度に短くして反映時間の短縮を計る。元の Name Server の方で A,MX レコードを新サーバの方に向け、正常に動作することを確認後、レジストリの NS へゾーンの移動を行う。NSI, Joker, Humeia ともに free で利用できる DNS サービスがあるのでそちらを利用させて貰った。しかし NSI だけどうも挙動がおかしくて、WHOIS の NS 変更は即時反映されたのに肝心の zone がそちらの NS 内に出来てくれない。Web から再変更してみたら反映されたが、お陰で DNS が引けない時間が数時間できてしまった。4 postfix 移行作業
postfix は postfix-tls を apt でインストール後、TLS と sasl SMTP-Auth を利用可能な状態にした。postfix-tls の deb は HostKey を自動で作ってくれるなんて言う親切なことはしてくれないので# cd /etc/postfix/tls # /usr/bin/openssl genrsa -out server.key 1024 # /usr/bin/openssl req -new -key server.key -out server.csr .... # /usr/bin/openssl req -in server.csr -key server.key -x509 -out server.crtmain.cf に以下を追記しておく
smtpd_tls_cert_file = /etc/postfix/tls/server.crt smtpd_tls_key_file = /etc/postfix/tls/server.key smtpd_use_tls = yes
SMTP-Auth で使う sasldb2 は realm の部分が変ってしまったので saslpasswd2 で作り直して /etc/sasldb2 を /var/spool/postfix/etc/ の下と同期させる。当然 postfix から読める permission にしておく。main.cf に
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostnameくらいを設定しておく。sasldb2 で CRAM-MD5 認証させるか、PAM を使わせるかは悩みどころ。SMTP over SSL を皆が普通に使ってくれるなら PAM の方が望ましいのだが。
その後 virtual や aliases、各種設定を同期させて一通り新サーバを設定し、起動。続いて旧サーバの postfix を停止。停止前にセカンダリサーバを動かしておく。配送方式を mbox から Maildir へ変更したので、旧サーバの /var/mail/(user) を新サーバに持ってきた後、/home/(user)/Maildir/ の下にスクリプトを利用して移動させる。とりあえず全て Maildir/new/ の下に動かしたので pop3 では重複取得になりそうだが勘弁してもらおう。その後、MX を新サーバへ向けて移行完了。