顧客デモ用Webサーバーの作成
こんにちは。くろの(福田)です
先日お客様向けにWindows 8のModern UIのIE10用のHTMLベースの業務アプリケーションを開発し、成果物を顧客向けに共有したいとの依頼が社内からありました。HTML開発者の作業のしやすさもありWindows Server 2012を構築し、その上のIISにベーシック認証を掛ける形でWebサーバーを作成することにしました。
AWSでのWindows Server 2012の構築
まず、Windows Server 2012のEC2インスタンスを作成します。日本語のWindows Server 2012のAMIが公開されていますので、そちらを起動します。インスタンス起動のウィザードで「Windows_Server-2012-RTM-Japanese」で検索します。検索には時間が少しかかります。
クラスは顧客デモ用なのでm1.smallが良いでしょう。インスタンスはVPC上のパブリックサブネットに起動するようにします。また、SecurityGroupではHTTP(80)とRDP(3389)を許可しておきます(今回はWindows Server 2012のVPCでの起動方法に関しては省略します。クラスメソッド開発ブログに手順があるかもしれません。無い場合、必要であればブログを書きますのでレスいただけると幸いです)
Windows Server 2012のインスタンスが起動したら、パスワードを取得しておいてください。
リモートデスクトップ接続によるインスタンスへのアクセス
それではサーバーにアクセスしていきます。今回はリモートデスクトップを用いて、Windows 8からWindows Server 2012にアクセスします。リモートデスクトップ接続はRDP 8.0が採用されており、従来より快適にサーバーにアクセスすることが可能になっています。
サーバーマネージャによるIISの追加
リモートデスクトップでWindows Serverインスタンスにアクセスしたら、サーバーマネージャを起動します。デスクトップのタスクバーの一番左にショートカットが準備されています。
サーバーマネージャを起動し、「役割と機能の追加」を行なっていきます。役割(Role)とは特定の機能を実行するための、一連のソフトウェアプログラムです。機能(Feature)は1つまたは複数の役割の機能を支援または強化するソフトウェアプログラムです。
サーバーマネージャを起動したら、ダッシュボードから「役割と機能の追加」を選択します。
役割と機能の追加ウィザードが開きます。「開始する前に」画面では注意事項を確認し、「次へ」をクリックします。
「インストールの種類の選択」画面では「役割ベースまたは機能ベースのインストール」を選択し、「次へ」をクリックします。
「対象サーバーの選択」画面では、役割と機能を追加するサーバーを選択します。ここではそのまま「次へ」をクリックします。
「サーバーの役割の選択」画面では、今回追加する「Webサーバー(IIS)」を選択します。
下記ダイアログが表示されるので、「機能の追加」ボタンをクリックします。元の画面に戻り、「次へ」をクリックします。
「機能の選択」画面では、そのまま「次へ」をクリックします。
「Webサーバーの役割(IIS)」画面では、そのまま「次へ」をクリックします。
「役割サービスの選択」画面が開きます。ここでベーシック認証を選択しても良いのですが、一旦そのまま「次へ」をクリックします。
「インストールオプションの確認」画面が表示されるので、「インストール」をクリックし、IISのインストールを実行します。
IISのインストールが完了したら、サーバー上のブラウザでIISにアクセスしてみます。IIS 8のスプラッシュスクリーンが表示されます。
IISへの「ベーシック認証」機能追加
このままの状態ではWebサイトがパブリックに公開されるので、IISにベーシック認証の機能を追加することにします。サーバーマネージャを起動し、これまでと同様の手順で「サーバーの役割の選択」画面を開きます。インストールしたWebサーバー(IIS)を開き、セキュリティの中の「基本認証」を選択します。
「インストール オプションの確認」画面まで進み、インストール内容を確認したら、「インストール」をクリックします。
Webサイトへのアクセスユーザーの設定
最後に、Webサイトにアクセスした際のIDとパスワードを設定します。まずは、コントロールパネルのユーザーアカウントで新規アカウントを作成しておきます。ここではユーザー名を「demo」としています。パスワードも設定しておきます。
(筆者の好きなコントロールパネルへのアクセス方法は、エクスプローラでコンピュータを選択してリボンからのアクセスです。Windows 8っぽいアクセスの仕方な気がします)
次に、IISの管理ツールを起動します。サーバーマネージャを起動し、ツールバーの「ツール」から「インターネット インフォメーション サービス(IIS)マネージャ」(以後、IISマネージャ)を選択します。
IISマネージャが起動するので、左のツリーからマシン名(AMAZON-XXXXXXXX)を選択し、「サイト」を選択し、「Default Web Site」を選択します。表示されるアイコンから「認証」をクリックします。
「認証」画面で現在の認証に関する設定が表示されます。
ここで匿名認証を無効にし、基本認証を有効にします。これで「Default Web Site」で基本認証が有効になりました。
次に、「Default Web Site」にアクセスできるユーザーを追加します。デフォルトで「Default Web Site」のフォルダは「c:\inetpub\wwwroot」になります。このフォルダを右クリックし、プロパティを表示します。さらに、セキュリティタブをクリックし、アクセス関連の情報を表示します。
「編集」ボタンをクリックし、アクセス許可の編集画面を開きます。
「追加」ボタンをクリックし、フォルダ(=Webサイト)にアクセスできるユーザーを追加します。権限は読み取り専用で良いでしょう。
Webサイトへのアクセス
それではブラウザで構築したWebサイトにアクセスします。アクセスする際はWindows Serverに割り当てたEIPでアクセスします。下記はIE10でアクセスした様子です。
まとめ
以上、シンプルなデモ用Webサーバーの構築でした。基本認証ですので、アクセス時のIDとパスワードが暗号化されていない等の問題がありますが、提案や開発時用のサーバーとしては活用できるシーンはあると思います。
上記のセキュリティ面が気になる場合は、EC2インスタンスのSecurity Groupでアクセス元のIPからの通信のみを受け入れる設定を追加しておけば良いでしょう。