WordPress on Windows Server 2016 のインストール手順を解説
Windows Server 2016 に WordPress を手動でインストールする方法について説明します。
Web Platform Installer が動かなくて困った
このブログは Azure VM の Windows Server 2012 R2 に WordPress をセットアップして運用していましたが、Windows Server 2016 もリリースされたし、Application Gateway で WAF も使えるようになったし、もろもろアップグレードしてみることにしました。
Web Platform Installer を使えばセットアップもすぐ終わるし・・・と思いきや、Windows Server 2016 で Web Platform Installer を使って WordPress をインストールしようとしたらエラーが出て動きません。
しょうがないので、Web Platform Installer が何をやっているのか調べながら、手動で WordPress をインストールしてみました。
いろいろとインストール
まずは IIS の設定。
Windows Server 2016 で IIS を以下の構成でセットアップ。「IP およびドメインの制限」はインストールしなくても良いですが、WordPress の管理系のファイルに対するアクセスを IP アドレスでフィルタリングしたかったのでインストールしました。
[X] Web サーバー (IIS)
[X] Web サーバー
[X] HTTP 共通機能
[X] HTTP エラー
[X] ディレクトリの参照
[X] 既定のドキュメント
[X] 静的なコンテンツ
[X] セキュリティ
[X] 要求フィルター
[X] IP およびドメインの制限
[X] パフォーマンス
[X] 静的なコンテンツの圧縮
[X] 状態と診断
[X] HTTP ログ
[X] ログ ツール
[X] 要求の監視
[X] アプリケーション開発
[X] CGI
[X] 管理ツール
[X] IIS 管理コンソール
次、URL Rewrite Module のインストール。このモジュールは、WordPress のパーマリンクの動作に必要。
インストーラーは下からダウンロード。
https://www.iis.net/downloads/microsoft/url-rewrite
次、PHP のインストール。今回は v5.6.28 を使ってみました。
下のページから「VC11 x64 Non Thread Safe (2016-Nov-09 18:10:02)」のモジュールをダウンロード。
https://windows.php.net/download/
ダウンロードしたモジュールを解凍して、”C:\Program Files\PHP\v5.6.28” に置いておく。
次、PHP WinCache のインストール。
下のページから、「php_wincache-1.3.7.12-5.6-nts-vc11-x64.zip」のモジュールをダウンロード。
http://windows.php.net/downloads/pecl/releases/wincache/
ダウンロードしたモジュールを解凍して、”C:\Program Files\PHP\v5.6.28\ext\php_wincache.dll” に置いておく。
次、MySQL のインストール。今回は v5.7.16 を使ってみました。
下のページから Windows 用のインストーラーをダウンロード。
https://dev.mysql.com/downloads/installer/
インストールの方法に「Custom」を選んで、以下のものを選択。Workbench はお好みで。
次、WordPress のインストール。今回は v4.6.1 を使ってみました。
下のページからダウンロード。
https://ja.wordpress.org/
ダウンロードしたモジュールを解凍して、IIS のルートフォルダに置いておく(例:”C:\inetpub\wordpress”)。
次、VC++ 2012 Runtime のインストール。PHP の実行に必要。
下のページからダウンロードしてインストール。
https://www.microsoft.com/ja-JP/download/details.aspx?id=30679
次、VC++ 2013 Runtime のインストール。MySQL Workbench の実行に必要。Workbench をインストールしていない場合には省略可。
下のページからダウンロードしてインストール。
https://www.microsoft.com/ja-jp/download/details.aspx?id=40784
以上でモジュールの用意は完了。
IIS の設定
まずはサイトを作成して、WordPress のファイルが入っているフォルダを指定。
この時、アプリケーション プールの設定は以下の通り。
次、FastCGI の設定。以下のように PHP の実行ファイルのパスを設定する。
各種パラメーターは以下の通り。
次、ハンドラー マッピングの設定。[モジュール マップの追加] で、以下のように設定。
次、既定のドキュメントの設定。
作成した WordPress 用のサイトの [既定のドキュメント] を開いて、”index.php” を追加。
次、ディレクトリの参照設定。
作成した WordPress 用のサイトの [ディレクトリの参照] を開いて、参照許可の設定をする。
次、WordPress のファイルを置いてあるフォルダのアクセス権の設定。
フォルダのプロパティから [セキュリティ] を開いて、以下の 2 つのユーザーの追加とアクセス権の設定を行う。
IUSR:変更、読み取りと実行、フォルダーの内容の一覧表示、読み取り、書き込み
IIS_IUSRS:読み取りと実行、フォルダーの内容の一覧表示、読み取り
PHP の設定
“C:\Program Files\PHP\v5.6.28\php.ini-production” を “C:\Program Files\PHP\v5.6.28\php.ini” にコピー。
コピーした php.ini を開いて、ファイルの最後に以下の記述を追加。「[WebPIChanges]」じゃなくても良いと思いますが、Web Platform Installer が書き込んだ内容をそのまま拝借。
[WebPIChanges]
error_log=C:\Windows\temp\PHP5628_errors.log
upload_tmp_dir=C:\Windows\temp
session.save_path=C:\Windows\temp
cgi.force_redirect=0
cgi.fix_pathinfo=1
fastcgi.impersonate=1
fastcgi.logging=0
max_execution_time=300
date.timezone=Asia/Tokyo
extension_dir=”C:\Program Files\PHP\v5.6.28\ext”
[ExtensionList]
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll
[PHP_WINCACHE]
extension=php_wincache.dll
MySQL の設定
以下のページを参考に、WordPress のデータを入れる DB を作成。
https://wpdocs.osdn.jp/WordPress_%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
mysql> CREATE DATABASE <DB 名>;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON <DB 名>;.* TO “<DB ユーザー名>”@”<ホスト名、localhost など>”
-> IDENTIFIED BY “<パスワード>”;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
動作確認
WordPress の URL (http://localhost) などにアクセスして、以下の画面が表示されたら大成功。
まとめ
この手順を全自動でやってくれる Web Platform Installer はえらい。
早く Windows Server 2016 にも対応してね。