Windows Server上でIISを使ったWordPressサーバを作る

途中まで書いたところで、書く場所を間違えていたことに気がつくなど・・・移植面倒だからこのままでいいや


Windows Server上でIISを利用したWordpressサーバを立てるという話、既存の書いてある情報がイマイチだったので、実際に試してみた。

結論的なところ

・インストールはWeb Platform Installer 5.1を使うと、phpインストール、IISインストールとポート80番で公開するためのIIS設定も含めてやってくれる

・php 7.1.25(x86)がインストールされるがプログラム一覧には出てこない

・MySQL Server 5.1とMySQL Connector Net 6.9.7がインストールされ、こちらはプログラム一覧に出る

・WordPress 5.0.3がインストールされた(2019/05/24時点)

・WordpressのWeb管理画面からのアップデートは難しい

・php,MySQL Serverのアップデートは自分達でなんとかする必要がある。

設定手順

その1: Windows Serverのセットアップ

Windows Serverを適切にセットアップする。

その2:Web platform Installerを実行

Microsoft Web Platform Installerを入手する。

「Install this extention」のリンクをクリックするとv5.1用のセットアップがダウンロードできるので、実行する。

スタートメニューに「Microsoft Web Platform Installer」が追加されるので、実行する。

まずは下記ような「スポットライト」のところが表示される。

右上の検索ウィンドウに「wordpress」と入れて検索する。

表示される「WordPress (英語)」を「追加」する。

「インストール」をクリックすると、これからインストールするMySQL Serverの管理ユーザrootにつけるパスワード入力を求められるので、パスワードを入力する。

次に下記の様な「前提条件」と「直接ダウンロードリンク」なんてのが表示されるので、一瞬手動でインストールしなきゃいけないの!?とか感じるけれど、これはMicrosoft製品じゃないものをインストールすることによる確認のため。

「同意する」を選んで進める。

必要なファイルのダウンロードとインストールが開始されます。

IIS上のどこにWordpressを登録するかを指定します。

WordPress上で使用する各種パラメータを設定します。

「続行」をクリックするとWordpressがインストールされます。

セットアップが完了し、インストールされたものの一覧と、WordPress用に作成されたMySQLデータベースの名前/ユーザ名/パスワードを確認します。

その3 インストール後の状況

インストール後、スタートメニューにはこんな感じでプログラムが増えます。

プログラム一覧には以下の様になります。(vSphere環境上なのでVMware Toolsがいます)

その4 WordPress初期セットアップ

「http://IPアドレス/wordpress/wp-admin/install.php」にアクセスし初期セットアップを実行します。

MySQLデータベースへの接続設定は完了している状態なので、管理者ユーザ名とパスワード、メールアドレスの登録となります。

その5 追加設定

標準設定の場合、個別記事へのリンクが正常に動作しません。

[設定]-[パーマリンク設定]の「共通設定」にて「基本」に変更することが最も設定が面倒くさくない対応となります。

アップデート問題

WordPressのアップデート

WordPressのWeb管理画面にアクセスすると、以下の様にWordPressのアップデートが検出されます。

しかし、更新しようとすると、下記の様にftpによる接続情報が求められます。

IISのftpサーバ機能を有効にするという手もあるんでしょうけど、アップデートのためだけに有効にするのもリソースの無駄遣い。

CLIによるアップデートで対応できます。

WP CLI」というコマンドラインでWordPressをアップデートするためのツールが提供されているのでそれを利用します。

標準設定のままWordPressをインストールすると「C:\Inetpub\wwwroot\wordpress」にWordPressがインストールされています。

で・・・WP CLIのページからwp-cli.pharをダウンロードして適当な場所に置きます。

コマンドプロンプトを開いて「cd c:\inetpub\wwwroot\wordress」に移動したあと

「php C:\User\Administrator\Downloads\wp-cli.phar core update」と実行すると、WordPress本体がアップデートされます。

プラグインのアップデートは「 php C:\User\Administrator\Downloads\wp-cli.phar plugin update –all」で行います。

