N-LAB

WordPressをWindowsのローカルに環境構築する方法


目標

・Apache 2.4.57 Win64
・PHP 8.2 (8.2.4)
・MySQL 8.0.32
・WordPress 6.2

目次

  1. Apacheインストール
  2. PHPインストール
  3. ApacheとPHPの連携
  4. ApacheとPHP動作確認
  5. MySQLインストール
  6. MySQLのデータベースとユーザー作成
  7. WordPressインストール
  8. WordPress動作確認


Apacheインストール

(1). Apache Loungeへアクセスします。
(2). ダウンロードページが表示されるので、Apache 2.4.57 Win64の項目にある「httpd-2.4.57-win64-VS17.zip」をクリックします。
(3). ダウンロード後、httpd-2.4.57-win64-VS17.zipを任意の場所に解凍します。
(4). 解凍後、「Apache24」フォルダを任意の場所に配置します。
※本手順ではCドライブの直下(C:\)に配置します。以降の手順ではCドライブ直下に配置している前提とします。
(5).「C:\Apache24」フォルダを開き、「conf」フォルダを開きます。
(6).「conf」フォルダ内に存在する「httpd.conf」をテキストエディタで開き、以下の変更後の内容で修正して保存します。
変更前

#ServerName www.example.com:80
Define SRVROOT "c:/Apache24"
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

変更後

ServerName localhost
Define SRVROOT "C:/Apache24"
DocumentRoot "C:/www"
<Directory "C:/www">

(7). Cドライブの直下(C:\)に「www」フォルダを作成します。
※以降の手順ではこのフォルダを公開用フォルダとして利用し、公開したいファイルを配置していきます。
(8). 管理者権限でコマンドプロンプトを起動し、以下のコマンドを入力します。

cd C:\Apache24\bin
httpd -k install

(9). 手順8を実行するとApacheの使用が可能になるので管理者権限でコマンドプロンプトを起動し、以下のコマンドを入力してApacheを起動します。

cd C:\Apache24\bin
httpd -k start

(10). http://localhost/にアクセスして画面が表示されていればApacheが正常に起動しています。
(11). 手順9で起動したApacheを停止するには管理者権限でコマンドプロンプトを起動し、以下のコマンドを入力してApacheを停止します。

cd C:\Apache24\bin
httpd -k stop

(12). http://localhost/にアクセスして画面が表示されていなければApacheが正常に停止しています。

PHPインストール

(1). PHP公式ダウンロードページへアクセスします。
(2). ダウンロードページが表示されるので、PHP 8.2 (8.2.4)のVS16 x64 Thread Safe項目にある「Zip」をクリックします。
(3). ダウンロード後、「php8」フォルダを任意の場所に新規作成します。ダウンロードしたZipファイルを「php8」フォルダに解凍します。
※本手順では「php8」フォルダをCドライブの直下(C:\)に配置しています。以降の手順ではCドライブ直下に配置している前提とします。
(4). 「C:\php8」フォルダを開き、フォルダ内の「php.ini-development」ファイルをコピーし、同じフォルダ内にペーストしてファイル名を「php.ini」に変更します。
(5). 「php.ini」」をテキストエディタで開き、以下の変更後の内容で修正して保存します。
変更前

;date.timezone =
;extension_dir = "ext"
;extension=curl
;extension=gd
;extension=mbstring
;extension=mysqli
;extension=openssl
;extension=pdo_mysql

変更後

date.timezone = Asia/Tokyo
extension_dir = "C:/php8/ext"
extension=curl
extension=gd
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql

 ※extension_dirにはphp8フォルダ内の「ext」フォルダのパスを指定します。本手順ではCドライブ直下に「php8」が存在するため「C:/php8/ext」を設定しています。

ApacheとPHPの連携

(1). 手順「Apacheインストール」で配置した「Apache24」フォルダ内の「conf」フォルダを開きます。
(2). 「conf」フォルダ内に存在する「httpd.conf」をテキストエディタで開き、末尾に以下の内容を追記して保存します。

#本手順ではCドライブ直下に「php8」が存在するため「C:/php8」を設定
LoadModule php_module "C:/php8/php8apache2_4.dll"
PHPIniDir "C:/php8"

