WordPress コース 2nd Stage を攻略しよう(Windows 仮想マシン編)

2014年5月15日(木)
草苅 諭

Tuning Maniax 2014 - 蒼き調律者たち」1st Stageが終了しました。Azure Web サイト上に構築した WordPress のチューニングは思い通りにできましたか?

これから始まる 2nd Stage は、Azure の仮想マシンに WordPress をインストールして、1st Stage と同様にパフォーマンスを出せるようにチューニングする競技になります。

2nd Stage では、Windows Server と Linux の2つの仮想マシンを立ち上げることになりますが、今回の記事では Windows Server で WordPress を立ち上げるまでの手順について紹介します。

仮想マシンの作成

それではさっそく Windows Server の仮想マシンを作成してみましょう。

まずは、管理ポータルにアクセスします。画面下にあるコマンドバーから[ 新規 ]−[コンピューティング]−[ 仮想マシン ]−[ 簡易作成 ]とクリックして、仮想マシンに関する情報を入力して[ 仮想マシンの作成 ]をクリックするだけで仮想マシンが作成できます。

(クリックで拡大)
DNS名 作成する仮想マシンのコンピューター名です。また、インターネットに公開したときにクライアントがアクセスしてくるFQDNになります。
イメージ Windows Server 2012 R2 Datacenter を選択します。
サイズ A1以上を選択します。ルール上A0は使用することができません。また、同じサイズでも[ 基本 ]と[ 標準 ]の2つの階層が存在します。オートスケールや負荷分散は[ 基本 ]では提供されていませんので、上位を目指す場合は[ 標準 ]の階層を選択してみるといいかもしれません。
ユーザー名 作成される仮想マシンのビルトインAdministratorアカウント名です。リモートデスクトップ接続する際に必要なユーザー名になります。
新しいパスワード [ ユーザー名 ]に対応するパスワードです。
リージョン/アフィニティグループ 仮想マシンを配置する場所です。よくわからない場合は、[ 日本(東)]か[ 日本(西)]のリージョンどちらかを選択しておけばよいでしょう。

ポートの解放

正常に仮想マシンが作成されたら、引き続き管理ポータルから通信の設定を行います。

仮想マシンと外部との通信はエンドポイントを介してやりとりが行われますが、通常、仮想マシンを作成した初期状態ではHTTPポートが閉じられているため、ポートを解放する必要があります。

管理ポータルから作成した仮想マシンの名前をクリックして、[ エンドポイント ]を選択したあと、コマンドバーにある[ 追加 ]をクリックします。

(クリックで拡大)

[ エンドポイントの追加 ]の画面が表示されます。
[ スタンドアロン エンドポイントの追加 ]が選択されていることを確認して、右下の矢印のアイコンをクリックします。

(クリックで拡大)

名前、プロトコル、ポート番号をHTTPポート用に指定します。

(クリックで拡大)

※図では[ 負荷分散セットの作成 ]がグレーアウトしていますが、仮想マシン作成時にサイズを[ 標準 ]の階層から作成していれば負荷分散セットを作成することできます。
負荷分散セットを作成することにより、複数の仮想マシンにトラフィックを分散させることができます。
また、[ 基本 ]の階層で仮想マシンを作成していても途中で階層を変更することができます。管理ポータルの[ 構成 ]をクリックして[ 仮想マシン階層 ]から[ 標準 ]を選び[ 保存 ]をクリックすることで変更ができます。

(クリックで拡大)

リモートデスクトップ接続

エンドポイントの作成が完了したら、リモートデスクトップ接続をしてみましょう。

管理ポータルから仮想マシンの名前をクリックして[ ダッシュボード ]を選択し、画面下のコマンドバーから[ 接続 ]をクリックして .rdp ファイルを開きます。

(クリックで拡大)

仮想マシン作成時に入力したユーザー名とパスワードを使って、リモートデスクトップ接続を実行することができます。

