ブログやWebサイトを簡単に作れるWordPressですが、テーマを変えたり構成を変えたり試したいことないでしょうか? そのような時、本番環境を壊さずに試せる検証環境があると良いですよね。
このページではWindowsパソコン上にWordPressをインストールして検証環境を作ります。試してみると思っていたより簡単に立ち上げることができましたので紹介したいと思います。
WordPressの検証環境ができるとWebサイトの移行や新しテーマのテストなど、変更後の影響を事前に確認できるので、とても便利です。

Windows上でWordPressを直接動かすことは簡単ではないです。でも、Hyper-V上にCentOSをインストールしてその上でWordPressを動かすと簡単に構築できます。具体的手順は以下です。
- Windows上のHyper-VにCentOSをインストールして起動する
- CentOSの上にLAMP(Linux, Apache, MySQL, PHP)環境を作る
- WordPressをインストールして起動する
WordPressの環境を準備
CentOSのインストールと起動
CentOSを動かすためにHyper-Vを使う
Windows上でCentOSを直接起動するには、Hyper-Vの助けが必要です。Hyper-VをWindows上で動かすにも条件があります。詳細な手順については、仮想環境を個人で試用してみたいを参照してください。
Hyper-Vの上でCentOSをインストールして起動する
Windows上でHyper-Vが動作したら、仮想環境なので少し手順が違います。でもHyper-V上でCentOSをインストーする手順はCPUやメモリ、ディスクリソースを定義することですので、わかればそこまで難しいことではないと思います。
Professional以上のエディションのWindows10であれば標準でHyper-Vが付いています。パソコンのリソースは2台動かすために必要ですが、追加の費用が不要なのは助かります。
Hyper-V上にCentOSをインストールする具体的な手順は、CentOSのインストールを最短で!を参照してください。
データベースサーバを起動
データベースはMySQLを使います。データベースのインストールについてはMySQLをCentOSに簡単インストールの項番1でにまとめています。
Webサーバのインストール
Webサーバはインストールが容易なApacheを使います。Apache本体とmod_sslをインストールします。mod_sslはApacheにSSLを提供するApache用のモジュールです。
rootでログインしてdnf install apache mod_sslと入力して2つの機能をインストールします。

上の図のように、赤線部分でパッケージインストールコマンドを実行します。標準では入っていないので、インストールするか確認メッセージが最後に表示されています。インストールするのでyキーとEnterキーを入力してインストールを進めます。

上の図のように、多くのインストールメッセージが流れていきます。最後に「完了しました!」と表示されれば正常にインストールが完了しています。
これでWebサーバとSSL機能のインストールが完了しました。次はWebサーバを起動します。データベースMariaDBサーバと同じように、自動機能を有効化して、起動します。
WebサーバのApacheは高機能で本来は多くの設定機能があります。今回は検証環境を簡単に立ち上げることを目的としているので、細かい設定や機能は省略して標準機能で立ち上げます。

上の図では、①Webサーバの自動起動と起動状態を表示します。②自動起動はdisabled(無効)で③サービスはinactive(dead)で停止状態です。
④Webサーバの自動起動を有効にします。
⑤もう一度①と同じようにWebサーバの自動起動と起動状態を表示します。⑥自動起動はenabled(有効)に変わりましたが、⑦サービスはinactive(dead)で変わりません。
⑧Webサーバを起動します。
⑨もう一度①⑤と同じようにWebサーバの自動起動と起動状態を表示します。⑩自動起動はenabled(有効)で変化は無いですが、⑪サービスはactive(running)で起動状態に変わりました。
良く上の図のメッセージを見ると⑪から下3行目にport 443, port80 とhttpsのポートでもWebサービスを起動しました。サーバ証明書は自己署名になりますが、SSL対応のWebサーバが起動できたことになります。
PHPのインストール
WordPressに必要なPHPのモジュールは以下の3つです。
項番 | パッケージ名 | 説明 |
---|---|---|
1 | php | PHPプログラム本体(Apache用モジュールも含まれる) |
2 | php-json | JSON形式のデータを扱うPHP拡張 |
3 | php-mysqlnd | MySQLへ接続する機能を使うPHP拡張 |
上の3つのパッケージをdnfコマンドでインストールします。

