5年ぶりにWEBサーバを構築する(備志録)

レガシーなasp/SQLServer2000/Windows2000構成のイントラ内WEBサーバをasp/SQLServer2005/Windows2003に移植することになった。移植先サーバは4台。メンバーは私と私と私と私。一人かよっ!ちなみに元々のこのWEBサーバ構築には一切携わっていない。なぜ私がやることになったのかと言えば、asp/jsファイルの修正とSQLServer内のテーブルフォーマット修正を依頼され、ちょくちょくやっていたから。
さて、前担当者(非開発部署)が突貫工事で構築したこのWEBサーバだが、さすがに移植性は完全に無視されていた。aspファイルに散見される場当たり的な即値の嵐。とりあえずの応急処置として、各aspファイルに重複して記載されているファイルアップロード先ディレクトリやデータベース名称などの即値を、global.asaに移植することにした。
修正後まずはWindows2003サーバをセットアップする。まずは素でインストールし、SP2を充て、IISASP付きでインストール。asp/html/asa/js等(以下、WEBコンテンツ)のファイル置き場のディレクトリを作成する。
次にSQLServer2005をインストールしSP2を充てる。DBファイル置き場を作成し、DTSを使用して旧SQLServerからデータベースをインポートする。
その後、旧WEBサーバからWEBコンテンツファイルを引っこ抜き、新サーバへコピーする。IISの設定を行い、コピーしたファイルにhttpアクセスできることを確認する。
旧WEBサーバとSQLServerODBC接続を行っていたので、新サーバでもODBC接続設定を行う。データベース接続が必要となるaspファイルにhttp接続を行って、正しくアクセス出来ることを確認した。
最後にウィルス対策ソフトをインストールし、WindowsUpdateを行う。更にOSの状態バックアップとSQLserverのメンテナンスプランを作成。
終了後、テストしてみると、参照系は正しく動作するが、登録系が正しく動作しないことが判明。デバッガを仕込んだところ、デーブル上のidentityであるべき列がidentityになっていない事が判明した。DTSでは引き継がれないんだろうか?更にaspファイル上のデータINSERT方法が正確な記述でないため、IIS5とSQLServer2000では許されていたが、IIS6とSQLServer2005では許されないことが判明した。またIIS6ではデフォルトのファイルアップロードサイズの制限値が200KBであったため、100MBに増加させた。
1台目のセットアップは以上の手順で行ったが、果てしなくめんどくさい。とりあえず正しく動作する環境が作れたので、このサーバからDBファイルとWEBコンテンツのファイルを引っこ抜いて、「新サーバへのディレクトリ作成およびファイルコピー」および「SP適用」のバッチを作成した。このバッチのテストも兼ねて残り3台のセットアップを行い、ついでに手順書を作成する。
ココまで書いてきて思ったんだが、イントラだから結構いい加減に出来るけど、これがインターネット公開だったら考慮すべき項目が膨大になる。特にセキュリティ方面。今回構築したWebサーバなんてインターネット公開したら一瞬で終了だろう。Webサービスを立ち上げるのってハードルが高いな。