せろひきの練習NEO

パソコン&スマートデバイス&サーバーテクノロジー

SBS2011 Essential のLaunchPadが起動に失敗する件

当方では昨年よりHP ML110 G6サーバーで動いているHyper-V Server 2008 R2の上で、Windows Small Business Server 2011 EssentialのDSP版を動かしています。

以前はSmall Business Server 2003 → 2008 と実サーバー上で動かしていたのですが、Exchangeサーバーをローカルで動かすのもやめて、仮想マシン上でバックアップ時にのみドメインコントローラとして起動する、ような使い方をしていました。

で、ノートパソコンのハードディスク入れ替えのために久しぶりにSBS2011 を起動したのですが、肝心のクライアント側ツールを起動すると.NET 上のExceptionで起動できないようになっていました。

で、ちょっとフォーラムとか検索してみたのですが、以下が該当するようです。

SBS Dashboard error: An error prevented the dashboard from opening
http://social.technet.microsoft.com/Forums/ja-JP/smallbusinessserver2011essentials/thread/fa27af10-d69a-453a-b0e5-ef307ad5125d

要するに、証明書が時間切れしているためLaunchPadが起動に失敗するとのこと。解決法はサーバー側にUpdate Rollup 4 をインストールすること、だそうです。
(ちゃんとExceptionをキャッチすれば問題なくエラーメッセージを出せるはずなのですが...)

実際に証明書スナップインを使って確認してみたところ、サーバー側のマシン証明書は確かに2012年6月にいったん期限切れして、そのあと2041年6月までの証明書が追加されたようです。

いっぽう、クライアントPC側の証明書はサーバーインストール後1年(2012年10月)で期限切れしていました。つまり、クライアントPC側の証明書がアップデートされれば問題なくなります。そのためにはサーバーが動いている状態でドメインログオンをすればよいということになりそうですね。(手順的には一時的にDNSルーターではなくSBS2011サーバーのIPに静的に設定してログオンすればよいと思います。)

(2月19日追記)

この件、結局ドメイン内のPCとドメインコントローラの証明書の自動更新が構成されておらず、結果1年で両方ともタイムアウトしてしまうということみたいです。ためしにDomain Policyで自動更新を設定し再起動してみると証明書の自動更新は問題なく行われました。

また、たぶんこの障害の対策だと思うのですが、サーバーの証明機関(CA)の役割の削除&役割の再追加の方法がKBとして用意されています。

http://support.microsoft.com/kb/2581361/en-us

特にサーバーPowerShellで Add-WssLocalMachinecert を実行するところが重要です。サーバー上でこれを実行して(多少時間がかかります)しばらくすると、役割の追加を行った時点から1年間有効なサーバー証明書が作成されます。主にこれにより「ダッシュボード」の起動が可能になりました。

Windows 8 ProのClient Hyper-Vを動かす

Windows 8 Proでは、ハイパーバイザ型の仮想化機能「Client Hyper-V」がサポートされています。

必要なシステム

- 64bit版 Windows 8 Pro / Enterprise

- SLATをサポートした64bit/仮想化機能対応CPU (ほぼCore i シリーズ以降)

- 4GB以上のメモリ

機能を有効にするには、BIOSでCPUの仮想化機能を有効にした後、コントロールパネルの「プログラムと機能」の「Windows機能の有効化または無効化」でHyper-Vを選択して、いったんシャットダウンし電源のOFF/ONを行います。

特定のCPUが仮想化機能の条件を満たしているかどうか調べるには、(クライアントHyper-Vをインストールする前に) Sysinternalsのcoreinfo を利用すると簡単かもしれません。(-vオプションを利用)

たとえば当方の環境では

D:\ARCHIVE\Sysinternals\Coreinfo>coreinfo -v

Coreinfo v3.1 - Dump information on system CPU and memory topology
Copyright (C) 2008-2012 Mark Russinovich
Sysinternals - www.sysinternals.com

Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
x86 Family 6 Model 42 Stepping 7, GenuineIntel
HYPERVISOR      -       Hypervisor is present
VMX             *       Supports Intel hardware-assisted virtualization
EPT             *       Supports Intel extended page tables (SLAT)

D:\ARCHIVE\Sysinternals\Coreinfo>

のような感じで、SLATがサポートされていることがわかります。

Hyper-V Server 2012 リリース

Windows 8 ProのClient Hyper-Vが話題の今日この頃ですが、一方ではHyper-V Server 2008 R2の後継となるHyper-V Server 2012 がリリースされているようです。

