IT pass HikiWiki - [Memo2012][ITPASS]サーバ交換作業(MAIL) Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

== phase 5 (tako, ika の交換: 設定ファイルの変更)

ここから先は手分けできる作業が多いため, 構築関係者全員で行う.

=== ホスト名と IP アドレスの変更

各種設定ファイルに存在する,
ika と tako のホスト名と IP アドレスを入れ替える.
編集の際はバックアップを取っておくこと.

* ホスト名の変更

  * 編集するファイル (mail 班)
    * /var/qmail/control/defaulthost
    * /var/qmail/control/me
    * システムログ内は変更しなくてよい

  上記の場所以外にも古い名前が残っていないか
    # grep -r tako (または ika) /var/qmail/*
  で検索しながら作業した.
  * 追加で編集したファイル (mail 班)
    * /var/qmail/control/rcpthosts
    * /var/qmail/control/locals
    * 後の作業で書き換えるので, ここでは書き換えなくてもよかったようだ.
    
  ファイルの編集をするときはエディタの検索機能を活用すると早く作業できる.
  ただし一括置換はホスト名とは関係ない文字列も置換してしまう恐れがあるので使わないこと.

== phase 7 (サービスの設定変更)

((*ここからホスト名が入れ替わっているので注意すること*)).
新, 旧はそれぞれ現構築メンバー, 昨年度の構築メンバーを意味する.

また, この phase 以降は両方のサーバで
作業の足並みをそろえる必要はない.

=== tako の qmail の設定変更 (担当: 旧 Mail 班)

外から来たメールを受け取らないように,
さらにシステムログメールを飛ばすのに必要な設定だけにするため, /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

変更後

  localhost

tako の変更は qmail だけなので,
この作業が終わったら次の phase に進んで良い.

=== ika の Mail 関連の設定変更 (担当: 新 Mail 班)

* 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

また, /var/qmail/control 以下の defaultshost, me が以下のように変更されているかチェックした.

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

qmail-showctl(8) で設定を確認.

* ((<[ITPASS2011a]サービスの開始・停止>)) を参考に,
  以下のサービスが永続的に立ち上がるように設定した
  * qmail
  * tcpserver
  具体的には以下のコマンドを実行した
   # cd /etc/init.d
   # update-rc.d <service> defaults
   # chmod 755 <service>
  
* メーリングリスト毎の 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 9 (再起動後の動作確認)

=== サービスの起動確認

ps aux コマンドで以下の確認作業を行う.

* ika
  * qmail, tcpserver (smtp), inetd (pop3) が
    起動していることを確認した.

* tako
  * qmail, tcpserver (smtp) が起動していることを確認した.
  * inetd (pop3) が起動して((*いない*))ことを確認した.

=== サービスの動作確認

==== ika

* ((*gate*)):による登録や変更は可能か
  * 確認した
* ((*fail2ban*)): は正しく動作しているか
  * Ban されることを確認した
* ((*pop*)): メールをとってこれるか
  * ika での作業
    * ika の利用者は自分のアカウントで, .qmail の設定と Mailbox の作成
    * popauth コマンドを行ってパスワードを作っておく作業をする  
popauth を実行, パスワードを入力したところ
  gdbm fatal: lseek error
と表示され実行できなかった. 対策として, 旧 ika から持ってきた pop.auth ファイルを消して
  popauth -init
と実行した後に, 再び popauth を実行したところ, エラーなく動くようになった. ファイルが転送時に壊れたり, パーミッションが適切でなかったということはなかったので, 原因としては今回 32 bit のシステムを構築してしまったが故に旧 ika からもってきた pop.auth (64bit) がそのまま使い回すことができなかったのではないかと考えているが, 根拠はない.

  * メールを受け取る ika 以外の計算機での作業
    * メーラーの設定は pop サーバ, smtp サーバはどちらも itpass.scitec.kobe-u.ac.jp にする
    * 認証形式は APOP で, 暗号化は pop も smtp も無しにする
    * 受信のときにパスワードを要求されるので, popauth で作成したパスワードを入力する.
  * 受け取れることを確認した
* ((*smtp*)): メールを出せるか, 受け取れるか
  * qmail-inject で外にメールが届くか
    * ((<リモート送り出しテスト|"[ITPASS2011a]qmailのインストールと設定#[テスト 3] リモート送り出しテスト part1">)) を実行し, 届くことを確認した
  * 外からメールを送って届くか
    * 届いた
* ((*mailing list*)): メールが配送されるか
  * Mailing list にメールを送って届いた

==== tako

* ((*ssh*)): root ログインが禁止されていた
* ((*pop*)): 無効になっていた
* ((*smtp*)): submit は有効にするが, 受け取らない設定になっているか
  * ((<ローカル配送テスト part1|[ITPASS2011a]qmailのインストールと設定#[テスト 1] ローカル配送テスト part1>)) を実行し, 届かないことを確認した
  * cron のログが管理者に届くようになっているか
    * /etc/crontab 内の mail コマンドを実行し, 届くことを確認した.
    ただし _at_ は @ に読み替えること.
      # echo "this is test" | mail -s "`hostname -f` test" itpadmin_at_itpass.scitec.kobe-u.ac.jp