LoginSignup
1
0

LOCALを使って本番環境のWordpressから検証環境を作る手順

Posted at

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

直近でWordpress環境を編集する必要が出てきました。しかもコードレベルでの修正が必要になりそうで、本番環境しかない状態です。流石にいきなり本番環境を弄るのは怖すぎるので弄り倒せる検証環境を用意したいと思い模索していたところLOCALという存在を知りました。

今回は本番環境をそっくりそのままLOCAL環境にコピーする手順を備忘録的な感じで記載していきたいと思います。

本番WordpressやLOCALのバージョン

Wordpress

ツールタブのサイトヘルスからWordpress、PHP、Webアプリケーション(ApacheとかNginxとか)、DBを確認することが出来ます。LOCALで検証環境を立ち上げるときに使用するので事前に確認しておきましょう。

2024052203.png
2024052204.png
2024052205.png

LOCAL

今回はVersion 9.0.2+6676です。
バージョンによって微妙にレイアウトが違うように見えるので、ご認識おきください。

image.png

構築

BackWPupからデータを取得

Wordpressの管理画面にログインしてBackWPupのバックアップを選択します。
※今回移行したいWordpressではこのプラグインを使用してバックアップを取得していましたが、取得したいファイルはどのプラグインだろうが、手動だろうが変わりないと思います。
最新版をダウンロードします。
2024052201.png

ダウンロードしたzipを解凍します。
以下のファイルは不要なようなので、別のディレクトリに退避するか削除します。

backwpup_readme.txt
manifest.json
◯◯◯.pluginlist.◯◯◯.txt

退避した結果が以下となります。
2024052202.png

LOCALのダウンロードと開発環境のデプロイ

LOCAL公式サイトは以下となります。ダウンロードします。

環境を用意してLOCALを起動すると以下のような画面が表示されます。
右下の「+」を押下して環境を用意します。
image.png
Create a new siteを選択してContinueを押下します。
image.png
サイトの名前を設定します。今回はdemoとしました。Continueを押下します。
image.png
PHPやDBのバージョンを設定します。Wordpressの管理画面で確認したバージョンに近いものか少し低いものを選択すれば大丈夫そうな気がします。この辺りは後から変更できますので、様子を見つつ対応していっても良いかと思います。今回は以下の設定としました。
image.png
検証環境のユーザとパスワードを設定します。本番にあるユーザと同じ設定を入力したほうがいいという記載をどっかで見たので併せたほうが無難かもです。
2024052206.png
デプロイしていきます。ところどころでポップアップし、許可を求められるので許可していきましょう。
image.png

LOCAL環境の作りこみ

DBの修正

Site domainを控えておきます。今回はhttp://demo.local/となりますね。
image.png
Databaseタブを選択してConnectのOpen AdminerEvoを押下します。
image.png
Webブラウザが起動し、以下のような画面が表示されます。
左上にあるインポートを押下します。
image.png
ファイルをアップロード欄のファイル選択を押下します。
image.png
Wordpressからダウンロードし、解凍したフォルダの中にsqlファイルがあるので、選択します。実行を押下します。
2024052207.png
クエリーを実行しました。という文言が出力されることを確認します。
画面左にあるwp_optionsを選択します。
image.png
siteurlとhomeをSite domainで控えたURLに置き換えます。
2024052208.png

configの修正

LOCALのGo to site folderを押下します。
image.png
explorerが開きます。appフォルダを開きます。
image.png
publicフォルダがあると思いますので、これを開きます。
image.png
中に色々入っていますが、削除するか別のフォルダに退避してください。私はappフォルダがあるところにtempを作成してそこに退避させました。
image.png
image.png
空になったpublicフォルダにWordpressからダウンロードし、解凍したファイルを全て移動します。
移動した後、wp-config.phpを開きます。
2024052209.png

以下のように設定を変更します。
この辺りの情報がいまいちピンと来ていないのですが、移行元のWordpressがDBと一体型であればdatabase名とかhostnameとかはLOCALのDatabaseに記載のある通りで良いかもしれません。
また私のLOCAL環境ではユーザ・パスをroot/rootにすることでうまくいきました。移行元のままではだめでした。これはLocal側に移行する際に発生したものなのでしょうか・・・
debug trueはデバックしやすいようにしているだけです。

wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'local');

/** MySQL database username */
define( 'DB_USER', 'root');

/** MySQL database password */
define( 'DB_PASSWORD', 'root');

/** MySQL hostname */
define( 'DB_HOST', 'demo.local');

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '');

中略

define( 'WP_DEBUG', true );

LOCAL環境へのテストアクセス

LOCALの右上にあるWP AdminやOpen Siteを押下します。
構築後初アクセスだと少々時間がかかるかもしれませんがWebブラウザが立ち上がります。
image.png
おおむね問題ないように見えるのですが、debug trueを有効化していることでエラーの内容が出力されます。
2024052211.png
2024052210.png

ChatGPTに適当にエラー内容をぶん投げてみます。どうもPHPのバージョンが問題の様です。
これはLOCAL環境が問題というよりは、私が今現在移行しているWordpress上で解決しなければならない問題なので、何も出ない人は何も出ないと思います。
いったん無視することも問題ないと思いますので、debug falseにして表示させないようにするか、LOCALでPHPバージョンを下げてもいいでしょう。


ChatGPT
この警告は、関数宣言内でオプションのパラメータが必須のパラメータの前に定義されているために発生しています。これは、PHP 8.0以降では非推奨となっているため、パラメータの順序を修正する必要があります。

具体的には、オプションのパラメータ$avatarが必須パラメータ$id_or_emailの前にあることが問題です。この順序を修正するには、オプションのパラメータを必須パラメータの後に移動します。


今回は一旦debug falseにして無視することにします。
管理画面に移動して適当に更新が出来るか、リンクが正常に動いているかを確認し、問題なさそうであればLOCALでの開発にいそしんでいきましょう!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0