上の図のように、赤線部分でPHP関連モジュールをインストールします。インストールが完了したら、PHP自体の設定は終わりです。WebサーバのApacheはPHPモジュールを認識するために再起動が必要です。
WebサーバApacheでPHPもモジュールを読み込ませるためにsystemctl restart httpdで再起動するかシステムを再起動します。
以上でPHPの設定は完了です。
SELinuxの設定
WordPressを動作させるにはSELinuxの設定は必須です。方法は2つあります。SELinuxを無効にする。SELinuxがWordPressの動作に影響がないよう設定を許容する。以上の2つになります。
SELinuxを無効にする方法はお勧めはできませんが、簡単に実行できます。/etc/selinux/configのファイルをエディタで開き、SELINUXの値をdisabledに変更して、サーバを再起動します。これでSELinuxが無効になります。
もう一つはSELinuxの設定を緩和します。実施することは2つです。Apacheがネットワーク接続できるように許容することと、Apacheのプロセスがデータを書き込めるように許容することです。
Apacheがネットワーク接続できるように許与するには、httpd_can_network_connectの値を1にします。コマンドはsetsebool -P httpd_can_network_connect=1を実行します。
Apacheのプロセスがデータを書き込めるように許容するには、httpd_unifiedの値を1にします。コマンドはsetsebool -P httpd_unified=1を実行します。

上の図の1行目にhttpd_can_network_connectの値を1に変更するコマンドです。2行目でgetseboolで内容を確認しています。-Pは恒久的に設定を反映します。-Pが無いと再起動した後に設定値が戻りますので、注意してください。また、イコール(=)前後は空白を入れるとエラーになりますので、ご注意ください。
次にApacheのプロセスがデータを書き込めるように許容します。設定する変数はhttpd_unifiedを1に変更します。同じコマンドで設定します。
以上でSELinuxの設定は完了です。
WordPressのインストール
WordPressソフトウェアのダウンロード
WordPressはダウンロードサイトから取得します。取得したらCentOSのサーバに置きます。zipでもtar.gzでもどちらでもCentOSサーバ上で展開できます。

WordPressソフトウェアの展開
ダウンロードサイトから取得したWordPressソフトウェアを/var/www/html/下に展開します。zipなら、”unzip [ファイル名]”コマンドで展開します。tar,gzならtarコマンドに “tar -zxf [ファイル名]”コマンドで展開します。
展開するとwordpressディレクトリが出来上がります。フルパスは/var/www/html/wordpress/の下にWordPressのソフトウェアが展開されたことになります。
WordPressのURL調整
WebサーバApacheのWebサイトトップディレクトリは/var/www/htmlディレクトリです。このまま公開するとhttps://サイト名/wordpress/がWordPressを使ったWebサイトになります。
WordPressのサイトをトップディレクトリに持ってくる場合にはApacheのせてい変更が必要です。そのためにはApacheのDocuemntRootを/var/www/htmlから/var/www/html/wordpressに変更します。変更後の/etc/httpd/conf/httpd.confは下のようになります。

上の図はCentOS8で/etc/httpd/conf/httpd.confをviで開き、行数を左に表示させた状態です。122行目にDocumentRootの指定がありますので、修正しました。変更後保存して終了します。
設定が完了したら、Webサーバに反映します。systemctl restart httpdでWebサーバを再起動します。又はapachetl gracefulで設定ファイルを再読み込みさせます。
WordPress用データベース領域の作成
WordPress用のデータを保存する領域をMariaDBに作成します。作るデータベース名などのパラメータは以下とします。
項番 | 項目 | 設定値 |
---|---|---|
1 | データベース名 | wordpress |
2 | ユーザー名 | wordpress |
3 | パスワード | W0rdPress |
データベースの作成方法については、MySQLをCentOSに簡単インストールの項番2にまとめています。
WordPressの初期設定
それではWebサーバにアクセスしてWordPressの初期設定を反映します。CentOSのサーバにrootでログインします。左上のアクティビティからFirefoxを立ち上げて、https://localhost/にアクセスします。

上の図のように表示されれば、WebサーバとPHPの設定は完了です。「左下のさあ、始めましょう」をクリックして進みます。

上の図のように、WordPressのデータを保管するデータベースへの接続情報を入力します。MariaDBのインストール時に設定した値を設定していきます。データベース名はwordpress、ユーザー名はwordpress、パスワードはW0rdPressです。
データベースのホスト名はlocalhostとしてください。IPv6のループバックIPアドレス::1で接続します。MariaDBの設定の中ではIPv4のポートはListenしていません。
入力を完了すると下のようになります。

テーブル接頭辞は、今回の構築例では標準のままで大丈夫です。左下の「送信」ボタンをクリックして次へ進みます。

上の図のようになれば、いよいよデータベースにWordPress用の初期情報を書き込みます。左下の「インストール実行」をクリックします。正常に初期データベースを構築できると下の図を表示します。

後はサイト名、管理者のユーザー名とパスワード、管理者のメールアドレスを設定してWordPressの初期設定が完了します。
Hyper-VとCentOSの力を借りて、Windows上にWordPressを容易にインストールして構築することができました。参考になれば幸いです。