コンテンツへスキップ

WP(WordPress) をローカル環境で構築したい。

WordPress の設定を大きく変更するときに、バックアップが正常に取れているか心配なので、
バックアップがきちんと取れているか確認する為に、ローカル環境にバックアップを使ってサイトのレプリカを構築してみてはどうかと考えた。

でも、いきなりはアレなので、まずは新規で構築をしてみようと考えた次第。
その時のメモです。

インストーラーの入手

ローカル環境でwordpress 構築するのに必要なもの。

  • DB(MySQL /phpMyAdmin)
  • WEB サーバー(Apache)
    ※Apache のインストール時にランタイムが必要です。
  • PHP
  • WordPress

DB のダウンロード。

DB は「MySQL」を入手します。
そして、MySQL管理用に、「phpMyAdmin」を入手します。

phpMyAdmin

https://www.phpmyadmin.net/docs/

MySQL のダウンロード

https://www.mysql.com/jp/downloads/

ダウンロードの場所、悩みました。。。

ページの下の方までページをスクロールして、
「MySQL Community (GPL) Downloads » 」をクリック。

「MySQL Installer for Windows 」をクリック。

インストール環境に合わせて選択。
今回はオフライン環境でインストールするので、下のインストーラーをクリック。

ログインしない場合。

Apache のダウンロード

https://www.apachelounge.com/download/

参考:Apache のプロジェクト。

下記がApache の本体のあるサイトです。
自分でコンパイルする必要があるので、上記のApache Lounge の様なサイトからダウンロードしましょう。

https://httpd.apache.org/

Virtual C++ 再頒布可能パッケージ

場合によって、ランタイムが必要です。

https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads

PHP のダウンロード

https://www.php.net/downloads

Current Stable PHP のWindows downloads をクリック。

x64 Thread Safe のZip をダウンロード。
※「Non Thread Safe」はIIS 用とのこと。

WP のダウンロード。

https://ja.wordpress.org/download/

各種インストール

VM を用意して、早速インストールしていこうと思います。

  • OS : Windows Server 2016
  • CPU : 2コア
  • Memory : 8GB
  • NIC : ホストオンリー

インストールの順番。

  1. Apache
    ※Virtual C++再頒布可能パッケージ
  2. PHP
  3. MySQL
  4. phpMySQL
  5. WordPress

Apache のインストール。

インストールというか、解凍したフォルダを「C ドライブ直下」に配置し、コンフィグファイルを修正したら終了です。

ダウンロードした、Apache の圧縮ファイルを解凍。

解凍したフォルダ「Apache24」フォルダをC ドライブ直下へ移動。

フォルダを移動後、
「C:\Apache24 \conf \httpd.conf」ファイルをテキストエディタで編集します。

