%
% 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

以上です.