2008.03.19

Windows Server 2003(IIS 6.0)にWebアプリケーションを配備するときの確認事項

Windows Server 2003(IIS 6.0)にWebアプリケーションを配備するときの確認事項について
まとめてみました。
※多くの部分は以前のバージョンでも当てはまると思います。

1.IIS(Internet Information Service)がインストールされているか
IISがインストールされているか確認します。(IIS6.0は標準ではインストールされません)
されていなかったら[コントロールパネル]の[プログラムの追加と削除]からインストールします。


2..NET Frameworkがインストールされているか
適切なバージョンがインストールされているか確認します。
されていなかったらWindows Updateなどからダウンロードしてインストールします。


3.ASP.NETとIISのマッピングが正常に行われているか
IIS → .NET Frameworkの順にインストールしていれば正しくマッピングされますが、
そうでない場合はマッピングが正常に行われません。
その場合、「コマンドプロンプト」や「ファイル名を指定して実行」から
以下のコマンドを実行する必要があります。

> "%windir%\Microsoft.NET\Framework\[version]\aspnet_regiis.exe" -i

※%windir% … Windowsシステムディレクトリ
 [version] … .NET Frameworkのバージョン


4.仮想ディレクトリを作成しているか
エクスプローラのフォルダプロパティからWeb共有するか、
IISから仮想ディレクトリを作成してください。


5.Webサイトに正しいASP.NETのバージョンを設定しているか
IISのWebサイト(Webアプリケーション)のプロパティを開いて、[ASP.NET]タブを選択します。
「ASP.NET バージョン」のリストボックスで、正しいバージョンを設定しているか確認します。
ASP.NET1.1のアプリケーションなのにASP.NET2.0が設定されていたりすると
正しく動作しませんので注意してください。


6.アプリケーションプールは正しく設定されているか
ASP.NET1.1とASP.NET2.0のWebアプリケーションが配備されている場合、
それぞれ別々のアプリケーションプールを割り当てる必要があります。

初期状態ではDefaultAppPoolのアプリケーションプールがありますので、
それとは別のアプリケーションプール(仮にAppPool2とします)を新規に作成してください。
その後、ASP.NET1.1かASP.NET2.0のWebアプリケーションを、AppPool2に設定します。

異なるバージョンのWebアプリケーションが配備されていると、
よく陥りがちな箇所だと思います。


7.Webサービス拡張の各機能は許可されているか
IISのWebサービス拡張を開くと、機能の一覧と許可・不許可の状態が表示されます。
ASP.NET1.1ならば「ASP.NET v1.1.4322」が許可されていることを確認します。
ASP.NET2.0ならば「ASP.NET v2.0.50727」が許可されていることを確認します。
「禁止」の状態になっているならば「許可」にしてください。


8.匿名アクセスを有効にしているか
ローカル以外のマシンからWebアプリケーショにアクセスする場合、
匿名アクセスを有効にする必要があります。
IISのWebサイト(Webアプリケーション)のプロパティを開いて、
[ディレクトリセキュリティ]タブを選択します。
「認証とアクセス制御」欄にある編集ボタンを押します。
「匿名アクセスを有効にする」のチェックボックスにチェックを入れて編集内容を適用します。
これで匿名アクセスが有効になります。


9.適切なアクセス権限を設定しているか
ログやPDF、CSVなどのリソースを格納するフォルダがある場合、
適切なアクセス権限を設定する必要があります。
フォルダのプロパティを開いて、[セキュリティ]タブを選択します。
IIS5.0ならばASPNET(IUSR_[コンピュータ名])、IIS6.0ならばNetwork Serviceの
ユーザに対して正しくアクセス権限が設定されているか確認します。


以上のような内容を確認すれば、大抵は問題なくWebアプリケーションが配備できると思います。

コメント (2)

山岡様

申し訳ありません。

9番の”IIS6.0ならばNetwork Serviceの
ユーザに対して正しくアクセス権限が設定されているか確認します。”のくだりなのですが、”Network Serviceの
ユーザ”というのは、具体的にどのユーザ名を指すのでしょうか?ご教示願いないでしょか?

よろしくお願いいたします。

山口

「NETWORK SERVICE」というユーザ名のことです。
「ビルトイン セキュリティ プリンシパル」と呼ばれる、
既定で存在するアカウントです。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
yamaoka