AzureのIaas仮想マシンwindows server 2012 R2にWordPressを構築の際の参考!!必要に応じてデータディスクを追加できる!!エンドポイントとは何か?理解しよう!

ClearDBがなんとなく嫌なので(日本じゃないし、なんか課金あるし)、Iaasで自分好み仮想マシンを作り、VMイメージを使い回し出来るように頑張っています!

Azureの公式サイトを参照ですが、仮想マシンの作成後、必要に応じてデータディスクを追加できるということで便利!

参考にしたところは、LAMP開発者のためのWindows Azure講座 と Windows Server 2012 R2にIIS 8.5のインストールとASP.NETの有効化 です!

ASP.NETの有効化のあと、Azureの管理ポータルでエンドポイントもhttpで追加してください、

それによりやっとWEBサーバーになります。IISで開始をしても、エンドポイントが設定されていなければWEB公開等他の通信プロトコルも閉じたままになります。要注意!

イマイチ、エンドポイントの意味がわかっていなかったのですが、
エンドポイントはFTP,PowerShell,RemoteDesktop,SSH,HTTP,HTTPS,IMAP,SMTP,POP3等、通信プロトコルの種類と考えると概ね使えるようになります。
IISマネージャーでそれぞれ「役割と機能の追加」が必要。

WEB公開をするためには、サーバーマネージャーにiis web serverやら色々と役割と機能をお好みで追加した後にAzureのポータルに戻ってエンドポイントの設定でhttpやらftpやら追加が必要(Azureポータルの初期設定で既に行っていれば不要)。

IISマネージャhttpの設定についての参考は以下がわかりやすい。
IISマネージャで「サイト」でィレクトリの下層にローカル、http(WEB公開)、ftpでそれぞれバインドする必要がある。
GMOクラウド Public Windowsマニュアル IISからWebサイトを作成

参考
1.インターネット Web サーバー構築ガイドライン (ドラフト版)

2.IISについて
にわか管理者のためのWindows Server 2012入門 – 63 IISと静的コンテンツ用のWebサーバ構成(1)

3.FTPサーバーの追加
にわか管理者のためのWindows Server 2012入門 – IISとFTPサイトの構成(1)

4.IIS 7.5へのWordPressのインストール

Windows Server 2012 での FTPサイトの作成

ftpが接続出来ない場合、他に調べる点
◯httpやftpなどのサイトを追加したら、iisマネージャで再起動をしたほうがよい。
◯ftpファイアウォールのサポートでデータチャネルのポート範囲を例えば7000-7001としたら、
TCPで新しくftpのエンドポイントを新たにパブリックポート/プライベートポートで7000と7001として2件追加する。

FTPは「制御用コネクション」と「データ転送用コネクション」の2つのTCPコネクションを使用しながら動作する。つまり、ftpのエンドポイントは1つでは不可。
そのため追加分のエンドポイントのポートについてもエンドポイントと仮想マシンで必ず揃えないといけない。

◯iisではftpでパーミション変更が出来ない。
iisマネージャでftpサイトのノードまでいってから、操作ペインで『アクセス許可の編集』⇛『セキュリティ』⇛『編集』にて。
IIS でのアクセス権限の設定方法
ダッシュボードからwordpressの更新をする場合、IISマネージャでUsersとIIS_IUSRSにフルコントロールの権限を許可する。

そうしないとwordpressでは

『いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。: wp-admin/includes/update-core.php インストール失敗』

となる。

また、パーミッション問題に対するセキュリティ策はwwwrootにftpサイトをマッピングせず、
他ディレクトリにftpサイトを作りそこにマッピングする。パス予測が出来ない様にする。

クラウド(サーバー)は専門用語が難しいです。
結構ググってもドンピシャでは出てこないです。
書籍も直面する課題の解決に直結したものを1発で買い当てるのはなかなか難しい。
頑張りましょうww

◯メールサーバ
IMAPならこちらhMailServerで。
他、メールのSMTPについては、SendGridで月25,000件まで無料でいけます。
wordpressであればプラグインのWP Mail SMTPとSendGridでモウマンタイ!結構素早く出来ます。
↓参考記事
AzureからSendGrid(SMTPサービス)を使ってメールを送信する
SendGridを使ったメールマーケティング入門

phpmyadminについては、OSDN-Open Source Development Network でダウンロード出来ます。
この時、phpmyadminのバージョンがMySQLやphpと合っているか確認をしておくといいです。
バージョンが合わないと、エラーが出ます。

◯カスタムドメイン(独自ドメイン)。
PaasのWEBサイトのやり方+awverifyとIISマネージャのWEBサイトへのバインド追加/削除をやればOK。
ドメインを取得し、Aレコード、CNAME、MXレコードやその他DNSレコード達をお名前ドットコムなどのログインページ内で設定する。
その時に、awverify(asverify)を使うとダウンタイムを無くせる(Azureポータルのストレージアカウントの『ドメインの管理』でawverifyのレコードは見つけられます)。

IISマネージャの接続ペインでサイトノードの中に作成されているWEBサイトのバインドを新たに今回のドメインで追加する(お名前ドッコムの設定が反映するまで少し待ち時間あり)。
その後、ドメインが反映しているかどうかブラウザから確認。
※azureのサブドメインについてはドメインの反映を確認した後に削除するのがベター。

これでもう怖くない!Windows Azure!!ガンガンコンバージョン上げて負荷かけてやるぜ!!

でも、これらの方法よりもVagrant&Virtualboxみたいに一気に構築できる方法もありそう(Iaasでも)・・・。まぁ、おいおい勉強していこう。とりあえず、安定運用で拡張性高くを最優先で。

ちなみにAzureの読み方はアズーリ(なんかやらしい、笑)×、アジュール○です。恥ずかしながら慣れるのに2~3ヶ月かかった(笑)。

 windows_server1


windows_server1

おおっ!Windows Serverは何回見てもカッコイイ!

※VM再起動時の注意点。
Public IPは変わらないですが、Internal IPは勝手に変化します。
そのため、IISでhttpやftp等のInternal IPのバインドやり直しと再起動が必要です。
Windows server 2012 R2 Datacenter自体のアップデートやスケールアップ/ダウン等の際に再起動が必要となります。
節約のために、VMをシャットダウンすると毎回Internal IPは変更されるので気をつけましょう!

あと、たしか『スロット』だか『スワップ』なんかで、簡単に本番環境と開発環境のチェンジやらも出来たり、本番環境丸ごとコピーしてAzure内で構築できるらしい。いや~、便利だね~。

アマゾンのクラウドのAWSはSEOチェキで見ると利用者(法人)が多いのでちょっと
気になる。使いやすさとか、可用性とか、Iaas、Paas、オンプレミスの便利さとか、いかかがなものなんでしょうか。気になる。

コメントを残す