Microsoft Hyper-V Server 2012
http://www.microsoft.com/ja-jp/server-cloud/hyper-v-server/default.aspx

一見、どこからダウンロードすればいいのかわかりにくいですが、グラフィックの中に「無料ダウンロード」の表示が隠れています。例によってMicrosoft IDが必要ですが、日本語ページから入っていくと自動的に日本語版Hyper-V Server 2012のダウンロードになるようです。

当方Hyper-V Server 2008 R2のお世話になりっぱなしで、なかなか簡単に移行というわけにもいきません。そもそも管理ソフト(Hyper-Vマネージャ)の件でもかなりノウハウをためるのに時間がかかったので、予備のサーバーHyper-Vマネージャ3.0でテストをしてから移行しようと考えています。

Windows 8付属のHyper-Vマネージャ3.0で Hyper-V 2008 R2が操作できないことは確認しています。逆は可能なのか?

(参考) スケーラビリティや機能が向上したWindows Server 2012Hyper-V
http://cloud.watch.impress.co.jp/docs/column/2012lab/20121023_567715.html (前編)
http://cloud.watch.impress.co.jp/docs/column/2012lab/20121024_567724.html (後編)

Exchange Onlineを試してみる(その後)

Office365 プランP1 (600円/月/1ユーザー) よりももう少し安い 「Exchange Onlineプラン1」(400円/月/1ユーザー)でどうだろう...という話のつづきです。

結果から言うと、何も問題ありませんでした。

- Outlook2010

- iPhone4

- Web上のExchange Onlineサイト

Exchangeサービスに関してはプランP1で利用していた頃と全く変わりなく使用できます。サービス内容で異なるのは

- Sharepoint online

- Lync online

が使えないこと、となるのですが、個人で一人ドメインを運用している身には全く変わりなく利用できることがわかりました。

ただ、唯一不便なのは試用期間で使用していたのと同一ドメインでの運用がしばらくできないこと。そのためExchange Onlineプラン1は別ドメイン(xxx.onmicrosoft.com)で契約し、もともとのドメインは月額1000円のレンタルサーバーを契約してPOP3運用し、Exchange Onlineプラン1のサービスから吸い上げるようにしています。

無効期間が明けたら元のドメインでのExchange Onlineプラン1契約に切り替えるつもりです。

Exchange Onlineを試してみる

こちらで記事にしていた「Office Live Small Business 」由来のメールアカウントですが、移行先のOffice365の6か月無料期間がいよいよ終了間近になってきました。

で、マイクロソフトの想定としては「Office365 プランP1」への移行(であれば面倒はないよ)を勧めるところですが、よく見てみるとプランP1 (600円/月/1ユーザー) よりももう少し安い 「Exchange Onlineプラン1」(400円/月/1ユーザー)というサービスが用意されていることに気が付きました。

Exchange Online
http://www.microsoft.com/ja-jp/office365/exchange-online.aspx

こちらのプランでも、例えば25GBのストレージスペースであったり、Outlook2010との連携であったり、Exchange ActiveSyncによるiPhoneとの同期であったり、独自メールドメインだったりが使用可能で、異なる点がいまひとつはっきりしません。注意深く見てみるとどうやら、
Sharepoint サーバー・チームWebサイトが使用できない
•Office Web App が使用できない
•インスタントメッセージング、ビデオ会議(要するにLync Online?)が使えない

http://www.microsoft.com/ja-jp/office365/all-plans.aspx.

というのが主な相違点になるようです。で、正直Sharepointは使ってないし、Webサイトは他に持っているし、Office Web AppもローカルPCにOffice 2010が入っていればあまり使わないしということで、「Exchange Onlineプラン1」を試してみることにしました。

(補足)月額200円で利用可能な「Exchange Online Kioskプラン」というのもあります。こちらはメールボックス最大1GBで、Outlook 2010などからアクセスできない代わりに、iPhone/Android/Windows Phone のExchange ActiveSyncアカウントとして使用できるようです。

※もしかしてWindows8の「メール」では使えたりするのでしょうか?

とはいえ、同じ独自ドメインでは複数の異なるOffice365(系)プランは使用できないはずなので、例によって新しいonmicrosoft.comドメインを作って移行...みたいになるはずです。

具体的に移行がどうだったかは、そのうち報告します。

Windows AzureでWebSitesを使ってみる(その4)

ローカルで動いているWordPressをAzureに発行します。

まず、Azure上に空のPHP + MySQLサイトを作成します。そのために、以下よりWindows Azureポータルにログインします。

https://manage.windowsazure.com/

Windowsazurewebsites7_2

