[ITPASS2009]サーバ交換作業(Mail)

概要

ITPASS サーバでは, 毎年 9-10 月に管理・運営技術と後継者育成を目的として, サーバの再構築を行っている.

ITPASS サーバは本サーバと予備サーバの 2 台体制で運用しており, 以下の手順で再構築を行うこととなる.

なお, 入替え前のサーバと入替え後のサーバのホスト名はそれぞれ old, new である. new と old は適宜読み替える.

  1. new に OS とサーバソフトウェアのインストール (期間: 1 週間〜 1ヶ月)
  2. 下記の入れ替え日には ITPASS サーバを停止することとなるため, 停止アナウンスを数度行う (入替え日の 2 週間前から当日 30 分前まで).
  3. old と new の入替え (期間: 半日〜 1 日)

phase 0 (入替え前)

入れ替えを開始する (サービスを停止する) 30 分前には告知.

phase 1 (入替え開始)

old のサービスを停止する.

  • qmail, tcpserver (smtp), inetd (pop3)
    • サービス停止作業
      • qmail, tcserver, openbsd-inetd に関して, 以下のコマンドで, サービスを一時的に停止する. ただし, 再起動すると再びこれらのサービスも起動してしまうため, 作業途中で再起動の必要性が出てしまった場合は注意. 永続的にサービスを停止する作業は phase 3 で行う.

        # /etc/init.d/qmail stop
        # /etc/init.d/tcpserver stop
        # /etc/init.d/openbsd-inetd stop

phase 2

以下の設定は DNS 班が行うのでここでは作業しなくてよいが, 後で確認しておく. root のログインを許可するため, 以下のように設定を変更する.

new の /etc/ssh/sshd_config で,

PermitRootLogin no

という部分を

PermitRootLogin yes

に変更し, さらに, 任意のコマンドを実行出来るように,

PermitRootLogin forced-commands-only

という部分をコメントアウトする. その後,

new# /etc/init.d/ssh restart

として設定を反映すること. これにより, root のログインを許可することとなる.

old から new へ各種データをコピー

  • old の /usr/local/qpopper/pop.auth を new へコピー

    old$ cd /usr/local/qpopper/
    old$ sudo cp pop.auth ~/
    old$ sudo chown hoge:hoge pop.auth
    (hoge は適宜, 適当なユーザ名に変更すること)
    old$ sudo scp pop.auth new:
    old$ slogin new
    new$ cd /usr/local/qpopper
    new$ sudo mv pop.auth pop.auth~
    new$ sudo mv ~/pop.auth .
    new$ sudo chown pop:mail pop.auth
    new$ ls -l
    new$ rm pop.auth~
    new$ exit
    old$ rm pop.auth

以下の設定は phase 3 で DNS 班が行うのでここでは作業しなくてよいが, 後で確認しておく. 先ほど, old から new に rsync でファイルを転送するために, root のログインを許可したので, 設定を以下のように変更して元に戻す.

/etc/ssh/sshd_config の

PermitRootLogin yes

という部分を

PermitRootLogin no

に変更したのち,

new# /etc/init.d/ssh restart

として設定を反映することにより元に戻る.

phase 3

old の設定変更を行う.

  • qmail の設定変更

    外から来たメールを受け取らないように, and ログメールを飛ばすのに必要な設定だけにするため, /var/qmail/control 以下の locals, rcpthosts を以下のように変更する. 移行が終わったら起動する.

    変更前

    localhost
    ika.scitec.kobe-u.ac.jp
    itpass.scitec.kobe-u.ac.jp
    epa.scitec.kobe-u.ac.jp
    aoe.scitec.kobe-u.ac.jp 
    cps.scitec.kobe-u.ac.jp 

    変更後

    localhost

new の設定変更する.

  • qmail の設定変更
/var/qmail/control 以下の locals, rcpthosts が以下のように変更されているかチェックする. 

されていない場合は以下のように編集する.

localhost
ika-itpass.scitec.kobe-u.ac.jp
itpass.scitec.kobe-u.ac.jp
epa.scitec.kobe-u.ac.jp
aoe.scitec.kobe-u.ac.jp 
cps.scitec.kobe-u.ac.jp 
qmail-showctl(8) で設定を確認.
  • qmail の再起動

    /etc/init.d/qmail restart
  • メーリングリスト毎の bouncer 設定

    メーリングリストのエラーメール転送設定が行われているかチェックする. この作業が必要なメーリングリストは,

    itpass-ml_at_itpass.scitec.kobe-u.ac.jp

    である. ただし, "_at_" はアットマークである. /home/itpass/ml/ml-crtl/bouncer が以下のように変更されているか確認する. されていない場合は以下のように編集する.

    &itpadmin_at_itpass.scitec.kobe-u.ac.jp
    |/usr/local/ezmlm/bin/ezmlm-weed
    |/usr/local/ezmlm/bin/ezmlm-return -D '/home/itpass/ml/ml-ctrl'

phase 4

  • 移行の最終チェック
    • new
      • pop: メールをとってこれるか
      • smtp: メールを出せるか, 受け取れるか
      • mailing list: メールが配送されるか
    • old
      • pop: 無効になっているか
      • smtp: submit は有効にするが, 受け取らない設定になっているか
  • new の smtp や Mailing list の確認は Mail の構築の際と同じような手順で チェックする(qmail-inject で外にメールが届くか, 外からメールを送って届くか, Mailing list にメールを送って届くか).
  • pop の確認の準備

    • new での作業

    new の利用者は自分の new のアカウントで, .qmail の設定と Mailbox の作成 popauth コマンドを行ってパスワードを作っておく作業をする

    • メールを受け取る new 以外の計算機での作業

    メーラーの設定は pop サーバ, smtp サーバはどちらも itpass.scitec.kobe-u.ac.jp にする 認証形式は APOP で, 暗号化は pop も smtp も無しにする 受信のときにパスワードを要求されるので, popauth で作成したパスワードを入力する.

[ITPASSサーバ構築ドキュメントへ戻る]

Last modified:2010/09/17 09:55:18
Keyword(s):
References:[[ITPASS2009]2009年度サーバ構築ログ]