(クリックで拡大)

※Azureの仮想マシンで提供されているイメージは英語版になります。もし Windows Server を日本語で使いたいという人は Hadoopコースを攻略しよう(環境構築編)で、ゲストOSを日本語化する手順が掲載されています。参考にしてみてください。

WordPress のインストール

Windows や IIS にあまり馴染みのない人には、IIS 上に WordPress をインストールするには、まずは何をすればいいのか分からないかもしれません。そういった場合などに役に立つのが Web PI (Web Platform Installer)というツールです。

Web PI は、OSSなWebアプリからWebサーバーやSQL、また開発ツールなどを容易にWindows上に構築することができるアプリケーションです。今回の記事では、この Web PI を使って仮想マシンに WordPress をインストールしていきます。

まずは、IE ESC(Internet Explorer Enhanced Security Configuration)と呼ばれるセキュリティ機能を無効にします。
リモートデスクトップ接続した仮想マシンで、[ Server Manager ]の左側にある[ Local Server ]をクリックして、[ IE Enhanced Security Configuration ]の[ On ]をクリックします。

(クリックで拡大)

[ Internet Explorer Enhanced Security Configuration ]の画面が表示されますので、Administrators を[ Off ]に設定して[ OK ]ボタンをクリックします。

IE ESC を[ OFF ]に設定したら、IE を起動して下記のURLから wpilauncher.exe をダウンロードします。
> http://go.microsoft.com/fwlink/?LinkId=255386

ダウンロードした wpilauncher.exe を実行すると、自動的に Web PI が起動してきます。Web PI の起動が完了したら下にある[ Options ]をクリックします。

(クリックで拡大)

[ Select your preferred language for software installations ]の値を[ English ]から[ Japanese ]に変更して[ OK ]ボタンをクリックします。

(クリックで拡大)

この設定でWordPress の日本語版を Web PI からインストールすることが可能になりました。Web PI の画面右上にある検索ボックスに [ wordpress ] と入力して、検索結果から[ WordPress(Japanese) ]の右側にある[ Add ]ボタンをクリックし、[ Install ]ボタンをクリックします。

(クリックで拡大)

MySQL の root アカウントのパスワードを入力して、[ Continue ]ボタンをクリックします。

(クリックで拡大)

WordPress をインストールするのに必要なコンポーネントなどが自動的にリストアップされます。必要に応じてリストを確認して、[ I Accept ]ボタンをクリックします。

(クリックで拡大)

続いて IIS のWebサイトの基本設定を行います。[ ‘WordPress(Japanese)’ application name ]に入力されている[ wordpress ]の文字を削除して[ Continue ]ボタンをクリックすると、上書きの確認メッセージが表示されますので、[ Yes ]ボタンをクリックします。

(クリックで拡大)

右下の[ Continue ]ボタンをクリックします。

(クリックで拡大)

[ The following products were successfully installed. ]と表示されれば成功です。
メッセージの下には、WordPress 用の MySQL のデータベース名やユーザー情報が掲載されていますので、必要に応じて内容を保存してください。

(クリックで拡大)