下の「+NEW」のところからWeb Siteを選択し、「Create With Database」を選択します。

Windowsazurewebsites9

任意の(誰にも使われていない)サイトの名前を入力します。またデータベースのインスタンスをこれまで作成していないときには"create a new MySQL database" を選びます(2つめ以上のサイトを作成するときには、"use a existing MySQL database"を選択し、すでにあるMySQLインスタンスに新しいデータベースを「追加」するようにします)。Regionは現在のところEast USで構わないと思います。

Windowsazurewebsites10

MySQLのデータベース名とリージョンを確認し下のClearDBのチェックボックスをチェックし、右下のチェックマークをクリックして完了です。データベース名は実質何でも構いません。
Windowsazurewebsites11
Web Sitesが作成されると、ポータル画面に以下のように作成されたサイトが表示されます。この"name"のところをクリックしてサイトの管理画面に入ります。

Windowsazurewebsites12_2

Publish Your appの下の"Download publishing profile"をクリックし、.PublishSettings拡張子のサーバー設定情報ファイルをローカルハードディスクに一時保存します。あるいは、"DASHBOARD"をクリックしQuick Startページを終了したあと、右下の"Download publishing profile"をクリックして同様に保存します。

Windowsazurewebsites13

Windowsazurewebsites14_4
ちなみに、DASHBOARD画面のSITE URLの文字列をクリックすると、いま作成されたWebサイトが表示されます。新規作成したばかりの状態では以下の表示になります。

Windowsazurewebsites15_3

DASHBOARD画面に戻ってグラフの更新アイコンをクリックすると、CPUが消費されている様子がわかります。

Windowsazurewebsites16
また、SCALEタブをクリックすると、以下のように割り当てCPUリソースの調整が可能です。何も設定しない状態ではShared CPU / 1インスタンスの最小の割り当てに設定されています。

Windowsazurewebsites17

さて、ここでWebMatrix2を起動し、「サイトを開く」「個人用サイト」でローカルに作成したサイトからAzureに発行したいサイトを選びます。

Webmatrix9
これまで一度も発行したことのないプロジェクトであれば、リモートタブを選ぶと「発行」「設定」の2つが選択可能なはずですが、どちらを選んでも次は「発行の設定」画面になります。ここで「発行の設定のインポート」のリンクをクリックし、先ほど保存した.PublishSettings拡張子の設定ファイルを読み込ませると、発行用の設定が自動的に入力されますので、これを保存します。またWebSitesが稼働状態であれば「接続の検証」ボタンを押すと接続確認が行われ、「正常に接続しました」と表示されます。

ちなみにここで、「サイト名」「宛先URL」の両方にサブフォルダ名を設定すると、WebSites上のサブフォルダに発行する設定ができ期待通り動作しました。

Webmatrix10_2

保存ボタンを押すと「発行の互換性テスト」が推奨されます。試しにやってみると以下のような表示になりました。たぶんPHP+MySQL以外の設定でサイトが作成されているエラーになるのでしょうか?

Webmatrix12
「発行」ボタンを押して開始した場合には引き続き"発行"が行われます。続行ボタンを押すと、「発行のプレビュー」画面になります。しばらく時間がかかりますが、問題ないとアップロードするファイル一覧と更新するデータベースが表示されます。

サイト作成時にデフォルトでインストールされていたファイルが必要ない場合には「リモートサーバーにあるファイルで自分のコンピュータ上には存在しないファイルを削除します」のチェックを入れます。

Webmatrix13

続行ボタンを押すと、WebMatrixは通常画面に戻りますが、下のほうにバックグラウンドでファイルを発行している様子が表示されます。やがて発行が終了すると、発行先のURLとともに「完了しました」と表示されます。このリンクをクリックすると、発行先のWebSiteがWebブラウザで表示されます。

Webmatrix13a

Webmatrix14_2
ところで、このままではAzure上でサイトが動いたままなので、もしサイトを止めるときにはダッシュボード画面で下の「STOP」を押します。さらに「DELETE」でサイト自体を削除してしまうことも可能です。

Windowsazurewebsites12_3

というわけで、WebMatrixでローカルに作成したサイトとまったく同じものがWindows Azure WebSites上に再現されました。で、同じくWebMatrix2のリモートタブにある「ダウンロード」を使うとAzure WebSites上のサイトの情報をローカル側にバックアップすることもできます。

データベースの中身まで含めてツールから簡単にアップロード/ダウンロードできるというのはftpレベルではなかなかできないことで、軽くショックを受けました。

