メール、Web サーバ移行作業

Posted by yoosee on Debian at 2004-12-11 23:42 JST

*1  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.crt
main.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 を新サーバへ向けて移行完了。

*5  courier-imap-ssl, courier-pop-ssl 移行作業

こちらは SSL通信に必要なものは package install 時にある程度自動でしてくれるので、/etc/courier/ 以下の各 daemon 用設定ファイルの ADDRESS の部分だけ、実際に listen させる Global IP Address を書いておく。SSL 前提で IMAP の認証も MD5 Hash では無く PAM の Plain を使うことにする。この方が同期が楽だし、生パスワードをローカルに保存するリスクがないので個人的には好み。POP3 over SSL は対応しているクライアントが少ないのが悩みどころか。

*6  データベース移行作業

今使っているのは mysql だけなので、mysqldump でデータを全て dump させ、新サーバに import させるだけ。設定周りで多少変更した程度。

*7  Webサーバ移行作業

何故か思い付きで apache を 1.3.x から 2.x 系に切り替え。しかも mpm-thread-pool で、2.6 kernel と組み合わせるとパフォーマンスが非常に良いのだが微妙に危なさげ。うちは UserDir が public_html ではなく HTML という名前を使っているので、suexec2 に修正を入れつつ再構築して入れ替えておく。他は普通に apache2 用の設定と VirtualHost の sites-available を設定し sites-enable へ symlink を張って再起動。

*8  その他

fml の設定を忘れていて ML が一時止まってしまった模様。これも本当は Mailman にでも置き換えようと思ったのだが時間が無いので後回し。他はひとまず動いてるかな。

( Permalink | Comments (0) | tags: server  )
Comments

Please write your comment. email address won't appear. Cannot use any HTML tags in comment.
コメントをお書き下さい。メールアドレスは公開されません。 またHTMLタグは利用できません。
Name   E-mail   URL
Comment

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

このエントリーのブックマーク

Monthly Archives

Select Month to read