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”」と同じでした。

Beijing LINXという中華圏のLinux

NetBackupの「OS Software Compatibility List」を見ていたら「Beijing Linx Software Corp Linx」の「Linx 6.0 Update 60以降に対応」といった記述を発見。

調べて見ると「北京凝思科技有限公司(LINX-TECH)」という会社で作っているようで「服务与支持 > 软件下载 > 操作系统」で凝思安全操作系统V6.0.42、凝思安全操作系统V6.0.60、凝思安全操作系统V6.0.80のISOがダウンロードできるようだ。

LINXの詳細を探してみると「凝思产品 > 通用产品 > 凝思安全操作系统 > 凝思安全操作系统V6.0.60」というのがあって、CPUアーキテクチャ的にはx86_64,i386,PowerPC(PPC),IA64(Itanium),MIPS,Godson(龍芯/Loongson),SPARCにも対応してるらしい。ソフトウェアパッケージはdeb形式。

また「凝思产品 > 通用产品 > 凝思安全操作系统 > 凝思安全操作系统V6.0.80」を見てみると、kernel 4.9.0で、対応CPUアーキテクチャはx86_64,i386,PowerPC(ppc64el,powerpc),MIPS,ARM(armel,armhf,arm64)に変わっていた。

下のバージョン変化の割りに結構大きな差があるようだ

SolarisのCDE画面

ちょっと確認したいことがあったので、ESXiの上でSolaris10 x86を起動してみたりするなど。

FOSDEM2019関連メモ

mSATAやM.2、mini PCIeからSATAコネクタを取り出す

これを使えばNUCもNASに!?

4ポート以上がオンボードなマザーボード単品

LR-LINKの興味深いNIC集

1GbのSPF+をUSB3.0接続にする。

10GbのSPF+モジュールを2つ使えるNIC

mini PCIeから2ポートの「1Gb SFP+」か「1000Base-T」を出せるIntelチップ採用の増設カード。
NUC向け?