Windows Server 2016 に WordPress を手動でインストールしてみた

Facebooktwittermail

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 をインストールしようとしたらエラーが出て動かない。

image

しょうがないので、Web Platform Installer が何をやっているのか調べながら、手動で WordPress をインストールしてみた。

いろいろとインストール

まずは IIS の設定

Windows Server 2016 で IIS を以下の構成でセットアップ。「IP およびドメインの制限」はインストールしなくても良いけど、管理系のファイルに対するアクセスを 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)」のモジュールをダウンロード。

http://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 用のインストーラーをダウンロード。

http://dev.mysql.com/downloads/installer/

インストールの方法に「Custom」を選んで、以下のものを選択。Workbench はお好みで。

image

 

次、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 のファイルが入っているフォルダを指定。

この時、アプリケーション プールの設定は以下の通り。

image

 

次、FastCGI の設定。以下のように PHP の実行ファイルのパスを設定する。

image

各種パラメーターは以下の通り。

image

 

次、ハンドラー マッピングの設定。[モジュール マップの追加] で、以下のように設定。

image

 

次、既定のドキュメントの設定

作成した WordPress 用のサイトの [既定のドキュメント] を開いて、”index.php” を追加。

image

 

次、ディレクトリの参照設定

作成した WordPress 用のサイトの [ディレクトリの参照] を開いて、参照許可の設定をする。

image

 

次、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)などにアクセスして、以下の画面が表示されたら大成功。

image

まとめ

この手順を全自動でやってくれる Web Platform Installer はえらい。

早く Windows Server 2016 にも対応してね。

Facebooktwittermail