MacのBootCampでWindows10をインストール

最近、東方にハマり、とうとう原作「東方紺珠伝」を購入した。
ダメ元でVirtual Box内のWindowsにインストールしてみたが、とてもプレイできるような状態ではなかった。
そこで、止むを得ずBootcampでWindowsをインストールすることにした。
すぐにできるだろうと思っていたら、予想外に時間がかかったので、つまった部分をメモしておく。

・パ=ティションを分けるとエラーが発生

「ユーティリティ」→「Boot Campアシスタント」から
Windowsをインストールするパーティションを作成しようとしたところ、
「パーティションが作成できません」という謎エラーが発生した。
ここでエラーが発生するとは露にも思っていなかったので、色々と試行錯誤した。

・Macintosh HDのFileVault(暗号化)を解除

したほうが得だろうと、特に意味もなく暗号化をしていた。
しかし、これが原因でパーティションが区切れなくなる場合があるそうだ。
参考: http://php-fan.org/impossible-partition-disk.html
よって、
「システム環境設定」→「セキュリティとプライバシー」→「FileVault」→「FileVaultを切にする」
で暗号化を解除した。
解除にはしばらく時間がかかるが、プログレスバーが表示されるので気長に待つと解除が完了する。

しかし、僕の環境の場合はこれだけでは解決しなかったので、次に進んだ。

・Macintosh HDディスクを修復する

HDDの中で連続した空き容量が確保できていない、もしくはアクセス権がおかしくなっている箇所があると
パーティションが分けられない場合がある。
そこで、Macintosh HDを修復することにした。
通常ではMacintosh HDは修復できないので、リカバリモードから実行する必要がある。

1. Macをシャットダウンする
2. 「command + R」を押下したまま電源を入れる
3. メニューが表示されたらボタンを離し、「ディスクユーティリティ」を選択する

以上でMacintosh HDも修復できる状態でディスクユーティリティが起動する。
ここで、Macintosh HDを選択し、「First Aid」を実行すると、いくつかエラーが見つかり、修復が行われた。
なお、ここで「修復できませんでした」と表示されたが、何度も実行していると少しづつ進み、最終的には修復することができた。
何回も実行して良いのか分からないが、修復は1度エラーが発生したらそこで操作を終了してしまう仕様らしいので、何回もやればうまくいく可能性もあるんだとか。
ソースは忘れた。自己責任でお願いします。

修復後、再起動し、Boot Campアシスタントからパーティションを分けると、無事成功した。
Windows10をクリーンインストールし、Visual Studio、東方紺珠伝、そして自宅サーバーのHyper-V Server管理に活躍している。
Windows10、俺は好きなんだけど、やっぱり互換性の問題とかで評判悪いね。
あと、妙にアプリのタイトルバーが大きくなるんだけど、これはBoot Campのせいなのかね。
不便ではないのだけど、フォームアプリ作っているとサイズがおかしくなってちょっと嫌だ。

SQL Serverの照合順序を変更する

SQL Serverでは文字列比較の基準となる照合順序が設定できる。
例えば「大文字小文字を区別する」等である。

これはデータベース毎に設定可能で、特に指定していない場合はSQL Serverセットアップ時に設定したサーバーデフォルト値が適用される。

デフォルトと異なる照合順序をデータベースに設定した場合、トラブルが発生しやすい。
例えば、一時テーブルと作成し、それとデータベース内のテーブルをJOINするようなクエリはエラーになる。
これは、一時テーブルの照合順序はサーバーのデフォルト値になっており、
異なる照合順序でのon Table.col1=temptable.col1という比較が行えないためである。
on Table.col1=temptable.col1 collate Japanese_CI_ASのように、クエリの中で照合順序を指定すればエラーは発生しない。)

仕事の都合で照合順序の変更を余儀なくされたことがあったので、その手順をメモする。
なお、実際に行ったのはSQL Server 2012だが、2008 R2や2014でも同じだと思う。

・データベース単体の照合順序変更方法