右下の[ Finish ]ボタンをクリックすると、自動的にIEが起動して Web PI で作成された WordPress のサイトが表示されます。しかし、ここで起動してきたブラウザから WordPress のインストールは実行しないでください。
リモートデスクトップ接続内からではなく、仮想マシンを作成したときに設定したDNS名[ http://tuning-maniax.cloudapp.net ]のURLで、必ずインターネット越しにサイトにアクセスして WordPress をインストールしてください。

(クリックで拡大)

必要な設定情報を入力して WordPress をインストールしましょう。インストールが成功したら、テストで新規投稿を行って動作の確認を行います。動作に問題がなければ Windows仮想マシン上に WordPress のインストールが完了です。

PHP 5.5 に変更

Web PI から WordPress をインストールすると、現在では PHP5.3 のバージョンが導入されます。ここでは、よりパフォーマンスをあげるために PHP5.5 に変更してみましょう。

Web PI の右上の検索ボックスに [ php 5.5 ] と入力します。表示された検索結果から、[ PHP 5.5.11(English) ]の右側にある[ Add ]ボタンをクリックし、[ Install ]ボタンをクリックします。

(クリックで拡大)

[ PHP Manager for IIS (English) ]は不要なので、左にあるバツ印をクリックしてインストール対象外にし[ I Accept ]ボタンをクリックします。

(クリックで拡大)

[ The following products were successfully installed. ]と表示されれば成功です。

(クリックで拡大)

続いて、[ Visual C++ Redistributable for Visual Studio 2012 Update 4 ]の [ vcredist_x86.exe ]ファイルを下記のURLからダウンロードして実行します。
http://www.microsoft.com/en-us/download/details.aspx?id=30679

左下の[ I agree to the license terms and conditions ]にチェックを付けて、[ Install ]ボタンをクリックします。

[ Setup Successful ]と表示されたら、右下の[ Close ]ボタンをクリックします。

それでは次に、PHP5.5 用に IIS の設定を行います。[ Control Panel ]−[ System and Security ]−[ Administrative Tools ]から[ Internet Information Service (IIS) Manager ]を起動します。

(クリックで拡大)

IIS Manager の左側から[ Default Web Site ]を選択して、中央の[ Handler Mappings ]をダブルクリックします。

(クリックで拡大)

[ Handler Mappings ]の設定にある[ PHP53_via_FastCGI ]と[ PHP53_via_FastCGI1 ]を削除します。

(クリックで拡大)

IIS Manager 左側のサーバー名をクリックして、右側にある[ Restart ]をクリックしIISの再起動を行います。

(クリックで拡大)

これでPHP5.3からPHP5.5に変更が完了しました。

(クリックで拡大)

IIS アクセスログの無効化

次に、IISのアクセスログを無効にしてみましょう。

IIS Manager の左側から[ Default Web Site ]を選択して、中央の[ Logging ]をダブルクリックします。

(クリックで拡大)

右側にある[ Disable ]をクリックすることで、アクセスログを無効にする設定が完了です。

(クリックで拡大)

ご存知のとおりアクセスログはクライアントからの接続に関する情報が記録されますが、ディスクアクセス部分でパフォーマンスに影響が及びボトルネックになる可能性がありますので、無効に設定してみるのもパフォーマンスを向上させるチューニングになるかもしれません。

競技用データのインポート

WordPressのインストール後、公式サイトに掲載されている手順に沿ってWordPressのデータをインポートしましょう。これが終わると競技前の準備が完了となります。

WordPressのデータをインポートする - Tuning Maniax 2014

最後に

これで、2nd Stage をクリアする条件の1つであるWindows 仮想マシンに WordPress をインストールして、審査を受けられるまでの環境の作成が終わりました。

今回は Web PI を用いて簡単に1台の仮想マシン上に WordPress を構築していますが、Microsoft Azure では仮想ネットワークの機能があります。仮想ネットワークを用いることで、仮想マシン同士で内部IPを用いて通信することが可能になります。パフォーマンスを向上させるうえで、データベースを別の仮想マシン上に構築したり、キャッシュサーバーとして仮想マシンを用意したりすることも可能になりますので、ぜひ工夫を凝らした構成やチューニングを試してみてください。

【関連リンク】

Tuning Maniax 2014 - 蒼き調律者たち

  • <編集部よりお知らせ>
  • 文中に一部誤りがあったため修正しました。(2014.05.15)
  • 3ページ目に「競技用データのインポート」を追加しました。(2014.05.15)

普段は Microsoft テクノロジー関連を用いたシステム管理や開発に携わってる会社員。暇を見つけては Windows Azure で勝手気ままにろくでもないことをして遊び中。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています