% % news サーバー入れ換え手順 % % 作成 2002/03/18 山田 由貴子 % # このテキストは 必要最低限の加筆修正を加えたものであり, htmlに書き直すまでの暫定ファイルで ある. ========================================================================= 目次 1. INN の設定 2. 各設定ファイルのバックアップをもう一度とる. 3. white のシャットダウン 4. IPアドレスの張りかえ 5. oldwhite のシャットダウン 6. SCSI ハードディスクの差し替え 7. 新white の再起動 8. INN の設定 - 記事データベースの作成, innd起動 9. gate のインストール 参考: データのバックアップ - news 構築ドキュメントに加える 参考: サーバーいれかえ前に行った gate の oldwhite へのインストールテスト ========================================================================== 1. INN の設定 NEWSサーバの構築ドキュメント   http://www.ep.sci.hokudai.ac.jp/~epnews/dvlop/white-inn232.html 1 -- 9, 12 までを行っておく. ただし, - 7. ブートスクリプトの設定 において, 新サーバーが動かないように, /etc/init.d/innd の実行パーミッションをおとしておく. mondo11@oldwhite:/etc/init.d$ sudo chmod -x innd # 実際にやった事とドキュメントが多少異なるため, 修正が必要 ?? 2. 各設定ファイルのバックアップをもう一度とる. - white の /etc/shadow /etc/gate.conf のバックアップ - white の /usr/local/news/etc/, /usr/local/news/rotty.txt のバックアップ - old white の /etc/shadow /etc/gate.conf のバックアップ 3. white のシャットダウン # sync : メモリにある遅延書き込みをハードディスクに落す # sync # sync # shutdown -h now 4. IPアドレスの張りかえ  ・ホスト名をwhiteに変更.   - /etc/hosts   - /etc/hostname   - /etc/motd   - /etc/mailname  ・IPアドレスを133.87.45.68に変更.   - /etc/network/interfaces 5. oldwhite のシャットダウン # sync # sync # sync # shutdown -h now ======================================================= 以下では, oldwhite は white となる. 以下では, 旧white, 新white と明示して区別する. ======================================================= 6. SCSI ハードディスクの差し替え 旧white の /dev/sda1 --> 新white の /dev/sda1 oldwhite の /dev/sdb1 --> 新white の /dev/sdb1 このままでは, SCSI の ID-SW が違うため BIOS レベルで HD が認識できない. マニュアルにしたがい, ID-SW の爪を動かし, ID をかえる. ID = 0,15 まである. 旧white の /dev/sda1 は, ID = 0 oldwhite の /dev/sda1 は, ID = 9 oldwhite の /dev/sdb1 は, ID = 11 であったので, 旧white の /dev/sda1 を ID = 9 としたら認識した. 7. 新white の再起動 他の PC から IP の張りかえ確認 $ ping 133.87.45.68 $ ping white 8. INN の設定 - 記事データベースの作成, 起動 NEWSサーバの構築ドキュメント   http://www.ep.sci.hokudai.ac.jp/~epnews/dvlop/white-inn232.html#10 10, 11, 13 を行う. この時, 以下の 2 つの作業を忘れてはならない. - oldwhite から white へ記述を変更するファイル mondo11@white:~$ sudo vi /etc/exim.conf news@white:/usr/local/news/etc$ vi inn.conf - /etc/init.d/innd の実行パーミッションを立てる mondo11@white:/etc/init.d$ sudo chmod +x innd - 起動の確認 ・ news@white:/usr/local/news$ ps aux ・ news に投稿できるか確認 ・ Subject: innwatch warning: messages in /var/log/news/news.crit という mail が epnews 宛にきているのを確認 9. gate のインストール http://honey.ep.sci.hokudai.ac.jp/~gate/doc/install-sonota.html 参照. - 前日までに, shadow と gate.conf のコピーは終っており, 上記 web を参考に oldwhite にて, gate のインストールテストを終えている. - gate.conf のかきかえ, gate.conf 内 ==================================================================== # データベースを共有するホストのリスト # 奇数個目の文字列がホスト名、その次の文字列がホストに対する # オプションをあらわす。複数のオプションは空白で区切られる。 # %yellow yellow グループのメンバだけにアカウント作成を限定 # wheel:green $WHEELUSER の設定にかかわらず green グループメンバが # スーパーユーザに sudo できるようにする %DB_SHARE_HOSTS = ( 'orange.ep.sci.hokudai.ac.jp', 'wheel:epwww', 'grey.ep.sci.hokudai.ac.jp', 'wheel:epmail', 'yellow.ep.sci.hokudai.ac.jp', '%epdns wheel:epdns', 'blue.ep.sci.hokudai.ac.jp', '%epdns wheel:epdns', 'white.ep.sci.hokudai.ac.jp', '%epnews wheel:epnews', 'oldwhite.ep.sci.hokudai.ac.jp', '%epnews wheel:epnews',## oldwhite の行を消す ); ================================================================= - gate-daily の実行 root@white:/home/gate# /usr/local/lib/gate/gate-daily - /etc/shadow をみて余計なユーザーがいないか確認. - www(登録サーバー) 再構築後, 以下を行う.   - データベースの転送確認 新NEWS と 旧NEWSでは公開鍵が異なるため, WWWサーバの gate ユーザが所有するNEWSの公開鍵(わかる?) を変更する必要があります. WWWサーバのgateユーザになり, ~/.ssh/knownhosts の white の 行を消し, 再度 white にアクセスをかければノーパスログインが できるはずです. - 安定稼働を確認したら, 作業終了 参考. データのバックアップ - news 構築ドキュメントに加える - rsync というシェルスクリプトを書く. rsync の中身 ============================================================ #!/bin/sh rsync -av --delete /var/spool/news/ /var/spool/news.bk/ > /var/log/rsync-log/var-spool-news.log 2>&1 rsync -av --delete --exclude lost+found /home/ /home.bk/ > /var/log/rsync-log/home.bk.log 2>&1 rsync -av --delete --exclude /bk/ --exclude /proc/ --exclude /home/ --exclude /home.bk/ --exclude /var/spool/news/ --exclud e /var/spool/news.bk/ / /bk/ > /var/log/rsync-log/bk.log 2>&1 ============================================================ - rsync のオプションに -n をつけ, 動作テストをする. root@white:~# cp ./rsync /var/log/rsync-log/ 以下の log ファイルを見てエラーのチェックをする. - /etc/cron.daily/ 以下に実行スクリプトをおく root@white:~# cp rsync /etc/cron.daily/. 参考: サーバーいれかえ前に行った gate の oldwhite へのインストールテスト morikawa さんのメールより抜粋. □ インストール作業 インストール作業は以下のURLのドキュメント群を見て行ってください. http://honey.ep.sci.hokudai.ac.jp/~gate/doc - www サーバでない理由 gate-toroku-system ではインストールドキュメントも gate-toroku-system のパッケージ内に同梱されています. 最近, 僕が gate-toroku-system のドキュメントを 改訂したのですが, この改訂は gate-toroku-system を アップデートしないと反映されません. よって, www では改訂後のアップデートを行っていないため 改訂された ドキュメントが見れません. (今回の gate のインストールで自然アップデートされるはずですが) ※ お願い ドキュメントでわかりずらいところや意味不明なところ などありましたら御指摘よろしくお願いします. □ gate.conf の変更 本来, デフォルトの gate.conf はそのまま専攻サーバに使えるように なっていますが, 本日の段階では ホスト名が専攻サーバで運用される時と異なるため ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ gate.conf に変更が必要になります. ■ 変更点 %DB_SHARE_HOSTS に 試験運用中サーバのホスト(red, oldwhite)の情報を 書き加えます. ^^^^^^^^^^^^^ ・ 現設定 %DB_SHARE_HOSTS = ( 'orange.ep.sci.hokudai.ac.jp', 'wheel:epwww', : 'green.ep.sci.hokudai.ac.jp', '%epftp wheel:epftp', ); 現サーバ群のホスト情報が書き込んであるはずです. ・ 変更点 ここに WWW は red, NEWS は oldwhite の情報を書き加えます. 具体的には ^^^^^^^^^^^^ - 新WWW (red) 'red.ep.sci.hokudai.ac.jp', '%epwww wheel:epwww', - 新NEWS (oldwhite) 'oldwhite.ep.sci.hokudai.ac.jp', '%epnews wheel:epnews', を書き加えてください. ^^^^^^^^^^^^^^^^^^ # 本当は orange を red に, white を oldwhite に書き換えるのが 筋なのですが, 14日(木)のホスト名すげかえ作業で, うっかり gate.conf を書き換えわすれると, 面倒な事 (例えば, NEWS などに一般ユーザのアカウントが切られてしまうとか) になるので, あえて書き加えることにしました. 当然, red を orange , oldwhite を white にした後は 上記で加えた記述を消去する必要があります. □ gate データベースの転送 ※ データベース転送のその前に 以下で, データベースの転送実験, 及びアカウント作成テストを 行いますが, その前に news の /etc/shadow の一部を oldwhite にコピーします. ^^^^^^^^^^^^^^^^^^ こうしないと, もし, そのホストにメールサーバがインストール されていると, 昨日(03/12) のように専攻サーバの全てのユーザに 嘘メールが送信されるという悲劇に遭遇します. !!注意!! 現 oldwhite の mondo ユーザの部分は現在の shadow ファイルを使用します. gate データベースは 登録サーバ (専攻サーバでは 現WWW [orange]) の /etc/gate.conf の %DB_SHARE_HOSTS に 書き込まれているホストに転送されます. よって, oldwhite への転送テストに際しては, 現WWW の /etc/gate.conf の %DB_SHARE_HOSTS に以下を一時的に ^^^^^ ^^^^^^ 書き加えてください. 'oldwhite.ep.sci.hokudai.ac.jp', '%epnews wheel:epnews', その後, 現WWW にて 以下のようにして gate-daily コマンドを 起動し, データベースが転送されていることを確認してください. # /usr/local/lib/gate/gate-daily (実行終了まで少々時間がかかります) データベースの転送が確認されたら, 先ほど 現WWW の /etc/gate.conf に書き加えた部分を削除し, 元に戻しておいて下さい. ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ -- 予備知識 -- ◇ gate データベースの実態 gate のデータベースは /home/gate/ 以下に存在し, ユーザデータベースは /home/gate/userdb/ 以下に, DNSデータベースは /home/gate/ipdb/ 以下に存在します. ・ ユーザデータベース gate 登録システム (http://www.ep 〜 .jp/~gate) の 「ユーザ登録」にて登録した内容 ・ DNSデータベース gate 登録システム (http://www.ep 〜 .jp/~gate) の 「DNS登録」にて登録した内容 基本的にこの中身のファイルは gate グループに 所属しているユーザしか見ることはできませんが, gate-user-show や gate-ip-list などの gate コマンドで ほとんどの情報は一般ユーザでも引き出す事が出来ます. □ gate グループに gate な人をくわえる. (この作業は gate システムインストール後に rsync でユーザデータベースを red に転送してから行って下さい) /etc/group の gate グループの行を以下のように書き換えてください. gate:x:500:mym,miumiu,kosugita,uwabami,morikawa 以上です.