以下のクエリを実行すれば良い。
対象のデータベース名をSampleDataBase、照合順序をJapanese_CI_AS_KS_WSとする。

・SQL Server(=システムデータベース)の照合順序変更方法

データベースが存在すると実行できないため、システムデータベースを除く全てのデータベースを削除する。
(復元が必要な場合はバックアップをとっておく。)

SQLのインストールディレクトリ内にSetup.exeがあるので、そこに移動する。
規定ではC:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Releaseである。
コマンドプロンプトからSetup.exeを以下のコマンドで実行する。

例えば、インスタンス名は規定のMSSQLSERVER、Windows認証でAdministratorがSQL Serverにログイン可能で、
照合順序をJapanese_CI_AS_KS_WSに変更したい場合は以下のようなコマンドを実行する。


なお、実行できない場合、インストールメディアのSetup.exeで試すとうまくいく場合がある。
理由は不明で、偶然かもしれないが、そういう場合もあった。


参考
データベースの照合順序の設定または変更
システム データベースの再構築

ExpressWebからCoreServerへのサーバー移転 3(ドメイン編)

前回で一通りサイトコンテンツを移動させ、一応アクセスまではできるようになった。
しかし、このままではドメイン名がCORESERVERのデフォルトのもののままになっている。
今まで使っていたドメインでCORESERVERに飛べるようにドメインの設定等を行う。

・CORESERVER側の設定

  1. ネームサーバーを作成する
    ここで「他社登録しているドメインを登録」をクリックする。
    現在利用しているドメイン名を入力し、「登録」をクリックする。
    CORESERVER4
  2. DNS設定を行う
    ここで「ドメインのDNS情報の設定」をクリックする。
    先ほど登録したドメインが表示されているので、それをクリックする。
    「当サービス内サーバーの自動DNS設定」で、CORESERVERで利用しているサーバーを選択し、画面下の「保存」をクリックする。
    CORESERVER5
  3. ドメイン情報を設定する
    再度CORESERVERのコントロールパネルを開き、「マイドメインを利用」をクリックする。
    Sub1にドメイン名を入れ、Mainは空欄にする。
    設定方法は色々だが、Mainにドメイン設定すると管理がめんどくさいような気がするし、
    以後別サイトを開設した場合も、Sub2,3…に追加するだけなのでわかりやすい。
    なお、「転送先URL」は空欄にする。転送してもどうしようもない。
    最後に「ドメイン追加」をクリックする。
    CORESERVER6
  4. ドメインとコンテンツディレクトリを同期させる
    「ドメインウェブ」配下の「同期設定」をクリックする。
    ディレクトリの部分にWORDPRESSをインストールしたディレクトリを入力し、
    「ドメイン設定(同期先)」で用いるドメインを選択し、「同期させる」をクリックする。
    こうしないと、ドメイン名でCORESERVERの自分のサーバーまでたどり着いても、そこから路頭に迷ってしまう。

以上で、CORESERVER側でドメインを受け入れる作業は完了した。


最後にドメインの設定を変更して作業は完了する。
結論から言えば、ドメインのネームサーバーを

プライマリネームサーバー
NS1.VALUE-DOMAIN.COM

セカンダリネームサーバー
NS2.VALUE-DOMAIN.COM
NS3.VALUE-DOMAIN.COM
NS4.VALUE-DOMAIN.COM
NS5.VALUE-DOMAIN.COM

に変更するだけで良い。
(参考: ネームサーバーの設定)

この辺は書くサービスごとに方法は異なると思うので割愛する。


以上で、ExpressWebからCORESERVERへの移行は完了である。
今のところは全く問題なく動作している。
少し気になっていたRSSの取得も、何も設定変更せず今までどおり記事取得できている。

いつかは自宅サーバーにしたいな。
でも、そうすると管理コストが面倒で、結局レンタルサーバーに戻るんだろうな。
インフラって本当に面倒だからね。仕方ないね。

ExpressWebからCoreServerへのサーバー移転 2(サーバー、WordPress編)

サーバー移転をするにあたって、まずWordPressの移動方法を調べた。
どうやらduplicatorというプラグインを使えばかなり簡単に移行できるようだ。
(参考: 「Duplicator」プラグインを使えばWordPressのサイトを丸ごと移行できる!)

ただ、このプラグインでこのサイトをパッケージ化しようとしたところ、エラーになって出来なかった。
どうもフォルダの権限問題のようで、ExpressWebのコントロールパネルから権限フルにしても無理だったので、
仕方なく諦め、手動での移行を行うことを決めた。

テスト環境で試行錯誤を繰り返し、ようやくできた。
どうも一部通常とは異なるやり方をしている箇所もあるが、こうやらないとできなかったので仕方が無い。
原因調査は置いておいて、実際に行った手順を記録する。

なお、俺がやったのは「現行のドメイン名をそのまま用いる」移行であるので、ご了承いただきたい。


・現行サーバー(ExpressWeb)のWordPressデータをローカルに保存する

  1. FTPでWordPressで用いていたファイルを全てローカルにダウンロードする
    通常ならホーム\サイト名\wwwroot内の全ファイル、フォルダになると思う。
  2. MySQLデータをエクスポートする
    ExpressWebなら、コントロールパネルから「データベース」→「MySQL 5.1」で、
    WordPressに用いているデータベースの「データベースを参照」をクリックする。
    ExpressWeb
  3. phpMyAdminのページに移るので、DBログイン情報を入力し、ログインする
  4. WordPressで用いているDBを選択し、エクスポートを行う
    ExpressWeb2
    .sqlファイルがローカルにダウンロードされる

以上でWordPress関連データは全てローカルに保存できた。
後はこれを新サーバーに持って行き、設定を行えば良い。


・移行先サーバー(CORESERVER)にWordPressサイトコンテンツを移動させる。

  1. CORESERVERのコントロールパネルにログインする
    (正直、コントロールパネルわかりにくい。ExpressWebのがいかに使いやすかったか痛感)
  2. 「データベース」をクリックし、WordPress用のNySQLデータベースを作成する
    名前とパスワードは任意のもので良いが、文字コードは「UNICODE」にする。
    CORESERVER1
    一応、データベースが作成されるまでには1〜3分かかるそう。気長に待つ。
  3. WordPressをインストールする
    「CGIインストール」をクリックし、「WordPress 4.2 (ブログ/CMS)」の欄に任意のディレクトリ名を入力し、
    「インストール」をクリックする。
    CORESERVER2
    これも1〜3分かかるそう。気長に待つ。
  4. WordPressの初期設定を行う
    インストールが完了したら、再度「WordPress 4.2 (ブログ/CMS)」に先程入力したディレクトリ名を入力し、
    「開く」をクリックする
    初期設定画面が開かれるので、先ほど作成したDBを用いるようにWordPressを設定する
  5. ローカルに保存していた現行サイトのファイルを全て(wp-config.phpを除く)アップロードする
    具体的には、root/public_html/ディレクトリ名wp-admin等をFTPで移動させる
    ただし、注意点としてwp-config.phpだけは移動させない。
    wp-config.phpを書き換えればよいのだが、そのそもわざわざ移動させなければ良い、と思う。
  6. PhpMyAdminをインストールする
    コントロールパネルの「データベース」をクリックし、
    「■PhpMyAdmin自動インストール(MySQL管理)」の「インストール」をクリックする
    CORESERVEER3
    例によって1〜3分かかるそう。気長に待つ。
  7. 「■PhpMyAdmin自動インストール(MySQL管理)」の「自動」をクリックし、PhpMyAdminにアクセスする
    DB情報を入力し、ログインする
  8. DBデータをインポートする
    WordPressに用いたデータベースを選択し、全てのテーブルを選択、削除してください。
    削除が完了したら、「インポート」をクリックし、事前にエクスポートしていたsqlファイルを選択し、
    「実行」をクリックする。
    CORESERVER3

以上で、移行自体は完了だが、まだ不完全な部分がある。

CORESERVERのデフォルトのドメインを使ったままになっているため、
現行のドメインを用いれていない。

このあたりのことは次回まとめます。
もう眠いのです。

続き→ExpressWebからCoreServerへのサーバー移転 3(ドメイン編)

ExpressWebからCoreServerへのサーバー移転 1

今までこのブログはExpressWebで運用してきたんだけど、
この度ExpressWebがサービス終了という衝撃なニュースが入った。
安い上に素人の俺でも使えるわかりやすいレンタルサーバーだっただけに残念だ。
サポートもめちゃくちゃ丁寧で結構お世話になっていた。

まぁ、嘆いても仕方が無いので、サーバー移行を決意した。
ExpressWebはWindows Serverということが売りだったが、
結局WordPressとFTPでのファイル共有ぐらいでしか使っていない状態だったので、
Windows Serverというくくりは無くして移行先を探した。

条件は「月額500円程度」ぐらい。
そんなわけで吟味して、CORESERVER.JPのCORE-Aプランに決めた。
理由は4つ。
・安い(初期費用無し、12ヶ月契約で月397円)
・大容量(120GB)
・MySQLデータベース数無制限
・マルチドメイン無制限

負荷等を気にしなければかなりの複数サイトの運用も可能である。
要するに、コスパが非常に良い、と思う。

まぁ、サーバー移行という作業が初めてなので、四苦八苦した。
実際に移行した方法を次回まとめておこうと思う。
(特にDNSはどうすればいいのか???だった)

KB3114399でKB3055034の不具合が修正された

Windows UpdateによりOfficeファイルがWebDAVで開けなくなる問題だが、
ようやくMicrosoftが修正アップデートをしたようだ。

https://support.microsoft.com/en-us/kb/3114399

一応、直ったという報告もある。
https://www.reddit.com/r/sysadmin/comments/3vzmia/kb3114399_fixes_sharepoint_office_web_integration/

自分の環境ではまだ試せてないので、試してから追記する。


検証した。
どうやら問題なくWebDAVでのファイルオープンや保存ができるようになった模様。
[解決] KB3055034 適用後、Office 2010 アプリケーションがクラッシュする問題について


追記(2015/12/14)

自分の環境では再現できていないが、一部環境では「名前をつけて保存」時にまだ不具合がある模様。
HOME-BOX2
(「【HOME-BOX2】Office 2010 WebDAV接続不具合に関するご案内(12/10)」の項)

う~ん。これは困った。


追記(2016/02/24)

上記現象もKB3114750でようやく解消した模様。
https://support.microsoft.com/ja-jp/kb/3114750
よかったね。おめでとう。

Hyper-Vの仮想マシンのネットワークを制限する方法

仕事でHyper-V上で複数マシンを立ちあげて管理している。
一応、各ゲストマシンはそれぞれ無関係なので、ゲストマシン間の通信は行えないようにしたい。
ただ、現実問題として使える仮想ネットワークアダプタは限られているので、
どうしても同じネットワークアダプタを使わざるを得ない。

何とか良い通信制御方法は無いかと探していたら、Hyper-VでAcl(アクセス制御)ができることが分かった。
ホストマシンでコマンド実行するだけなので、一度わかればかなり楽に設定が可能である。
なお、Windows Server 2012からの機能なので、恐らくWindows Server 2008 R2とかその世代のものではできないと思う。


ホストマシンからPowerShellで以下のコマンドを実行すると設定等が実行できる。
なお、ここで「VM名」と言っているのはHyper-Vマネージャ上で表示されている仮想マシンの名称のことである。

  • 設定を確認する
  • 設定を追加する
    ・<Action>・・・接続拒否ならDeny、接続許可ならAllow、計測ならMeter。
    ・<Direction>・・・VMへの入力方向ならinbound、VMからの出力方向ならoutbound、VMの入出力両方ならBoth。
    ・<VM名>・・・対象のVM名を指定する。コンピュータ名でなくVM名なことに注意。
    ・<対象IPアドレス>・・・対象のIPアドレス。CIDR表記での設定も可能。
  • 設定を削除する
    要するに、addしたものと同じ設定を指定してDeleteする必要がある。何と面倒な。

例えば、192.168.0.1がルータで、192.168.0.xが別のゲストマシンの場合、
以下のようにすれば、「ルータ(=インターネット)にのみ接続し、他の同ネットワーク上マシンとは通信しない」という設定が可能である。

以下のページがより詳しいので参照すると良い。
僕はこのページが無くては詰んでいました。ありがとうございます。
参考: Windows Server 2012 Hyper-VでPort ACL・その1


いよいよ日本に帰任しそう。
引越し手続きとか全部やってくれないかね。
自分で手配するの面倒臭いし絶対何かミスしそう。

Windows Server 2012のRDPでサーバー証明書を設定する方法

RDP(リモートデスクトップ)でキチンとセキュアな環境を整えるためには、
サーバー証明書を設定する必要がある。
設定する理由と、設定しない場合の弊害は下記記事を参照するとわかりやすい。
参考: リモート・デスクトップ接続のサーバに「正しい」証明書を割り当てる

さて、それでWindows Server 2008 R2であればGUIで簡単に割り当てられるのだが、
Windows Server 2012では同様の項目が見つからなかった。
調べた結果、どうもPowerShellを使うぐらいしか方法が見つからなかったので、その方法を記載する。

  1. 新しい証明書をダブルクリックし、インポートする。
  2. PowerShellを管理者として実行する。
  3. 以下を実行し、新しい証明書のThumbprintを確認する。
  4. 以下を実行する。これは単にパスを設定するだけである。
  5. 以下を実行し、証明書の割当を変更する。

以上の手順で証明書を設定できる。
実行後、特にエラーが起きないことを確認したら、RDPを切断し、再度RDPで接続できることを念の為に確認する。
RDPしたときのウィンドウ上の鍵マークをクリックすれば、設定した証明書が利用できているか確認できる。

他に方法はあるはずだと思うけど、上記手順で行えたので調査は打ち切りです。
こんな操作すること滅多にないしね。


こういう作業の何が嫌かって、万が一ミスってRDPできなくなったときだね。
データセンターのサーバーに対してやる場合、最悪データセンターに行かなくてはならなくなる・・・

Windows Update KB3055034で凄く困った(修正済。詳細は追記より)

恒例のWindows Updateによる不具合。
今まで運が良かったのか遭遇したことはなかったんだけど、昨日、とうとう大きなトラブルにぶち当たった。
それも仕事関係なのが救えない。

Microsoft Office 2010(KB3055034)の更新プログラム

何が問題かって、この更新プログラムをインストールすることにより、
Excel2010で、Web上のOfficeドキュメントをWebDAVで開けなくなるのだ。
俺が確認したのはSharePoint2010上のファイルだけど、情報調査した限りWebDAV使う物全般がダメになっているみたい。
確認した限り、現象は「認証ダイアログが何回も表示される」「Excelがクラッシュする」等。

今のところ、どうもネット上にはまだ情報があまりない。
一応、確認したのは以下のページ。

KB3055034 breaks opening Office files directly from sharepoint
HOME-BOX2(お知らせの部分)

なお、このKB3055034をアンインストールすることにより問題は解消した。
方法は以下のとおり。

・手動でアンインストールする方法
1. 「コントロールパネル」を開き、「プログラム」をクリックする
2. 「プログラムと機能」の「インストールされた更新プログラムを表示」をクリックする
3. 「Microsoft Office」カテゴリ内の「Update for Microsoft Office 2010(KB3055034)」を右クリックし、「アンインストール」をクリックする
4. ダイアログの指示に従ってアンインストールする

・コマンドで実行する方法
以下のコマンドを実行する

アンインストーラーが立ち上がるので、指示に従ってアンインストールを行う(再起動が必要)


MicrosoftがKB3055034を取りやめない限り、Wndows Updateを行うとまたKB3055034が入ってしまう。
そのため、以下の対策を行う。

