######################################################### # # # 題名 : 2017 年度 WWW サーバ 入れ替え手順書 # # # # 履歴 : 吉田 辰哉 (2017/11/24) 2016 年度版から作成 # # # ######################################################### □ 構築ドキュメントとインストールするもの ・OS - Debian GNU/Linux 9.2 (stretch) ・サーバソフト - apache2 - openssl - analog - apache status - qmail - tcpserver - kyoma script - gate-toroku-system ・その他必要パッケージ - 以下を参照 *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/os-install.html □ メモ + バックアップを忘れずに行うこと!!! ^^^^^^^^^^^^ - バックアップには最低でも数時間かかることに注意 + サーバが停止する期間は 1 日間 である. - 2016/12/08(金) + 入れ換え日までに OS,apache,gate その他ツール群の インストールを済ませておく. + 入れ換え日はサーバの入れ替え,細かな設定の調整を行う. + 全作業が完了したらメールで報告して www サーバ再開. + 細かな作業が多いのでサーバ入れ替えの流れを良く 理解し混乱しないようにすること. □ 作業内容 ※ 番号の前に * がついているものは現行の orange での作業 [ 入れ換え日前日まで ] 1. OS のインストール, 及び必要パッケージのインストール *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/os-install.html 留意点 - qmail インストール段階で行う配信テストのため 一般ユーザを作成する必要がある. OS インストール中ではなく OS インストール後に手動で行う. - カーネルの再構築なし - X のインストールもなし - サーバソフトウェア以外の設定は以下を参照のこと - http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/sudo.html - http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/ssh.html - http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/japanese.html - http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/qkc_install_log.htm 2. Apache のインストール *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/apache.html - os インストール時にパッケージ自体はインストール済み - 今年も webcounter を組み込まず - 設定は以下を参照 *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/log.html 3. OpenSSL のインストール, Apache への ssl の導入 *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/apache2-ssl.html 4. mksigenのインストール *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/mksigen.html *http://www.gfd-dennou.org/arch/cc-env/mksigen/SIGEN.htm 5. qmail のインストール *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/qmail.html *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/www.html +留意点 -「制御ファイル」 - /var/lib/qmail/control/ 以下の制御ファイルの設定に注意 - 一旦 sango にて制御ファイルの作成を行い, 後で書き換え - この時点の sango に ep.sci.hokudai.ac.jp の MX は向けられていない -「受信テスト」 - メールアドレスのホスト名はフルドメイン (sango.ep.sci.hokudai.ac.jp) で行う。 - gate システムを必要とする kyoma スクリプトについては 実行許可を落しておく。 + /usr/local/sbin/list-2-tcp 6. sango の qmail 停止 - 2017 年度は以下のコマンドを使用 - # qmailctl stop 7. quota のインストール *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/quota.html - 留意点 - インストール以外は入替え時に行うことにした 8. gate システムのインストール *http://www.ep.sci.hokudai.ac.jp/~gate/dvlop/y2011/gate- reconfig.html *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/gate_install.html - nonpasslogin の設定も行なっておく. - テストのために新たにユーザを作る必要はなし. ( sango <-> orange で nonpasslogin が出来れば OK) - ここでは鍵の入替えは行わない - 入替え時に行う 9. mondo* のホームディレクトリ変更 (/etc/passwd) ※ /home に mondo* のホームディレクトリがあると, 付け替え後見えなくなってしまう - # mkdir /work - # mv /home/mondo* /work/ - /etc/passwd で mondo* のホームディレクトリを /work 以下に変更 - 環境変数 HOME の設定 - export HOME=/work/mondo4 10. mondo* の uid が1000 - 29999 以外になっているか確認 - なっていなければ修正 - # usermod -u (変更後ユーザID) (ユーザ名) 12. 一旦シャットダウン *13. バックアップ - 適当な日程 (入れ替え前日まで) で現行 orange の /home.bk の HDD を 入れ替え & 新しい HDD にrsync, 現行のものを塩漬けにする - 今年は忘れずに行うこと!! ^^^^^^^^ [ 入れ換え当日 ] *1. Apache(SSL も含め), qmail (www のセカンダリメールサーバ) の 停止 - qmail の停止 # qmailctl stop - apache も止める # /etc/init.d/apache2 stop *http://www.ep.sci.hokudai.ac.jp/~epmail/y2010/dvlop/qmail_stop.html *2. 一般ユーザのアクセス禁止設定 - ログインしているユーザに停止する旨を通知. # wall The system will shutdown at 09:00. Please logout. (書き終ったら [Ctrl]+[D]) - # vi /etc/hosts.deny ALL: ALL - # vi /etc/hosts.allow ALL: [管理者・チューターのマシン名] - ネットワーク接続. 他 PC (blue 等) からアクセスできないことを 確認 *3. 重要ファイル群をバックアップ - /etc/passwd /etc/shadow /etc/gshadow /etc/group /etc/sudoers /etc/ssh/ /etc/skel/ /etc/cron.daily/rsync /var/spool/cron/ /var/lib/canna/dic/user/ - # cp -pr [files/directory] 所有者・グループなどを保って cp - バックアップ先は /home/suto/tmp . - 一応 chmod でパーミッション変更, 入れ換え後はすぐに削除. *4. ローカルでのバックアップ (およそ 30 分) - # /etc/cron.daily/rsync を実行 - / -> /bk - /home -> /home.bk - 終了したらディスク容量確認 - orange で $ df - だいたいサイズが同じくらいなら OK (なぜか、完全には一致しないので注意) *5. orange → sango 設定ファイルのコピー - /etc/ssh/ /etc/skel/ /etc/cron.daily/rsync /var/spool/cron/ /var/lib/canna/dic/user/ - # cp -pr [files/directory] 所有者・グループなどを保って cp - /etc/shadow /etc/group /etc/passwd を orange からコピー 1. 旧 /etc/shadow /etc/group /etc/passwd を /home/tatsuya/tmp から コピー - /root/shadow.tmp などとしてコピー 2. エディタで実際に不必要な部分(gate で管理するユーザ以外)の削 除 # vi /root/shadow.tmp User UID 1000 -- 29999 以外を全て消す 3. 新 /etc/shadow /etc/group /etc/passwd 内に ID 1000--29999 の ユーザができていないことを確認(特に mondo** を確認) 4. 新 /etc/shadow /etc/group /etc/passwd へ追加 # cat /root/shadow.tmp >> /etc/shadow ^^^^ ( 5. # rm /root/shadow.tmp ) 6. シャットダウン - 現 orange のシャットダウン # sync 数回 # halt -p - ネットワーク線をはずしておく - /home, /home.bk の外付け HDD の接続を外す - sango のシャットダウン # halt -p - sango の起動 - 外付けHDDはまだつけない. 7. LABEL 貼り - 外付け HDD を抜いた状態で起動し, sango の / 及び /bk にラベル を貼り付け # e2label /dev/sda1 system # e2label /dev/sdb2 system-bk - /etc/fstab の書き換え # vi /etc/fstab LABEL=system / ext3 errors=remount-ro 0 1 LABEL=system-bk /bk ext3 defaults 0 2 LABEL=home /home ext3 defaults,usrquota 0 2 LABEL=home-bk /home.bk ext3 defaults 0 2 - menu.lst の書き換え # vi /boot/grub/menu.lst # kopt=root=LABEL=system ro # update-grub で menu.lst を更新 8. 外づけ SATA HD 接続 *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/mount.html - ネットワーク線を抜いておく - /etc/fstab 変更 - /home -> /work - /home.bk -> /work.bk - /dev/sdc1 (/home), -/dev/sdd1(/home.bk), -/dev/sde1(/backup) の記述 追加 - visudo で tatsuya に sudo 権限を付加 - orange の /home, /home.bk, /backup の外付け HDD を接続 - sango をシャットダウン - 新 SATA HD (/home, /home.bk) を付けて, sango を起動 - df で確認 - 旧 /home (oldhome) をマウント   - # mount -t ext3 /dev/sdc1 /mnt/oldhome - 旧 /home (oldhome) を新 /home (home) へ rsync   - # nohup rsync -av /mnt/oldhome /home/ > rsync.log & - orange /home, /home.bk を新 /home, /home.bk, /backup に rsync 9. gate-toroku-system の本インストール - kill -HUP `cay /var/run/inetd.pid` - /etc/gate.conf を本気モードへ. - /etc/shadow, passwd, group, sudoers に .bk をつけてバックアッ プ - gate-daily を実行 - /etc/shadow, passwd, group, sudoers が書き換えられる - gate-daily の実行の確認 - $ date - ls -ly /etc/passwd 10. quota の設定 *http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/quota.html - # repquota -u -a | less 11. 各設定ファイルの変更 - sango から orange に - apache - /etc/apache2/apache2.conf - /etc/apache2/sites-available/000-default.conf - /etc/apache2/conf.d/charset - AddDefaultCharset Off - apache-ssl (/etc/sites-available/ssl) - ServerName - /etc/cron.daily/rsync - /etc/tcp.smtp - /var/qmail/control/locals /var/qmail/control/me /var/qmail/control/rcpthosts ※ /var/qmail/control/rcpthosts に ep.sci.hokudai.ac.jp の記述が存在することを確認 ※ ホスト名の変更漏れが無いようにする為には, grep を用いると良い - 適当なディレクトリで grep -r -l 'sango' * 12. ホスト名、IP アドレスの変更 *http://www.ep.sci.hokudai.ac.jp/~epcore/dvlop/y2010/iplist.html - sango から orange へ - /etc/hosts /etc/hostname /etc/motd /etc/network/interfaces /etc/mailcap - orange: 133.50.160.53 sango : 133.50.160.51 13. sango (新 orange) のネットワーク再起動 - 新 orange を一度シャットダウン # halt -p - orange と sango のネットワークカードを交換, その後起動 - ネットワーク線を orange <=> sango のように付け替える - ip と 大計ハブポートの対応に注意 - orange: 133.50.160.53 G0916.10 sango: 133.50.160.51 G0916.12 - 証明書の再発行 # /usr/sbin/make-ssl-cert - sango から orange に変更 ※ ifconfig コマンドを使う際は全てのネットワークインターフェー ス が見えるようにする為に - a オプションを忘れないこと. ※ eth xx が上がっていない場合には /etc/network/interface を適 切 に記述したのち, ifup コマンドを用いる. 14. 各ソフトウェアの動作確認 - apache, apache-ssl - ep のサイトは通常通り見えるか? - http://www.ep.sci.hokudai.ac.jp/~epcore/ - http://www.ep.sci.hokudai.ac.jp/~hoge/ - ssl は機能しているか? - https://www.ep.sci.hokudai.ac.jp/~epcore/ - error message の確認 (server name, sever admin の記述) - cgi は機能しているか? - http://www.ep.sci.hokudai.ac.jp/~cosmo/enroll/bbs.cgi - https://www.ep.sci.hokudai.ac.jp/cgi-bin/gate-pip-renew.cgi - バーチャルホストの設定はうまくいっているか? - http://www.ep.sci.hokudai.ac.jp/ - http://www.cosmo.sci.hokudai.ac.jp/ - .htpasswd が上手く動作しているか - http://www.ep.sci.hokudai.ac.jp/~psg/manage/index.html - qmail - メール配送の確認 - orange から自分へメールを送信/確認 - to mondo4@orange from mondo4@orange - orange から他人へメールを送信/確認 - to tatsuya@ep from mondo4@orange - remote から orange を経由して送信/確認 - telnet orange.ep.sci.hokudai.ac.jp 25 - gate の動作確認 *http://www.ep.sci.hokudai.ac.jp/~gate/dvlop/y2011/gate- reconfig.html#test_use 15. 一時的なバックアップファイルを削除する - rm -r /home/tatsuya/tmp 16. 再構築完了をメールで報告, www サーバ再開 17. gate 登録内容変更 - www, orange, red, sango, epwww - テプラ貼り