|
いや、今回は参りました。先月23日からほぼ3日間もサーバーを止めてしまいました。これほどまで復旧に時間が掛かったのは、私の技術力の無さが原因ですが、Linuxの難しい側面も出てしまいました。つい先日まで使っていたのは、RedHatの6だったでしょうか。ずーっと、特に大きな問題も出さずに動いていました。その昔は、Sluckwareなども使ったことがありますが、サーバーがレンタルになって、自前のものを持ち込めなくなったので、サーバー会社が与えてくれるハードとOSを使うしかありませんでした。
今回の問題は、OSだったのか、ハードウェアーだったのか、結局切り分けることができませんでしたが、現象はリセットもリブートもできなくなってしまいました。ハードディスクを他のマシンのスレーブとしてつなげたところ、幸いにしてデータ部分が見える状況だったらしいので、慌ててバックアップを取った次第です。
さて、今回入れたOSがRedHat9.0です。もうそろそろRedHat社がサポートを止める製品です。このOSの変更が、その中に入っているアプリケーションの設定ファイルの違いによって、同じ設定ファイルを持ってきただけでは、簡単に移行ができませんでした。
下記にその要点を記述しておきます。同じような境遇の方の参考になれば良いのですが。。。
■ DATAの復元 ■
cp -Rp /home/BACKUP/home/xxx /home/xxx
-R は以下のディレクトリーも総て
-p はファイル属性もそのままコピー
■ ユーザーの復元 ■
下記4つのファイルをCOPYする。
passwd
passwd-
group
group-
ユーザーのメールキューをCopyする
■ BIND ■
デフォルトでは、BINDが自動起動に設定されていない。自動起動できるように設定する。
# ln -s /etc/rc.d/init.d/named /etc/rc.d/rc2.d/s45named
/var/named
にある zone ファイルの serial の数値を大きいものにする。こうしないと、読み込んでくれない。
■ Apache ■
Apacheは2.0が採用されていたが、今まで使っていたのが1.3であったため、httpdの場所も、http.confも異なっていた。早く直すためにApache1.3を元にあったディレクトリーにCOPYして使った。その際、LOGも前の場所にCOPYして格納しておいた。
■ Sendmail ■
aliases を変更 元のをcopy して、 newaliases コマンドを掛ける
accessファイルを書き換えて、suzume.com を追加する
local-host-names を書き換えて、suzume.comを追加するその他のバーチャルドメインも追加する。
デフォルトのままでは、外部からメールを受け取ることができません。下記の変更が必要です。
1) smmspと言うユーザと、同じ名前のsmmspと言うGroupを作成する。
2) /var/spool/clientmqueue /etc/aliases.db と /etc/mail/access.db の owner
/ group を smmsp にする。
3) sendmail.mcをEDITして、
(現行)DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
(変更)dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
(追加)define(`confCW_FILE', `-o /etc/mail/local-host-names')dnl
(追加)MASQUERADE_AS(`suzume.com')dnl
(追加)FEATURE(masquerade_envelope)dnl
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
でsendmail.cf を作る
sendmail の再起動
# /etc/rc.d/init.d/sendmail restart
■ FML ■
FMLがsendmailを使うので、下記の対策が必要です。
usr/local/fml に site_init.phファイルを作成し下記を入れる。
push(@INC, "/usr/local/fml"); push(@LIBDIR,"/usr/local/fml/module");
push(@LIBDIR,"/usr/local/fml/module/CPAN"); push(@LIBDIR,"/usr/local/fml/module/Japanese");
push(@LIBDIR,"/usr/local/fml/module/fml-devel"); 1;
そして
/etc/smrsh
にシンボリックリンクを4つ作る。
# ln -s /usr/local/fml/fml.pl /etc/smrsh
# ln -s /usr/local/fml/default_config.ph /etc/smrsh
# ln -s /usr/local/fml/libloadconfig.pl /etc/smrsh
# ln _s /usr/local/fml/site_init.ph /etc/smrsh
|