コメントアウトされているこの一文を有効化する。
(先頭の「#」を消す。)

#ServerName www.example.com:80

ServerName www.example.com:80

特に、必須の設定ではないようです。
エラーメッセージに含まれる自身のサーバー名の設定をしているらしい。
ただし、有効にしておかないと、Apache 起動時にエラーが出ます。

次にコマンドプロンプトで、Apache24 \bin に移動し、httpd -k install を実行する。


これも必須の作業ではないです。
多分、サービスの登録に等しい作業と思います。

インストールしない場合は、Apache24 \bin\httpd.exe をサーバーを使用する度に手動で起動します。

おおっと・・・ランタイムが足りない。

MSサイトからランタイムを入手してインストール。。。

今度こそ、Apache をインストール。
「Errors・・・」のメッセージが出ていますが、
「ここで報告されたエラーは、サービスを開始する前に修正する必要があります。」
という、ただの注意書きの模様。(参考サイトも全くふれていません)
それ以上のコメントが無ければOKという事で。

また、ファイアウォールは許可します。

インストールすると、下記のサービスが登録されます。
インストール直後はサービスが停止しているので、「It Works!」を確認するなら起動しましょう。

PHP をインストール。

PHP をダウンロードし任意のフォルダに解凍します。

保存したフォルダを、環境変数 「PATH」に登録。

動作確認。
コマンドプロンプトで「php -v」と入力して、php のバージョン情報が表示されるかを確認します。

OK。

Apache にPHP を読み込み。

httpd.conf に下記を追記をして、Apache を再起動します。

LoadModule php7_module "<PHP のパス>/php7apache2_4.dll"
AddHandler application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "<PHP のパス>"

PHP のインフォメーションを確認できるページを作って動作確認。
「phpinfo.php(拡張子は「php」にする。)」をApache のルートフォルダに配置します。

書き込んでおく内容は以下の一文だけ。

<?php phpinfo(); ?>

ブラウザから、配置した「phpinfo.php」にアクセスします。
(例:http://localhost/phpinfo.php)
この画面が見れたならOK。

MySQL のインストール

これは、インストールパッケージ持ってきたので、ダブルクリックするだけ。
MySQL の設定は、環境や目的に合わせて変更してください。(ほぼデフォルトにしています。)

ダウンロードしたファイルをダブルクリック。

インストーラーが起動中。

インストール開始。
サーバーオンリーです。開発はまだ考えていません。

インストール実行。

すぐに完了。

そのまま、次。

スタンドアロンで。

一番上のような、真ん中のような。
まあ、一番上のタイプで。

デフォルトという事で何も触らないで次へ。

ローカルだし、テストだからこっちにしておいた。
(基本は推奨の方がいいと思います。)

ユーザーを作成。
WordPress から操作するユーザーが要るはずなので、作成しておきます。
権限の問題が出ないように、強力なロールで作成します。
(それは、それで問題かも)

次へ。

デフォルトのまま、次へ。

インストールを実行。
「Execute」をクリックします。

完了。

そのまま、次へ。

終了。

phpMyAdmin をインストール。

ダウンロードしたファイルを解凍して、Apache の「ルートフォルダ」に配置します。

ルートフォルダはhttpd.conf のここと、、、

プラス、この「DocumentRoot」で定義されています。

つなげると、「C:\Apache24\htdocs」となります。

ファイルを解凍して、、、

先ほど確認した、「ルートフォルダ」に配置します。
名前は長いので、リネームしています。そのままURL にもなるので、分かりやすくトラブルの少ない感じのフォルダ名がベターです。

phpMyAdmin にアクセスする前に、PHP がDB を使用できるように、モジュールを読み込みます。
PHP フォルダ直下の「php.ini」を編集するのですが、
デフォルトでは置いていないファイルなので、作成します。

php フォルダの中に、サンプルのphp.ini が2つ(-development/-production)置いてあるので、どちらかのファイルをコピーしてリネームしたものを流用します。

以下、2か所編集。
コメントアウト「;」を削除して有効化します。

これは、拡張モジュールの置いてあるフォルダを指します。

ブラウザ経由でphpMyAdmin フォルダにアクセスし、index.php へアクセスします。

キタ!

ログインしたら、もう使えます。
インストールした時のユーザーID とパスワードで入ります。

管理画面に入れました。

後でWordPress をインストールするときに指定するので、DB を一つ用意しておきましょう。

新規作成 をクリック。
データベース 名と、照合順序を設定して「作成」をクリックします。

作成しておくだけでOKです。

WP のインストール

Apache のルートフォルダに、ダウンロードしたファイルを解凍して、フォルダの中身を配置します。

面倒なのでフォルダごとコピーしたの図。

Apache が動いている状態で、ブラウザを起動し、「localhost」にアクセス、
先ほどコピーしたフォルダ「wordpress」へ移動します。
さらにその下の「wp-admin」へ移動。
→localhost/wordpress/wp-admin


「install.php」を見つけて開きます。

すでに、WP の画面。
「さあ、始めましょう」をクリックします。

phpMyAdmin を設定した時に作成したDB を指定。
ユーザーはMySQL インストールの時に作成したユーザーです。

テーブルの接頭辞を任意。

WordPress がインストールできる状態なら、以下のページに遷移します。
「インストール実行」のボタンをクリック。

最後に、サイトの設定情報を入力します。

成功。

早速ログイン。

ですが、この画面になります。。。
(ここで、index.php をクリックするとダッシュボードへ移動できます。)

Apache はデフォルトで、index.php を自動で読み込む対象にしていないので、
このような現象が起こります。
自動で「index.php」を読み込むように設定します。

Apache24\conf\httpd.conf をテキストエディタで開きます。
「DirectoryIndex」の設定値に、「index.php」を追加します。
これで、index.html の様に、自動でフォルダ内のindex.php を読み込むようになります。
設定後は、Apache を再起動。

これでローカル環境での、WordPress インストールが終了です。

ちなみに、新規作成したDB には、テーブルも作成されています。

動作確認。

動作確認をしながら、設定やモジュールの追加など行いました。

新規投稿はOK です。

ちゃんと記事は作成できる。

登録されている。

画像もライブラリにも登録できている。

ページの閲覧が。。。

トップページには、正常に表示されているけれども、、、

LAN 内の他の端末からページを見に行くと、レイアウトが崩れている。
しかも、リンクを進めると、URL が「localhost」になってしまう。

単純にWP サイトのURL が「localhost」になっているのが原因でした。
アドレスをホスト名のアドレスに変更することで解決。

設定 >「一般」

外部から見た時にレイアウトが崩れるのも、このURL が原因でサイト構成に必要なファイルが読めていなかった様子。
URL を解決したら、レイアウトも崩れなくなりました。

記事へのリンクや、編集中のプレビューが見られない。

URL スラッグを日本語にしている(デフォルトのままで記事を使用する)と発生することが分かったので、URL スラッグを公開時に書き換えることにしました。

URL スラッグを英語に書き換えておくと。。。

プレビューも見られる。

【後日追記 2021.1】
以下の設定をしてから、一旦WP のダッシュボードにて、「パーマリンク」の設定を「基本」に戻し、再度「日付と投稿名」に設定しなおすと、日本語のURL を含んでいても記事を表示できるようになった。

パーマリンクの再設定に気付いたのが最後なので、要らない設定もあるかもしれません。。。

  • mbstring を有効化。
  • mod_rewrite モジュールを有効化。
  • httpd.conf にて、「AllowOverride」の値を「All」 へ変更。
  • php.ini にて以下の設定を変更。(現在借りているレンタルサーバーの設定に合わせて変更した項目です。)
mbstring.internal_encoding = UTF8
mbstring.http_input = pass
mbstring.http_output = pass
opcache.enable=0
opcache.enable_cli=0
short_open_tag = Off
  • DB の設定

phpMyAdmin にて、サーバー接続の照合順序を「Utf8_general_ci」に設定。

  • パーマリンクを一旦「基本」に設定してから、「日付と投稿名」に戻す。

プラグインが更新できない。

後日、プラグインが更新できなかった時に下記の設定を「php.ini 」に追加.

extension=php_curl.dll
extension=php_openssl.dll

参考サイト

WP のインストール。

Apache のインストール

https://techacademy.jp/magazine/1846

phpMyAdmin のインストール

https://www.sejuku.net/blog/30282

PHP のインストール

mysqli 拡張エラーが出た時の参考。

https://www.projectgroup.info/tips

(Visited 349 times, 1 visits today)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です