・再度KB3055034をインストールしないように設定する方法
1. 「Windows Update」を起動する
2. 「更新プログラムの確認」をクリックし、現在インストールできる更新プログラムを取得する
3. 取得が完了したら「XX個の重要な更新プログラムが利用可能です」をクリックする
4. 「Office 2010」内の「Microsoft Office 2010(KB3055034)の更新プログラム」のチェックを外す
5. 「Microsoft Office 2010(KB3055034)の更新プログラム」を右クリックし、「更新プログラムの非表示」をクリックする
6. 「OK」をクリックする


しかし、KB3055034からどうしてこんなトラブルが発生するのか。
だってこの更新プログラムの内容って

Microsoft Word 2010 で、ドキュメントにカスタム作業ウィンドウが表示されたら、組み込みの作業ウィンドウに情報が更新されません。
たとえば、選択したテキストの書式は、書式の詳細設定] 作業ウィンドウで更新されません。

だよ?
Officeの内部コードの闇は深い、ということなのか。

ってか、Office2010のメインストリームサポートってこの更新プログラムが出た2015/10/13に切れてるんだな・・・
Microsoft Office 製品に関する各 OS のサポート状況
修正パッチがでなかったらどうしよう・・・


追記(2015/10/20)

どうやら、KB3055034をアンインストールし、ファイルを開けるようになっても、
編集して保存することができなくなるパターンが有るようだ。
その場合はKB3054886も同様にアンインストールすると編集、保存が可能になる。

また、IEの「信頼済みサイト」に登録することで回避できる場合もあるようだ(未確認)
MSの公式情報で確認できるのは今のところ下記だけである。
https://community.office365.com/ja-jp/f/347/t/414294

早くパッチでないかねぇ。


追記(2015/11/24)

2015/11/11のWinddows Updateで同様の現象が再発する模様。
KB3101521のアンインストールで解消した。
https://support.microsoft.com/ja-jp/kb/3101521

mso.dllに含まれる不具合のようなので、
今後もmso.dllが更新されると再発すると思われる。


追記(2015/12/09)

KB3114399でKB3055034の不具合が修正されたことが分かった。
これで無心でWindows Updateできるね。
よかったね。おめでとう。

サーバー購入計画

本当になんの目的もないただの雑記です。

最近、個人的にサーバーを持ちたいと思うようになった。
単純に適用な仮想マシンを立ちあげたいというだけで、目的は一切ない。

完全に趣味である。
まぁ、仕事でWindows Serverを結構使うので、その練習台にしたいという意味合いもあるにはある。
ドメイン環境とか無意味に作りたい。

現実的にはファイルサーバー運用になるとは思う。
性能は殆どどうでもいいので安いものを探しているんだけど、下のやつが結構良さそう。
HP ProLiant MicroServer Turion II NEO N5 F1F35A0-AAAE

2万円切るなら十分でしょう。
HDDは追加でWDの赤、4TBを2つ買う予定。
一応ファイルサーバーなので、RAID1は組んでおきたいのです。

Hyper-V Server 2012 R2をインストールして、その中にWindows Server 2012 R2を仮想マシンとしてインストールする予定。
この辺りは仕事でもやっているので特に問題ないと思う。
Windows Server 2012 R2はどっかで買おう。
LINUX?知らん。

そういや仕事で初めてHyper-V Server入れたときはちょっと苦労した。ドメイン参加していないと結構面倒臭いのね
都合上ドメイン参加はできなかったので辛かった。
・・・と言っても、一度やれれば次は5分でできるような作業だけど。
このページには本当にお世話になりました。
Hyper-V ServerをGUIで使い、仮想マシンを作成してみる

しかし、肝心な点として、普段使っているマシンはMacなんだよな・・・。
Macで使えるHyper-V Managerって無いのかしら。
初期設定だけはVirtualBoxでwindows立ちあげてやるしかないか。

しかし、そこまでして何故俺はMacを使うんだろう。
正直、結構Windows使いに戻った方がいいんじゃないかと思うときもある。

LINUXに何度挫折したか分からん。どうも、IT音痴です。

何が書きたかったんだこの記事。