(参考)WebMatrix からの直接アップロードを可能とする IIS Web 配置サービスの設定
http://blogs.msdn.com/b/osamum/archive/2011/02/08/webmatrix-iis-web.aspx

Windows AzureでWebSitesを使ってみる(その3)

Windows Azureのアカウントを作ったところで、今回のWebSites作成のシナリオを説明します。やり方としては

a. Azure上で"From Gallery"を選んで、表示されるテンプレートから作成

b. WebMatrix2 を使ってまずローカルサイトを作成、これをAzure WebSitesに発行する

c. Visual Studio 2012 Web Developerなどを使用して以下同様...

d. PCから直接デプロイするのではなくGitやTFSのようなソースコードコントロールへアップロード後、そこから発行する

などがあり、ネット上のBlogなどではa.をやってみた例が多いようです。で、当方ではb.を試してみました。これの利点は、WebMatrix2上ではすでに日本語のテンプレートが用意されている(a.では現在英語版しか選べない)ところです。

WebMatrix2はWindows上でテンプレートから簡単にWebサイトを作れて、また作ったWebサイトを簡単にWebサーバーにアップロードできるツールです。アップロードの方法は単純なftpで行う方法も可能ですが、Windows Serverで動いているサイトやWindows Azure上のサーバーであれば、Microsoft Web Deploy 2.0サービスを利用してファイルとデータベースを両方展開できるようです。今回はもちろんこの方法を利用します。

また、試しにインストールするWebサイトですが、今回はWebMatrix2にテンプレートが付属するWordPressの日本語版でやってみました。

-------------------------------------------------------

まず、WebMatrix2をWebPI4からインストールします。そもそもWebPI4はVisual Studio 2012 Proなどでもインストールされますが、今回は素直に以下のWebMatrix2のサイトからインストールしました。

http://www.microsoft.com/web/webmatrix/next/

Windowsazurewebsites8
この「Free Download」を押した後、直接Webインストーラーを実行すると、WebPI4が起動され、WebMatrix2のインストール画面になります。

Webmatrix1

「インストール」を押してインストール開始します。多数の依存モジュールもダウンロード&インストールされるので、30分以上は時間がかかる感じです。

Webmatrix2_3
Webmatrix2
インストールが完了しました。「アプリギャラリー」をクリックします。

Webmatrix4_2

最初にWordPressの英語版が表示されていますが、これではなく(下のほうに出てくる)日本語版WordPressを選択し、「サイト名」に適当なフォルダ名を入力後「次へ進む」を押します。「サイト名」がマイドキュメントフォルダ内の"My Web Sites"フォルダ内のフォルダ名になるので、ちょっと考えて名前を決めます。

Webmatrix4a
WordPressを動かすにはMySQLが必要になります。これまでにMySQLをインストールして無いとこれをインストールする画面になります。管理ユーザー(root)のパスワードは忘れずにどこかに記録しておきましょう。このあとライセンス条項が表示され同意を求められます。ここのインストールもしばらく時間がかかります。

Webmatrix5

MySQLのインストールが出来ていると、上のユニークキーを入力する画面になります。単純にランダムな文字列を入力すればよいようです。パスワードGeneratorサイトなどで、適当に文字列を表示させて入力しました。「次へ進む」を押します。

Webmatrix6
データベースアクセスのためのパラメータが表示され、WordPressのインストールとMySQLデータベースの設定が終わりました。データベースの設定パラメータはコピーしてどこかに保存しておきます。「OK」を押します。

Webmatrix7

画面が変わって、作成されたWebサイトの保存場所と、ローカルWebサーバーへアクセスするための接続情報が表示されます。同時にサイトが開かれ、最初のWordPress設定画面が表示されます。最低限の設定を行うと、下のように日本語版WordPressがローカルで使用可能になりました。

Webmatrix8

WordPressCMSなので、ユーザーレベルで使用する分にはあとはブラウザからコンテンツの入力や設定を行うだけで以降WebMatrix上の操作は必要ありません。WebMatrix上で「停止」ボタンを押すとWebサーバーの動作が終了します。再びローカルで作業を行うにはWebMatrixを起動し今回作成した個人サイトのデータを開いて画面上のURLをクリックします。

次回はWindows Azure WebSitesへアップロードします。

(参考) WebMatrix2にはここで紹介した以外にもいろいろな機能が搭載されています

WebMatrix 2 新機能 ~ OSC 2012 Hokkaido セッション フォローアップ (その1) ~
http://blogs.msdn.com/b/chack/archive/2012/06/19/new-features-webmatrix-2-osc-2012-hokkaido-session-follow-up.aspx