<IfModule mime_module>
  AddType application/x-httpd-php .php
</IfModule>
<IfModule dir_module>
  DirectoryIndex index.html index.php
</IfModule>


ApacheとPHP動作確認

(1). 管理者権限でコマンドプロンプトを起動し、以下のコマンドを入力してApacheを起動します。

cd C:\Apache24\bin
httpd -k start

(2). http://localhost/にアクセスして画面が表示されることを確認します。
※Apacheが起動できず、C:\Apache24\logsのerror.logに以下の内容が出力されている場合は、VisualStudio2019のMicrosoft Visual C++ 再頒布可能パッケージをインストールすることで解消可能です。

PHP Warning:  'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0


(1). 手順「Apacheインストール」で設定した公開用フォルダを開きます。
※本手順では公開用フォルダとしてCドライブ直下の「www」フォルダを使用しています。
(2). 公開用フォルダ内に「info.php」という名前のファイルを新規作成します。
(3). 「info.php」をテキストエディタで開き、以下の内容を記載して上書き保存します。

<?php
phpinfo();
?>

※上記のコードはPHPの設定情報等を出力する関数です。PHPがインストール+Apache連携設定が正しく設定されている場合は、インストールしたPHPの設定情報等が表で表示され、失敗している場合は上記のコードが文字としてそのまま画面に表示されます。
(4). 次のURLにアクセスします。http://localhost/info.php
(5). タイトルがPHP Version 8.2.4と表示されたページが表示されることを確認します。

MySQLインストール

(1). MySQLのダウンロードページへアクセスします。
(2). ダウンロードページが表示されるので、「No thanks, just start my download.」をクリックします。
(3). ダウンロード後、「mysql-installer-community-8.0.32.0.msi」が保存されるのでこのファイルをダブルクリックします。
(4). インストーラー画面が表示されるので手順に従いインストールを実施します。
「Developer Default」を選択し、「Next」をクリックします。
choosing a setup type
「Next」をクリックします。
※この画面では前提となるソフトウェアがインストールされていない場合にリストで表示されます。MySQLのインストール自体には問題ないため本手順では「Next」をクリックしています。
check requirements
前提となるソフトウェアがインストールされていないため警告文が表示されますが、「Yes」をクリックします。
product requirements habe not been satisfied
「Execute」をクリックします。
※この画面のProduct列に表示されているソフトウェアがインストールされます。
installtion
「Next」をクリックします。
installtion confirm
「Next」をクリックします。
product configuration
「Next」をクリックします。
※MySQL以外のデータベースをすでにインストールしていてポート番号の3306番を利用できない場合は3306番以外のポート番号を指定してください。
type and networking
Use Strong Password Encryption for Authenticationを選択し、「Next」をクリックします。
authentication method
※「Use Strong Password Encryption for Authentication」を選択するとMySQL8より導入された新しい認証方式(cachingsha2password)を利用します。
新しい認証方式(cachingsha2password)はPHPにおいて7.1.16以降と7.2.4以降と7.4.4以降のバージョンで対応されましたが、それ以外のバージョン(PHP 7.1.16以前、PHP 7.2.4より前の7.2系のPHP)ではPHPからMySQL接続時に以下のエラーが発生します。

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

上記のエラーを回避するために、PHP 7.1.16以前、PHP 7.2.4より前の7.2系のPHPを既にインストールしている場合は、「Use Legacy Authentication Method(Retain MySQL 5.x Cmpatibility)」を選択して、「Next」をクリックしてください。

MySQL Root PasswordとRepeat Passwordに任意のパスワードを入力して「Next」をクリックします。
※本手順書では「root」を設定しています。次項の「MySQLのデータベースとユーザー作成」でここで設定したパスワードを使用します。
accounts and roles
「Next」をクリックします。
windows service
「Next」をクリックします。
sercer file permissions
「Execute」をクリックします。
apply configuration
「Finish」をクリックします。
apply configuration confirm
「Next」をクリックします。
product configuration
「Finish」をクリックします。
※この画面では負荷分散のための設定を行いますがここでは何も設定をせず次の画面に進みます。
mysql router configuration
「Next」をクリックします。
product configuration
Password欄に先ほど設定したパスワードを入力して「Check」をクリックします。
MySQL ServerのStatusに「Connection suceeded」と表示されていることを確認してから「Next」をクリックします。
connect to server
「Execute」をクリックします。
apply configuration
「Finish」をクリックします。
apply configuration confirm
「Next」をクリックします。
product configuration
Start MySQL Workbench after setupとStart MySQL Shell after setupのチェックを外して「Finish」をクリックします。
installation complete

