2013年3月16日土曜日

全く仕様の分からないWebアプリの緊急保守をするとき

野戦状態でWebサービスを保守する必要が出てきたりする。そういうときのコツ。

1.少なくとも、ドメインは分かっているはず。
ドメインが分かっていたら、IPアドレスが分かる。IPアドレスが分かれば、どのマシンで動いているかが分かる。

2.Webサーバまでたどり着いたら、ドキュメントルートを探す
Webサーバのconfを見つける。大概は、/etc/httpd/conf の下にある。confはInludeできるので、丹念に、Includeされているconfを探し出す。confの中にはドキュメントルートが定義されているので、そこでアプリのソースが保存されている実体のありかが分かる。

3.アプリをみたら次はDBのありか
「DB」とか「connect」とかのキーワードを頼りに、データベースサーバのありかを見つける。IPアドレスとユーザIDとパスワードがそこにあるはずなので、それを手がかりにデータベースまでたどり着く。

4.最後はちょこっと触って、アプリ保守を一周させる
例えば、画面をちょっと修正しないといけない場合には、画面に書かれている文言をちょっと修正する。句読点をつけるとか。それを直して、実際にアクセスして反映できるかどうかをみて、「今僕は本物のアプリを触れているよお母さん」ということになる。開発→ステージング→本番とリリースの手順はあるだろうが、それでも、「小さく触って本番でリリース出来る流れ」は一周しておく。

アプリのソースとデータベースまでたどり着けたらあとは、そこに「書かれている」ことが全て。ここからスタートしよう。

一番見つけにくいのは、cron。どのサーバのどのユーザで動いているのかがわかりにくい。てことでcronはできたら使わない方がいい。中間ファイルの削除とかなら、アプリのトリガーで古いファイルを削除するロジックをいれていただきたい。

0 件のコメント:

コメントを投稿