【仮想】Hyper-V Serverを使ったこんな環境を作りたい(6)
よーし それでは中締め、Step (6) いってみよう!
(06) ゲストOSの設定、Web Platform Installer による環境設定
始める前に
実は過去のインストールマニアックス決勝でみんな躓いていたので書いておきます。
Internet Explorer のあるセキュリティ設定は IE の中からではなく、サーバーマネージャーのトップにあります!
Windows Server 2003 の時はプログラムの追加と削除でしたのでみな戸惑うようです。
参考: https://www.atmarkit.co.jp/fwin2k/win2ktips/1057iesec08/iesec08.html
これが理由で他のブラウザーを選ぶのは。。。キビシイッス。。。
ここまででゲスト OS である Windows Web Server 2008 R2 はインストールできているはずです。
それではここからは何をするか。
a. IIS7.5 のインストール
b. IIS 拡張機能のインストール
c. アプリケーションランタイムのインストール
d. データベースエンジンのインストール
e. アプリケーションのインストール
こんな感じになるのではないかと思います。それではそれぞれ見ていきましょう。
実は一括でやる方法もあるんですが、*本質*を知ってほしいので個別論から書きます。
a. IIS7.5 のインストール
今回は Windows Web Server 2008 R2 の完全インストール上であることを前提に書きます。
となると選択肢は GUI でやるか コマンドでやっつけたいか。
GUI:
サーバーマネージャーを使います。
役割 を左のツリーから選択して、右に表示される 役割の概要 にある 「役割の追加」を実行します。
以降 b, c に関しても サーバーマネージャーの 役割 - 役割サービス の追加 で行うことができます。
コマンド:
さあ こっちはやり方が色々とあります。
Windows PowerShell 用 ServerManager コマンドレット、dism、ServerManagerCmd、Ocsetup、Pkgmgr。
私は汎用的な ServerManager コマンドレットを推奨します。
※後者 3つについては 【IIS7】 [HOW TO] IIS7.0 のインストール方法 参照。
R2 なので、もう Windows PowerShell は標準なので入ってますね。
下記を実行してみましょう。
> Import-Module Get-WindowsFeature
これで今のインストール状況がわかります。もちろん IIS は入っていないですし、Web Server なので Standard や Enterprise に比べると 役割や機能が少ないのもわかると思います。
今度は下記を実行してみましょう。Windows PowerShell の 「xxしたらどうなるんだろう?」機能を使ってみます。
> Add-WindowsFeature Web-Server –logpath .\install.log -whatif
WhatIf: 'WhatIf' モードで実行中かどうかをチェックしています。
WhatIf: 対象 "[Web サーバー (IIS)] 管理ツール" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] Web サーバー" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] セキュリティ" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] 状態と診断" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] IIS 管理コンソール" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] パフォーマンス" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] HTTP 基本機能" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] 静的なコンテンツの圧縮" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] 既定のドキュメント" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] HTTP エラー" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] 静的なコンテンツ" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] 要求の監視" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] HTTP ログ" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] 要求フィルター" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: 対象 "[Web サーバー (IIS)] ディレクトリの参照" に対して操作 "Add-WindowsFeature" を実行しています。
WhatIf: インストールの完了後にこのサーバーの再起動が必要になる可能性があります。
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True Maybe Success {}
何が入るのかこれで一目瞭然ですよね? このように既定では HTML や画像を動かすコンポーネントだけが入ります。
Tips
-IncludeAllSubFeature を使うと指定したアイテム以下もインストールしてくれるので便利です。-I と省略できます。
なので、フルインストールがしたいケースでは Add-WindowsFeature Web-Server –I で済みます。
それでは –Whatif をやめて本当にインストールします。下記を実行します。
> Add-WindowsFeature Web-Server –logpath .\install2.log
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {IIS 管理コンソール, 要求の監視, 静的なコ...
動かしてみましょうか? Internet Explorer を起動して https://localhost を実行しましょう。
IIS7 ロゴのトップページが表示されると思います。
b. IIS 拡張機能のインストール
さて、拡張機能とは https://technet.microsoft.com/ja-jp/iis/dd742256.aspx にあるようなモジュールのことを言います。なお、いくつかは R2 の段階で標準機能になっているので、前出の Get-WindowsFeature でちゃんと確認しましょう。PHP アプリケーション環境を構築する場合には おそらく使うことになるのは URL Rewrite、Windows Cache Extension for PHP、SEO Toolkit なんかになると思いますが、皆さんの用途に合わせて選択してください。
ダウンロードして各々インストールします。拡張機能(Extension)をダウンロードするページの右下の方に行かないと日本語版のダウンロードリンクが無いので注意してください。出荷前のビルドの場合には Japanese が無いので、ご注意ください。
c. アプリケーションランタイムのインストール
さて、ここはかるーく書くことにします。色々とあると思いますので。
- 従来の ASP や ASP.NET
これらは簡単です。Get-WindowsFeature で IIS の階層を眺めてください。アプリケーション開発のところにあります。Add-WindowsFeature Web-Asp とやれば ASP の環境が入ります。
Tips
ASP 、ASP.NET ともに ISAPI で開発された拡張で動作するので同時に ISAPI 機能がインストールされます。
- PHP
ダウンロードが必要です。Windows 環境用の PHP ランタイムは https://windows.php.net/download へ行きましょう。
そして PHP の実行環境としては FastCGI がマイクロソフトの推奨です。
従って、 Add-WindowsFeature Web-CGI もしておきましょう。CGI と FastCGI はセットになっています。
まだ翻訳上がってないので英語の記事を紹介しておきます。(翻訳予定なので日本語になったらお知らせします。)
https://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/
- 他のアプリケーションランタイム
同様に ISAPI で書いたエンジン、あるいは FastCGI や CGI に対応していれば動作できます。
d. データベースエンジンのインストール
これは書くまでも無いので省略しておきますが、広く耳を傾けると意外と知られていないらしいのでちょっとだけ。
マイクロソフトの SQL Server にも実は 無償版 があります。Express Edition と言います。
e. アプリケーションのインストール
アプリケーションについては まず、リニューアルした PHP on IIS ページには IIS 開発チームがいくつかのアプリケーションについて書いたもののリンクが掲載されています。また IIS 上でのインストール方法は 過去 2 回のインストールマニアックスで皆さんがお書きになられたドキュメントがインターネットを検索すると出てきますのでそれを参照するのが一番確実でしょう。
こほん。。。さて楽な道も見ておきましょうかね。(*^_^*)
abcde. Web Platform Installer を使う
https://www.microsoft.com/japan/web へ行きます。
下記のボタンをクリックしましょう。
Web Platform Installer のページにこれで辿り着きましたので 絵か矢印をクリックしてインストールしましょう。
wpilauncher.exe をダウンロードしてしまうといいでしょう。
実行すると↓こういう画面が出る統合インストーラーになっています。本当に便利!!
Web Platform Installer と /web サイトを推進している 鈴木 が操作感がわかるビデオを撮ってます。
XP でやってますが、同じです。むしろ OS 側が進化しているのでもっと簡単と言っていいでしょう。
ということで日本語アプリケーションは今 増やす活動をしているところなのでアプリケーションまではカバーできないですが、これでベースの環境ができるので相当 *楽*なはずです。
Web Platform Installer が相当数のアプリケーションに対応していったらインストールマニアックスの「インストール」はどんどん違うものを「インストール」するんでしょうね。(*^_^*) あっ今回も Hyper-V 祭りだし。。。そういうことかぁ
ということで 6部 構成になっていたこのシリーズはいったん中締め。
あとは 外伝 じゃなくて 番外編 シリーズとして 管理用 PC 回りの工夫とか XP でどうしてもやりたいとかそういうのを書いていこうと思います。濃そう。。。(ToT)/~~~