テーマのアップデートは「 php C:\User\Administrator\Downloads\wp-cli.phar theme update –all」です。

このほか、翻訳のアップデートがある場合は「(略) language core update」「 (略) language plugin update –all」「 (略) language theme update -all」を実行します。

phpのアップデート

インストールされたphpはphp 7.1.25 MSVC14 x86だった。

php公式の「Windows版ダウンロードページ」にはphp 7.1.xの最新版として7.1.29がある。

このうち「VC14 x86 Non Thread Safe」が元々インストールされていたもののにあたる。(なお、 VC14 x86 Thread Safe の方は「ZTS MSVC 14 (Visual C++ 2015) x86」という表記となる)

phpはインストーラ形式ではないため、zipを展開し、「C:\Program Files (x86)\PHP\v7.1」にインストールされているものと中身を入れ替えることで、アップデートとなる。

MySQLのアップデート

MySQLの 「Windows版ダウンロード」から「mysql-installer-community-???.msi」のファイルをダウンロードしてインストールすればアップデートされそうだったのですが、エラーでMySQL Serverのアップデートは失敗。

MySQL Connectorのみアップデートできました。

なお、「Windows (x86, 32-bit), MSI Installer」とダウンロードページにありますが「Note: MySQL Installer is 32 bit, but will install both 32 bit and 64 bit binaries.」とも記載されているようにダウンローダが32bitなだけとなります。

「Reconfigure」をクリックしたらエラーになってしまいました。

エラー内容は「Bug #81594 installing error “Package has already been queued”」と同じでした。

こっちのblogではないとこがアタックされた件

で・・・これを対処した次の日にWordpress 5.2が出たのは5.1系のバグだったりしたんだろうか?

showroomの配信はどこからやってくるか?

通称バーチャル蠱毒のAVATER2.0 極の九条林檎様をきっかけに、いまのところ結目ゆい&白乃クロミの3人をベースにいろいろ視聴している。

で、先週からshowroomでバーチャルジャニーズの配信が始まったのだが、初日は来場6万に耐えきれずトラブルが起きてた。

そこからいろいろ対応されてみたみたなんだけど、昨日また環境が変わったようで、他の配信者がなんかよく音が途切れる、という話をしていたので、どういったサーバからデータ来てるのかな?と見てみた。

まず、メインとなるのはwww.showroom-live.com。ここから各配信ページに飛ぶと、「映像と音声はts+m3uファイル」「アイコン画像」「コメントやギフト」の3種類のデータに分かれる

映像と音声系は「edge-???.showroom-live.com」というホスト名からやってきている。たぶん、showroom用の占有サーバなのかな?という感じ。負荷が想像以上高くなっても分散できるのかな?

ただ、バーチャルジャニーズ来場者6万人の時、映像と音声は特に問題なく動いていたので、案外大丈夫そう

アイコン画像とかは「http://image.showroom-live.com 」というホスト名でこれはさらに「http://image.showroom-live.com.cdn-dena.com 」という名前になったあとAkamaiのCDNサービス上にある「~.akamaiedge.net 」になっている。こちらは、Akamai様におまかせなので、負荷が高くなってもたぶん大丈夫。

コメントやギフト関連はWebSocketで隠蔽されているところがあるので、いまいち実態がみえにくい。6万人の時は、ここのシステムのバックエンドキューが詰まったらしく、10分ほどコメントが止まっていたりした。10分後、それまでに送信されたコメントやギフトが全部反映されたので、サーバやプロセスが死んだわけではなかったようだ。

で、昨日あたりからは、バーチャルジャニーズの配信だけ、tsデータが「hls-cdn??-showroom.cdn-dena.com」というホスト名からやってくるようになって、その実態はAmazon CloudFont上の「~.cloudfront.net」となっていた。

Amazonのサービスに載せたので、おそらく負荷に応じてサーバが自動的に増えたり減ったりするのだろうと思われる。


既存のAndroid7.0以降端末までFIDO2対応という話

Google Playサービスのアップデートにより、既存のAndroid 7.0以降のAndroid端末がFIDO2に対応し、利用しやすくなる、という話