インターネット Web サーバー 構 築 ガイドライン ドラフト 版 ~ 第 2 章 : IIS の 動 作 を 見 てみよう 本 ガドランは 各 章 の 先 行 ドラフト 版 公 開 を 行 い 全 章 の 公 開 後 正 式 版 文 書 としてまとめを 行 い 再 度 公 開 します 第 1 版 2010/04 マクロソフト 株 式 会 社 免 責 事 項 : このドキュメントの 内 容 は 情 報 提 供 のみを 目 的 としており 明 示 または 黙 示 に 関 わらず これらの 情 報 についてマ クロソフトはいかなる 責 任 も 負 わないものとします このドキュメントに 記 載 されている 情 報 (URL 等 のンターネット Web サトに 関 する 情 報 を 含 む) は 将 来 予 告 なしに 変 更 することがあります お 客 様 がこのドキュメントを 運 用 した 結 果 の 影 響 については お 客 様 が 負 うものとします 別 途 記 載 されていない 場 合 このドキュメントで 例 として 挙 げられている 企 業 組 織 製 品 ドメン 名 電 子 メール ゕドレス ロゴ 人 物 地 名 およびベントは 架 空 のものです それらが いずれ かの 実 際 の 企 業 組 織 製 品 ドメン 名 電 子 メール ゕドレス ロゴ 人 物 地 名 あるいはベントを 指 していることは なく そのように 解 釈 されるべきではありません お 客 様 ご 自 身 の 責 任 において 適 用 されるすべての 著 作 権 関 連 法 規 に 従 っ たご 使 用 を 願 います
第 2 章 IIS の 動 作 を 見 てみよう この 章 ではンストールされた IIS Web サーバーの 動 作 を 色 々な 観 点 から 見 てみましょう IIS にアクセスする 序 章 で 簡 単 に 説 明 しましたが あらためて Web サーバーにゕクセスするということを 考 えてみる ことにしましょう 利 用 者 の 操 作 は 要 約 するとブラウザーで 特 定 のゕドレスを 入 力 して 実 行 すると いうことでした この 入 力 するゕドレスについてブラウザーを 使 用 したインターネットアクセスとロ ーカルネットワークにおけるファイル 共 有 の 違 いを 少 し 最 初 に 考 えておきましょう ここを 掴 んでお くと 後 で 色 々な 観 点 で 混 乱 しないで 済 みます インターネットアクセスとファイル 共 有 マクロソフトは 1995 年 くらいからンターネットを 意 識 した 製 品 を 多 く 出 荷 しており その 始 まりは Windows 95 だったと 言 えるでしょう さて Windows のこれ 以 降 の 利 用 方 法 をじっくり 考 えてみると 普 通 はンターネットにゕクセスする 用 途 以 外 にフゔルのやりとりを 操 作 するパソ コンがある 同 じフロゕにあるローカルのネットワーク 環 境 で 行 うことの 頻 度 が 多 かったと 言 えますし 今 でも 多 いのではないでしょうか 今 は USB メモリー SD メモリーなどがとても 便 利 に 使 えますし ハードデゖスクも 量 販 店 に 行 くと 色 々な 種 類 を 売 っています ハードデゖスクが 接 続 できるテレビなども 登 場 しているような 状 況 です そういう 機 器 を 経 由 してフゔルのやりとりを 行 っているかもしれません しかし ネットワ ークが 利 用 できる 環 境 では 通 常 フゔルをネットワーク 経 由 でゕクセスしたり コピーしたり 文 書 を 印 刷 したりします ブロードバンドが 流 行 してきたので 家 庭 でもネットワーク 環 境 をお 持 ちの 方 が 多 いですが 同 様 に Windows 95 以 降 企 業 や 組 織 の 中 でネットワークを 敷 設 することが 次 第 に 普 及 をしており オフゖスや 学 校 ではネットワーク 経 由 で 色 々なことができるようになっているはずです 最 近 はンターネット 経 由 でフゔルを 共 有 する 色 々な 方 法 も 出 てきていますが それはここでは 想 定 外 としましょう さて こういうネットワーク 経 由 でのフゔルやりとりにンターネットにゕクセスする 時 に 使 う http://www.example.com/ のようなゕドレスを 入 力 しているでしょうか? 入 力 していないと 思 います これは 何 でなんでしょうか 実 は Web サーバーに 関 係 する 様 々な 知 識 の 中 でとても 大 切 な のがこの 点 なのです Windows は 表 面 上 の 操 作 をグラフゖカルに 表 示 して 直 感 的 に 色 々なことができるようになってい ますが 実 はその 裏 で 行 っていることはかなり 複 雑 なことが 多 いのです 序 章 で 解 説 したように 1
ンターネットに 接 続 する 際 は http という 手 順 で 通 信 を 行 っています フゔルの 共 有 を 行 う 際 には 実 は 違 う 通 信 の 手 順 を 行 っているわけです 序 章 で 使 用 した 例 で 比 喩 すると 日 本 語 ではなく 今 度 は フランス 語 で 話 しているようなものです Windows を 使 ったネットワークでは \\サーバー 名 \ 共 有 名 という 形 で ピリオドの 入 らない 短 いサーバー 名 および 共 有 名 を 使 ってフゔル 共 有 という 作 業 を 行 っています Windows のネットワークの 考 え 方 はローカルで 使 うフゔル 共 有 のような 使 い 方 の 歴 史 があり Windows OS をセットゕップする 時 もマシン 名 ( 例 : server)にンターネットでいうドメンが 付 属 するような 形 ( 例 : server.example.com)では 表 現 してこなかったのです しかし Windows 2000 からこの Windows ネットワークで 使 われてきた 考 え 方 がンターネット 側 の 考 え 方 に 合 わ せることができるようにしました 通 信 を 行 う 際 に 序 章 でゕドレスと IP ゕドレスの 関 係 DNS の 説 明 がありました 今 までローカル のネットワークでこの 変 換 はどのように 行 われてきたかというと server に 対 して 192.168.7.7 が IP ゕドレスであるというような 形 で 変 換 が 行 われたわけです ここでちょっとドメインという 用 語 について 脇 道 にそれてみましょう Windows の OS を 使 って いる 時 ドメインとかワークグループという 表 現 を 聞 くあるいは 画 面 で 見 たことがあると 思 います 図 :コンピューター/ドメン 名 の 変 更 画 面 正 直 ここにドメンという 用 語 が 登 場 するのが 混 乱 すると 思 います ンターネットのドメンと どう 違 うの?という 点 です こちらはフゔル 共 有 あるいはマシンやユーザーを 管 理 する 単 位 として Windows NT のディレクトリ( 電 話 帳 のようなもの)およびその 発 展 系 である Active Directory と いう Windows の 世 界 での 概 念 で 使 う 用 語 です ワークグループというのは 特 に 集 中 管 理 していないコンピューターの 設 定 で ドメインに 参 加 して いるコンピューターは Active Directory と 呼 ばれる Windows 2000 で 登 場 した 仕 組 みの 管 理 下 にあるものを 指 しています 組 織 の 中 やデータセンター(コンピューターが 多 く 配 置 されているとこ ろ)ではこの Active Directory が 力 を 発 揮 してサーバー 管 理 者 を 助 けてくれます でもこれらはあ 2
くまでもローカルネットワーク 上 でコンピューターを 管 理 するところから 発 展 してきた 概 念 で ン ターネットの 流 れではないのです だから 混 乱 する 人 が 結 構 いらっしゃるのはそういうわけでしょう Windows NT までの 通 信 手 順 ではドメンとは example.com のような 体 形 ではなく EXAMPLE という 体 系 でした これは 今 の Windows では NetBIOS 名 という 風 に 呼 ぶことがあり ます 要 は 以 前 の Windows ネットワークでのドメン 名 ではという 意 味 だと 思 ってください 図 :Active Directory のンストール 途 中 の 確 認 画 面 Active Directory の 世 界 ではローカルネットワークにおいても DNS を 使 用 したゕドレス 変 換 ( 名 前 解 決 とよく 言 います)を 行 うようになり ドメン 名 の 体 系 もンターネットと 同 様 のものが 使 え るようになったのです ですからンターネットに 直 結 しているネットワークにある 今 の Windows マシンでは server.example.com の 体 系 のマシンとして 設 定 することができますし 社 内 のドメ ン 管 理 も xxx.example.com の 体 系 で 管 理 することが 普 通 になりました マクロソフト 社 内 のコンピューターもこの 考 えのもと xxx.yyy.microsoft.com のような 体 系 で ドメンを 作 ってそこに 所 属 するコンピューターで 今 このガドランも 書 いています そしてン ターネットに 接 続 しているネットワークにあるコンピューターでは www.microsoft.com をホスト しているコンピューター 群 がありますからンターネットの 発 展 とともに 培 われた 技 術 を 現 在 の Windows ではより 明 確 に 実 装 できるのです フゔルを 共 有 する 時 \\server\share とかにゕクセスしていることと ンターネットのホー ムページにゕクセスする 際 の http://server.example.com/app などとの 違 いがこれで 整 理 できま した ローカルホスト(localhost)へアクセスしてみよう 通 信 の 手 順 という 意 味 では 特 殊 な 意 味 を 持 つコンピューター 名 があります それが localhost です Localhost というコンピューター 名 は 127.0.0.1 というゕドレスに 解 決 されるのがルールです こ れはつまり 擬 人 的 に 言 えば 自 分 という 意 味 です 3
第 一 章 でも 確 認 のためにやったように http://localhost という 風 にブラウザーで 入 力 して 実 行 し てみましょう これは 自 分 のコンピューター 上 の Web サーバーにゕクセスするというのが 一 番 単 純 な 解 釈 です 以 下 の 画 面 が 表 示 されます 同 様 に http://127.0.0.1 と 打 って 実 行 してみましょ う 同 じ 結 果 になるはずです 図 :IIS の 既 定 の Web ページ この 動 作 をちゃんと 考 えてみましょう http://localhost ではどの Web サーバーにゕクセスした いかは 指 定 していますが 序 章 で 説 明 した 原 理 からすると 多 くの 情 報 が 不 足 しています まず 通 信 を 行 う 際 Web サーバー 名 とともに 実 はポートと 呼 ばれる 番 号 を 伴 ってゕドレスは 構 成 されるのが 普 通 です 実 際 には http://localhost:80 という 書 き 方 もでき 前 の 例 では :80 を 省 略 していたということになります Web サーバーへの 通 信 では 80 番 を 使 用 するのが 省 略 する 場 合 の お 作 法 なのでそういうことになります 次 に Web サーバーの 中 にあるどのページにゕクセスするのかという 指 定 もありません これも 省 略 されているわけですが Web サーバーがホストするページがあるルートに (root: 根 本 ここ では 管 理 する 一 番 上 の 階 層 のフォルダーの 意 味 ) ゕクセスしにいっています そして さらにページ の 名 前 としてはインデックスファイルと 通 常 呼 ばれるページの 考 え 方 があります これはゕドレスで ページが 指 定 されなかった 時 に Web サーバーが 特 定 の 名 前 のフゔルを 探 すように 動 作 するもの で index.html default.htm default.aspx などがこれにあたります 実 は IIS 7.5 では iisstart.htm というフゔルもこの 位 置 づけのフゔル 名 に 指 定 されています 既 定 の 手 順 で IIS をンストールした 後 はルートとはどこを 指 しているかというと 実 は c:\inetpub\wwwroot という Windows 上 のフォルダーを 指 しています ここをエクスプローラー で 見 てみましょう 4
図 :c:\inetpub\wwwroot フォルダーの 中 身 つまり http://localhost はこの 場 合 http://localhost:80/iisstart.htm にゕクセスをしており iisstart.htm 内 の <img src="welcome.png" alt="iis7" width="571" height="411" /> という 記 述 により 同 じフォルダー 内 にある welcome.png という 画 像 をページ 内 に 表 示 しているわけです 管 理 ツールで 設 定 を 見 てみよう 今 まではブラウザーで Web サーバーにゕクセスしてみることをやってきました ここではサーバ ー 管 理 者 が 利 用 する GUI ツール IIS マネージャーを 使 ってみましょう どの OS のバージョンでも 簡 単 に 起 動 する 方 法 でやってみます スタートメニューから inetmgr と 入 力 して Enter キーで 実 行 してみましょう Windows Vista 以 降 では [フゔル 名 を 指 定 して 実 行 ] は 既 定 では IIS マネージャーが 起 動 するはずです メニューから 実 行 する 場 合 に クラゕント OS の 場 合 は 既 定 で [ 管 理 ツール] は 表 示 されていないので [コントロールパネル] から [ 管 理 ツー ル] を 開 き メニュー 内 から [ンターネットンフォメーションサービス (IIS) マネージャー] を 開 きます 図 : IIS の GUI 管 理 ツール IIS マネージャー (Windows 7 全 機 能 ンストール 時 ) 5
今 までの IIS を 触 ったことのある 方 は 最 初 この 画 面 構 成 に 戸 惑 う 方 が 結 構 いらっしゃいます どう しても 前 の 画 面 構 成 に 近 い 方 がいい 方 は 画 面 下 のコンテンツビューを 出 してみましょう 以 前 の IIS マネージャーに 近 い 表 示 になります Windows 7 などクラゕント OS に 付 属 している IIS マネージャーは 同 マシンのみを 管 理 でき るものになっており サーバー OS に 含 まれているものは 他 のマシンの 管 理 を 行 うのにも 使 用 できま す ただ Windows Server 2008 R2 をクラゕント OS から 管 理 したい 要 件 をカバーするリモー トサーバー 管 理 ツール (RSAT) があるように Windows 7 / Windows Vista / Windows XP / Windows Server 2003 用 の 独 立 した IIS マネージャーが 拡 張 機 能 としてダウンロード 可 能 です IIS Manager for Remote Administration http://technet.microsoft.com/ja-jp/iis/ee839447.aspx なぜ IIS マネージャーのデザインを 変 更 したか IIS はバージョン 6 までの 間 に 多 くのンターネット 標 準 を 取 り 入 れ 新 機 能 をどんどん 追 加 して いった 結 果 各 ゕテムのプロパテゖ 画 面 内 の 項 目 が 非 常 に 多 くなりました 結 果 とても 多 機 能 な Web サーバーになった 反 面 管 理 する 際 には 管 理 すべき 項 目 が 多 いという 状 況 が 表 面 化 してきまし た IIS 開 発 チームは 根 本 に 返 って ある 操 作 に 必 要 なゕクションの 数 に 注 目 し より 多 くの 管 理 項 目 を 柔 軟 に 操 作 でき 今 後 のさらなる 拡 大 も 見 据 えた 上 で 多 くのゕコンで 構 成 されている IIS 7 用 の 新 しい IIS マネージャーを 開 発 しました こうして Apache など 他 の Web サーバーのコマンド シェル 操 作 に 慣 れている 人 には Appcmd.exe や Windows PowerShell 用 の IIS 管 理 コマンドレット 群 など 多 くのシェルやコマン ドベースのンタフェースを 初 めての 方 や IIS に 慣 れた 人 にはこのように 新 しい GUI を 提 供 する ことになったのです IIS 6 までを 操 作 したことのある 方 は 最 初 戸 惑 うと 思 いますが 使 っているう ちに 各 機 能 の 配 置 の 巧 妙 さが 次 第 に 体 感 できるものになっています 6
IIS を 構 成 するものは 何? IIS を 初 めて 触 る 人 が 突 き 当 たる 壁 が いわゆるエクスプローラーで 見 る C ドラブの 階 層 構 造 と IIS で 管 理 する 単 位 が 異 なることによる 戸 惑 いです そこをまずはクリゕにしておくと 以 降 が 読 み 進 みやすくなるので IIS を 使 う 上 で 押 さえておきたい 概 念 をここで 整 理 しておきます サーバー これはいうまでもなく IIS が 動 作 しているサーバー 全 体 を 指 しますのでこれはメージしやすく 簡 単 ですから 説 明 は 不 要 でしょう Web サイト 一 般 的 には Web サト という 言 葉 は Web ページそのもののメージを 持 つ 人 もいるでしょ う IIS でいうサトという 概 念 は http://www.example.com:80/app1/index.html というゕド レス 内 の www.example.com:80 というサーバーの 指 定 とポート 番 号 までを 司 る 単 位 を 指 します したがって ポートを 変 更 することはサトの 設 定 で 行 うことになります 仮 想 ディレクトリ IIS の 階 層 概 念 とその 背 後 にあるフゔルシステムは 別 に 管 理 されます 仮 想 デゖレクトリがそれ を 実 現 する 機 能 概 念 で IIS の 既 定 のルートデゖレクトリは c:\inetpub\wwwroot というフォル ダーになるので 同 じだとすると 全 コンテンツがこのフォルダー 配 下 に 置 かれると 想 像 すると 思 います 仮 想 デゖレクトリを 使 用 すると 例 えば d:\app に 実 体 があるものを IIS のルートの 下 に 配 置 するこ とができます http 通 信 で 接 続 する 際 には http://localhost/app/index.htm というような 設 定 に することができ このゕクセスの 場 合 には d:\app\index.htm が 表 示 されることになります 以 上 が URL (あるいはゕドレス) ポート IIS のフォルダーとの 関 係 の 階 層 概 念 を 表 すところで す これで 終 わりではなくもう 少 しあります アプリケーション プール 実 際 に Web サーバー 上 でゕプリケーションが 実 行 される 時 たとえば Excel のフゔルをダブ ルクリックするのとは 違 って 実 体 の 場 所 がわかるだけでは 不 十 分 でどこで 実 行 されるかも 大 事 な 要 素 です Xxx.xls をダブルクリックすると Excel.exe という Excel のプログラムがプロセスとして Windows 上 では 動 くのです 何 か 動 作 がおかしくなった 時 タスクマネージャーを 開 いてみたこと があると 思 いますが そこのプロセスというところを 見 ると 実 行 されているプロセス 一 覧 が 得 られま す 7
図 :タスクマネージャーでプロセス 一 覧 を 見 る IIS ではゕプリケーションの 実 行 がこのようにゕプリケーション 毎 に xxx.exe というプロセスが 実 行 される 仕 組 みではなく 多 くのユーザーがゕクセスすることを 意 識 して まとめて IIS が 管 理 す る 複 数 の 同 じ 名 前 のプロセス 上 でゕプリケーションが 実 行 されるのです 現 在 の IIS では w3wp.exe という 名 前 のプロセスは IIS で 管 理 されているゕプリケーションが 実 行 されるプロセスです IIS 5 では dllhost.exe というプロセス 名 を 使 っていました まとめて 実 行 するのですからどのゕプリケーションがどの w3wp.exe で 動 作 して 欲 しいか どの ゕプリケーションとどのゕプリケーションは 一 緒 にグルーピングするかなどの 概 念 がここで 発 生 しま す ここを 制 御 できるようにするためにアプリケーションプールという 概 念 ができました 最 も 簡 単 な 設 定 ではゕプリケーションプールと w3wp.exe は 1 対 1 になります ですから 例 えばゕプリ ケーションプールが 6 つ 設 定 されている Web サーバーでは 最 大 6 つの w3wp.exe がタスク マネージャーに 出 てくる 可 能 性 があるということになります 実 際 には 1 対 n にできる 柔 軟 性 もも っているのでもう 少 し 複 雑 ですが ここではそういうものだと 思 えばいいです ゕプリケーションプールの 概 念 は 単 に Web サーバーを 立 ててページの 編 集 作 業 をする 人 やゕプ リケーションを 動 作 させる 人 にとっては 難 しく 感 じるところでしょう しかし 一 台 の 中 で 実 際 に 多 くのゕプリケーションを 動 作 させる 上 で 他 のゕプリケーションの 干 渉 を 防 いだり 問 題 が 起 きる 確 率 の 高 いゕプリケーションを 隔 離 したりできるので 実 際 に 運 用 して 常 時 稼 働 させる Web サーバー では 必 要 な 概 念 となっています アプリケーション 文 字 通 り 受 け 取 ると Web 技 術 を 使 用 したあるゕプリケーションを 指 している 用 語 です しかし IIS でのゕプリケーションという 概 念 は 少 し 異 なります ゕプリケーションでも 仮 想 デゖレクトリと 8
同様に実際の配置場所を指定しますので少し特殊な仮想デゖレクトリという説明がいいと思います ただし ゕプリケーションの設定ではどのゕプリケーションプールで実行するかを指定する項目があ るので実際にどの w3wp.exe で実行させたいかはこのゕプリケーションという単位で指定すること になります 図 IIS を構成するいくつかの概念 以降で登場する IIS 固有の概念をここで押さえましたが 適宜 以降の章でも同様の補足を入れて いきますので必要に応じてこの項をまた見ていただくようにしてください インストール後 あるいは サイト作成後に何も作らなかったのに 実は多くの人が不思議に思われるところが一つあります IIS の ンストールが終わるといきなり http://localhost と打って実行を確かめました 今まで書いたことが本当ならゕプリケーションを実 行するには ゕプリケーションプールを作って ゕプリケーションを指定する必要があるはずですが 何もしてないのに動きます これはいくつかの設定が既定で行われるからです a. IIS は自動起動で設定されて ンストールされる そもそも Web サーバーの ンストール直後 IIS を起動するという操作をしていません こ れは IIS が Windows のサービスとして ンストールされ 自動起動するからです IIS に関 連するサービスはいくつかあります 少なくとも IIS Admin Service (自動) Windows Process Activation Service (手動) World Wide Web Publishing Service (自動) が起動し ていないと HTML のページを表示できませんがこれらは起動されます 9
図 管理ツール - サービス を起動した画面 b. 既定のゕプリケーションプール IIS 7 では DefaultAppPool というゕプリケーションプールが少なくとも ンストール時に作 成されます ンストールした構成物によっては Classic.NET AppPool というものもできて います c. 既定のサ ト IIS 7 では Default Web Site というサ トがポート 80 番指定で ンストール時に作成され ます d. 既定のゕプリケーション サ トを作成すると サ ト名と同じ名前のゕプリケーションが作成されます IIS マネージ ャーの階層上はわかりにくくなるために敢えて表示していないのです さらにこのゕプリケー ションは DefaultAppPool に紐づいた形で作成されています 上記の a, b, c, d が行われているので IIS の ンストール直後にどんな構成で ンストールしよ うと最も単純な HTML フゔ ルや画像でできたページは少なくとも表示できるのです ASP.NET, ASP, PHP などのプログラムで動作するページは IIS の既定 ンストールだけでなく それらの実行 環境の ンストールが必要になります ここの詳細は 第 6 章 で取り上げることになります 設定ファイルを見てみよう(applicationHost.config) Web サーバーは動作する上で色々な環境設定が存在します IIS で言えば どんなゕプリケーショ ンプールがあるのか どんなサ トがあるのか 何が ンストールされているか などなど多岐にわた ります それらは IIS マネージャーを使って設定することには触れましたが 設定の実体というか どこに情報が保管されているかはまだ解説していませんのでここで整理します 10
今 までの IIS ではメタベースと 呼 ばれるサーバー 全 体 で 一 つのファイルが 設 定 情 報 を 保 存 する 実 体 になっており そのフゔル 内 の 構 成 物 もかなり 複 雑 になっていました 具 体 的 に 言 えば c:\windows\system32\inetsrv\metabase.xml というのが IIS 6 でのフゔル 名 です さらにメ タベースにはそのマシン 固 有 の 情 報 が 入 っており 2 台 以 上 のサーバーを 展 開 するようなケースで 構 成 をコピーするのは 単 純 なフゔルコピーでは 難 しい 仕 組 みでした IIS 7 ではここが 変 更 になっており IIS の 環 境 設 定 を 複 数 の xml 形 式 ファイルの 組 合 せで 実 現 しています サーバー 全 体 の 設 定 を 持 つものが applicationhost.config で c:\windows\system32\inetsrv\config にあり サト 単 位 やゕプリケーション 単 位 の 設 定 を 保 持 するものが web.config です Web.config は 各 サトやゕプリケーションのフォルダーに 置 かれ ますから 複 数 存 在 します Apache を 知 っておられる 方 であれば httpd.conf,.htaccess といった 同 じような 構 成 の 設 定 フゔ ルが 存 在 すると 思 いますのでそれと 似 ていると 思 えばいいでしょう ただ 同 じではないので 設 定 内 容 の 理 解 が 必 要 です 詳 細 を 勉 強 したいと 思 っている 方 にはいくつかの Web ページで 解 説 がありますのでそちらを 参 照 ください 設 定 の 詳 細 は 辞 書 のようなリフゔレンスがありますので 覚 えておくといいでしょう XML 構 成 システムを 理 解 する http://technet.microsoft.com/ja-jp/library/dd647606.aspx IIS 7.0 コンフゖギュレーション リフゔレンス http://technet.microsoft.com/ja-jp/library/ee431610.aspx.htaccess フゔルを web.config に 変 換 する 際 の 注 意 事 項 http://technet.microsoft.com/ja-jp/library/dd647603.aspx IIS を 開 始 停 止 再 起 動 するには IIS のンストール 直 後 は 前 述 のように IIS は 自 動 で 起 動 してきたので 意 識 していませんでした が 実 際 に 起 動 や 停 止 をしたい 場 合 の 操 作 方 法 をここで 解 説 しましょう 原 理 的 には IIS は Windows のサービスとして 動 作 していますので 方 法 は 何 通 りもありますので 自 分 にとって 便 利 な 方 法 を 覚 えておくといいでしょう また IIS の 階 層 上 サーバー ゕプリケーションプール サトの それぞれのレベルで 開 始 停 止 再 起 動 ができますのでそれも 覚 えておくといいでしょう 初 めての 方 は a の 方 法 だけ 覚 えておけば 十 分 です 11
a. IIS マネージャーを 使 用 する 一 番 上 のサーバー 名 をクリックして 選 択 します 右 の 操 作 ウゖンドウの サーバーの 管 理 のところで 操 作 できます 図 :IIS マネージャーでの 操 作 図 ではサーバー 全 体 の 操 作 ですが 左 でゕプリケーションプールやサトを 選 択 すると 同 様 に 操 作 ウゖンドウにて 開 始 停 止 再 起 動 が 可 能 です b. サーバーマネージャーを 使 用 する 図 :サーバーマネージャー IIS の 役 割 での 操 作 c. 管 理 ツールのサービスを 使 用 する [コントロールパネル] [ 管 理 ツール] を 開 く(サーバー OS はスタートメニューからでも 可 能 ) 12
[サービス] をダブルクリックして 実 行 します 図 :Windows サービスの 実 行 一 覧 該 当 サービスを 選 択 し 右 クリックで 開 始 停 止 再 起 動 を 実 行 します d. iisreset コマンドを 使 用 する iisreset /start (サーバー 全 体 の 開 始 ) iisreset /stop (サーバー 全 体 の 停 止 ) iisreset /restart (サーバー 全 体 の 再 起 動 指 定 しなかった 場 合 の 既 定 ) e. Net コマンドを 利 用 する net stop was (was は Windows Process Activation Service の 省 略 形 ) 表 示 された 確 認 で Y を 入 力 する net stop w3svc (w3svc は World Wide Web Publishing Service の 省 略 形 ) net start w3svc ( 依 存 する was も 起 動 する) f. Appcmd.exe コマンドを 利 用 する このコマンドは c:\windows\system32\inetsrv にあり サーバー 全 体 ではなく ゕプリケ ーションプールとサトに 対 して 使 用 できます cd c: windows system32 inetsrv (inetsrv フォルダーをカレントに) appcmd start apppool DefaultAppPool (DefaultAppPool の 開 始 ) appcmd stop apppool DefualtAppPool (DefaultAppPool の 停 止 ) appcmd start site Default Web Site (Default Web Site の 開 始 ) appcmd stop site Default Web Site (Default Web Site の 停 止 ) g. Windows PowerShell サービス 操 作 コマンドレットを 使 用 する [スタート]メニュー [ゕクセサリー] [Windows PowerShell] を 開 きます [Windows PowerShell] を 右 クリックして 管 理 者 として 実 行 します 13
Stop-Service w3svc Start-Service w3svc Restart-Service w3svc h. Windows PowerShell IIS コマンドレットを 使 用 する [スタート]メニュー [ゕクセサリー] [Windows PowerShell] を 開 きます [Windows PowerShell] を 右 クリックして 管 理 者 として 実 行 します Import-Module WebAdministration Get-Command *web* (IIS 関 連 コマンドの 一 覧 を 見 ます ) Start-WebSite, Start-WebAppPool, Stop-WebSite, Stop-WebAppPool などを 使 用 します が 詳 細 の 使 用 方 法 は Get-Help Start-WebSite のように Get-Help をご 活 用 ください 表 で 整 理 しておきましょう 方 法 サーバー サイト アプリケーションプール IIS マネージャー ( GUI で 操 作 ) ( GUI で 操 作 ) ( GUI で 操 作 ) サーバーマネージャー ( GUI で 操 作 ) サービスを 個 別 指 定 左 の 構 成 の 下 にサービス があるので 下 行 と 同 じ 左 の 構 成 の 下 にサービス があるので 下 行 と 同 じ サービス ( GUI で 操 作 ) サービスを 個 別 指 定 iisreset コマンド net コマンド iisreset /start iisreset /stop iisreset /restart net start w3svc net stop w3svc 再 起 動 は 上 記 組 合 せ appcmd コマンド appcmd start site appcmd stop site appcmd start apppool appcmd stop apppool PowerShell サービス コマンド Start-Service Stop-Service Restart-Service PowerShell IIS コマンド ( 要 Import-Module ) Start-WebSite Stop-WebSite Start-WebAppPool Stop-WebAppPool 表 : IIS の 開 始 停 止 再 起 動 を 行 う 様 々な 方 法 このように 数 多 くの 管 理 方 法 があるのが 混 乱 しやすいわけですが 逆 に 言 うと 利 用 しやすいものを 選 択 いただければいいので 色 々とお 試 しください 今 後 の 発 展 を 考 えると Windows PowerShell に 慣 れておくと 色 々な 局 面 で 役 に 立 ちますのでオススメです 表 でわかるように サービス 用 のコマン ドと IIS 関 連 のコマンドを 組 み 合 わせることで 全 操 作 が 可 能 です 実 は VBScript でも 可 能 ですがそ れはこの 表 では 省 いてあります 14
アクセスされた足跡の確認 IIS が処理した要求に関してはログに記録が残るようにできます 詳細は 第 9 章 で整理すること になりますが ここでは実際に要求をするとどこにどう残るのかだけ見ておきましょう ログ記録は既定で有効になっています 設定場所は下記の手順で確認できます 1. IIS マネージャーを起動します 2. [ログ記録] をダブルクリックして実行します 図 IIS マネージャーからログ記録の実行 3. 各種設定を確認できます IIS 7 では c:\inetpub\logs\logfiles というフォルダーが既定の IIS ログの保存場所です ログ の種類や記録場所は上記の画面で設定できます 既定ではサ ト毎にフォルダーが作成され その中 に記録される仕組みです 実際にこのフォルダーからログを開いてみましょう 15
図 : IIS のゕクセスログをメモ 帳 で 開 く http://localhost をゕクセスした 後 フォルダーをエクスプローラーで 開 くと サト 毎 になって いるので w3svc1 というフォルダーができており その 中 に 図 のようなメモ 帳 で 開 くことのできる ログのフゔルが 出 力 されています 正 しく 動 作 をしていればこのフゔルに 記 録 が 残 りますので 問 題 が 発 生 した 時 にはこのログをまず 見 ることになります ログ 記 録 を 構 成 する http://technet.microsoft.com/ja-jp/library/cc732079(ws.10).aspx The HTTP status codes in IIS 7.0 http://support.microsoft.com/kb/943891/en-us 16