IT pass HikiWiki - [ITPASS2011]サーバ交換作業(MAIL) Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
= 概要
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
* root のログインを許可するため, 設定を変更する
以下の設定は DNS 班が行うのでここでは作業しなくてよいが, 後で確認しておく.
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 へコピー
pop.auth を直接 scp でコピーするのは所有者の問題で難しいので, 一旦適当な場所に複製し, 所有者を変更したのちにコピーする. その後, コピー先で所有者を元に戻す.
old$ sudo cp /usr/local/qpopper/pop.auth ~/
old$ cd
old$ sudo chown hoge:hoge pop.auth
(hoge は適宜, 適当なユーザ名に変更すること)
old$ 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
* ホスト名と IP アドレスの変更
old と new のホスト名と IP アドレスを入れ替える.
また, この作業は phase 2 の一番最後に行うこと.
* ホスト名の変更
* 編集するファイル
* /etc/hostname
* /etc/hosts
* /etc/mailname
* /etc/gate/gate.conf
* /etc/exim4/update-exim4.conf.conf
* /usr/local/bind/etc/namedb/localhost.zone
* /usr/local/bind/etc/namedb/localhost.rev
* /var/qmail/control/defaulthost
* /var/qmail/control/me
* /etc/motd
# grep ika (または tako) /etc/*
等で古い名前が残っていないか検索しながら作業すること.
* IP アドレスの変更
/etc/hosts と /etc/network/interfaces 内の IP アドレスを入れ替える.
設定後
old --> 133.30.109.21
new --> 133.30.109.22
* ネットワークの再起動
設定の変更後, ネットワークを再起動する.
# /etc/init.d/networking restart
この作業後, new (または old) に接続できなくなった場合は, 該当サーバを再起動する.
* 設定を元に戻す
以下の設定は 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 の設定変更
外から来たメールを受け取らないように,
さらに cron のログメールを飛ばすのに必要な設定だけにするため,
/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
=== 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
また, /var/qmail/control 以下の defaultshost, me が以下のように変更されているかチェックする.
されていない場合は以下のように編集する.
ika-itpass.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*)): メールをとってこれるか
* new での作業
* new の利用者は自分の new のアカウントで, .qmail の設定と Mailbox の作成
* popauth コマンドを行ってパスワードを作っておく作業をする
* メールを受け取る new 以外の計算機での作業
* メーラーの設定は pop サーバ, smtp サーバはどちらも itpass.scitec.kobe-u.ac.jp にする
* 認証形式は APOP で, 暗号化は pop も smtp も無しにする
* 受信のときにパスワードを要求されるので, popauth で作成したパスワードを入力する.
* ((*smtp*)): メールを出せるか, 受け取れるか
* qmail-inject で外にメールが届くか
* ((<リモート送り出しテスト|[ITPASS2011]qmailのインストールと設定#[テスト 3] リモート送り出しテスト>)) を実行し, 届くことを確認する
* 外からメールを送って届くか
* ((*mailing list*)): メールが配送されるか
* Mailing list にメールを送って届くか
=== old
* ((*pop*)): 無効になっているか
* ((*smtp*)): submit は有効にするが, 受け取らない設定になっているか
* ((<ローカル配送テスト part1|[ITPASS2011]qmailのインストールと設定#[テスト 1] ローカル配送テスト part1>)) を実行し, 届かないことを確認する
* cron のログが管理者に届くようになっているか
* /etc/crontab 内の mail コマンドを実行し, 届くことを確認する.
ただし _at_ は @ に読み替えること.
# mail -s "`hostname -f` test" itpadmin_at_itpass.scitec.kobe-u.ac.jp
= 参考文献
* ((<[Memo2011][ITPASS]サーバ交換作業(MAIL)>))
* ((<[ITPASS2010]サーバ交換作業(MAIL)>))
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]
= 概要
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
* root のログインを許可するため, 設定を変更する
以下の設定は DNS 班が行うのでここでは作業しなくてよいが, 後で確認しておく.
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 へコピー
pop.auth を直接 scp でコピーするのは所有者の問題で難しいので, 一旦適当な場所に複製し, 所有者を変更したのちにコピーする. その後, コピー先で所有者を元に戻す.
old$ sudo cp /usr/local/qpopper/pop.auth ~/
old$ cd
old$ sudo chown hoge:hoge pop.auth
(hoge は適宜, 適当なユーザ名に変更すること)
old$ 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
* ホスト名と IP アドレスの変更
old と new のホスト名と IP アドレスを入れ替える.
また, この作業は phase 2 の一番最後に行うこと.
* ホスト名の変更
* 編集するファイル
* /etc/hostname
* /etc/hosts
* /etc/mailname
* /etc/gate/gate.conf
* /etc/exim4/update-exim4.conf.conf
* /usr/local/bind/etc/namedb/localhost.zone
* /usr/local/bind/etc/namedb/localhost.rev
* /var/qmail/control/defaulthost
* /var/qmail/control/me
* /etc/motd
# grep ika (または tako) /etc/*
等で古い名前が残っていないか検索しながら作業すること.
* IP アドレスの変更
/etc/hosts と /etc/network/interfaces 内の IP アドレスを入れ替える.
設定後
old --> 133.30.109.21
new --> 133.30.109.22
* ネットワークの再起動
設定の変更後, ネットワークを再起動する.
# /etc/init.d/networking restart
この作業後, new (または old) に接続できなくなった場合は, 該当サーバを再起動する.
* 設定を元に戻す
以下の設定は 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 の設定変更
外から来たメールを受け取らないように,
さらに cron のログメールを飛ばすのに必要な設定だけにするため,
/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
=== 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
また, /var/qmail/control 以下の defaultshost, me が以下のように変更されているかチェックする.
されていない場合は以下のように編集する.
ika-itpass.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*)): メールをとってこれるか
* new での作業
* new の利用者は自分の new のアカウントで, .qmail の設定と Mailbox の作成
* popauth コマンドを行ってパスワードを作っておく作業をする
* メールを受け取る new 以外の計算機での作業
* メーラーの設定は pop サーバ, smtp サーバはどちらも itpass.scitec.kobe-u.ac.jp にする
* 認証形式は APOP で, 暗号化は pop も smtp も無しにする
* 受信のときにパスワードを要求されるので, popauth で作成したパスワードを入力する.
* ((*smtp*)): メールを出せるか, 受け取れるか
* qmail-inject で外にメールが届くか
* ((<リモート送り出しテスト|[ITPASS2011]qmailのインストールと設定#[テスト 3] リモート送り出しテスト>)) を実行し, 届くことを確認する
* 外からメールを送って届くか
* ((*mailing list*)): メールが配送されるか
* Mailing list にメールを送って届くか
=== old
* ((*pop*)): 無効になっているか
* ((*smtp*)): submit は有効にするが, 受け取らない設定になっているか
* ((<ローカル配送テスト part1|[ITPASS2011]qmailのインストールと設定#[テスト 1] ローカル配送テスト part1>)) を実行し, 届かないことを確認する
* cron のログが管理者に届くようになっているか
* /etc/crontab 内の mail コマンドを実行し, 届くことを確認する.
ただし _at_ は @ に読み替えること.
# mail -s "`hostname -f` test" itpadmin_at_itpass.scitec.kobe-u.ac.jp
= 参考文献
* ((<[Memo2011][ITPASS]サーバ交換作業(MAIL)>))
* ((<[ITPASS2010]サーバ交換作業(MAIL)>))
[((<ITPASSサーバ構築ドキュメント>)) へ戻る]