MySQLのデータベースとユーザー作成

(1). コマンドプロンプトを起動し、以下のコマンドを入力します。

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql -u root -p{「MySQLインストール」で設定したパスワード}

※本手順書では「mysql -u root -proot」を入力

CREATE DATABASE wordpressdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON `wordpressdb`.* TO 'username'@'localhost';

※ここではユーザー名に「username」、パスワードは「pass」を指定しているので適宜任意の値で置き換えてください。
※MySQL 8.0よりユーザー作成と権限付与は同時実行できなくなったため、ユーザー作成と権限付与を分けて行っています。
※GRANTの場合は変更を即時反映させるために「FLUSH PRIVILEGES;」を実行する必要はありあせん。
(2). 作成したユーザーでMySQにログインするためにコマンドプロンプトを起動し、以下のコマンドを入力します。

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql -u username -ppass
use wordpressdb;

(3). 「use wordpressdb;」実行後に「Database changed」と表示されていることを確認します。
※以降のWordPressインストール時に用いるため、ここで設定したデータベース名、ユーザー名、パスワードを控えておいてください。
※本手順書ではそれぞれ以下の値で設定しています。
データベース名:wordpressdb
ユーザー名:username
パスワード:pass

WordPressインストール

(1). こちらからWordPress公式サイトのダウンロードページへアクセスします。
(2). 「WordPress 6.2 をダウンロード」をクリックします。
(3). ダウンロード後、Zipを解凍すると「wordpress」フォルダが出力されるので「Apacheインストール」で設定した公開用のフォルダ内に配置します。
※本手順書では Cドライブの直下の「www」フォルダ内に配置します。
(4). 「wordpress」フォルダを公開用のフォルダ内に配置後に、以下のURLを入力します。
http://localhost/wordpress

「さあ、始めましょう !」をクリックします。
wordpress install
「6. MySQLデータベース・ユーザー作成」で作成したデータベース名、ユーザー名、パスワードを入力して「送信」をクリックします。
※本手順書では以下の値で設定しています。
データベース名: wordpressdb
ユーザー名:username
パスワード:pass
input database info
※「送信」をクリックした際に「データベース接続確立エラー」が発生した場合はコマンドプロンプトを起動し、以下のコマンドを入力します。入力後は再度http://localhost/wordpressへアクセスし、手順をやり直します。

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql -u root -p{「MySQLインストール」設定したパスワード}

※本手順書では「mysql -u root -proot」を入力

use mysql
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass';

※'username'、'pass'は「6. MySQLデータベース・ユーザー作成」で作成したユーザー名、パスワードを入力すること。
※上記事象はMySQL8.0より認証方法が変更されたため発生。詳細は以下を参照。
https://blog.janjan.net/2018/11/01/mysql8-request-authentication-method-unknown-to-the-client

「インストール実行」をクリックします。
start installation
以下の値を設定して、「WordPressをインストール」をクリックします。
サイトのタイトル :任意のタイトル
ユーザー名:任意のユーザー名(本手順書では「admin」を設定)
パスワード:任意のパスワード(本手順書では「admin」を設定)
メールアドレス:任意のアドレス
input wordpress info
「ログイン」をクリックします。
※ユーザー名は先ほど設定したユーザー名が表示されます。
success wordpress installtion
ユーザー名とパスワードを先ほど設定した値で入力し、「ログイン」をクリックします。
※本手順書ではユーザー名とパスワードはadminで設定しています。
wordpress login
WordPressのダッシュボード画面へと遷移していることを確認します。
admin page

WordPress動作確認

http://localhost/wordpress
homepage

http://localhost/wordpress/wp-admin/
admin page


以上で全ての手順は完了になります