ワードプレスのローカル環境をやっと作成した
初心者もOKと書いていますが、正直、大まかなワードプレスの仕様とローカル環境がなぜ必要か等、基本的なことは説明してません。「ローカル環境がなぜ必要か」「メリットとデメリットは?」「インストールの方法は?」みたいなのは他で調べていただくということで。
このエントリではサーバー上にある本番サイトをローカルのWin10内に移動した時の忘備録とわかったことです。基本、理由や手順等は省いてますので、参考にしていただいた上でさらにググっていただくと良いかと思います。
MAMP、XAMP、FLYWHEEL…どれがベスト?
筆者は長年MAMPを使用しており、MACをやめてWIN環境になってからもWIN版のMAMPのお世話になって来ました。今までこれといった不具合に遭遇したことがなかったのですが、クラウドが使えるようになったバージョンあたりからMYSQLの起動が不安定になることが多く、思い切って環境を再構築することに。
要は一長一短ね
構築し直すにあたって、XAMP、FLYWHEELをとっかえひっかえインストール/アンインストール。ポートの競合、DBのサイズが大きい、等々、こちらの環境にも依存する要因が多々あるので、どれがベスト!という言い方は適切ではないですが、3つの印象は、
- MAMP:デザインが良い、不具合があった場合の切り分け調査がやりづらい。
- XAMP:大昔風の野暮ったいデザイン、けど操作性が良い、サーバーの状況を掴みやすい。
- FLYWHEEL:デザインすごく良い、操作性が良い、wordpress以外では使いにくいかも、わりとネット上の情報が少ないのでハマッたらきついかも。あと、何か重い。
結局うちの環境ではFLYWHEELのみ
MAMPはポートの競合なのか、突然MYSQLだけ起動しなくなり、リインストールしても状況変わらず、動作することもあるのですがMYSQLへインポートすると高い確率で死亡…。
XAMPはPHPのバージョン切り替えがネックで、動作したりしなかったり。php7.3だと行けるみたいなのですが、今度はDB変更ツールがエラーになる…。原因を探るのも良いのですが、記事を執筆するのがメインの業務なもので、あまりそこを深掘りしないで先に進めたい。FLYWHEELがだめだったら、ローカルLinuxでも入れるかかなぁと思ってたら幸い動作しました。
ハマッていて、時間がなく、焦っている時ってこんなもんですよね…。原因は切り分けていませんが、ここを読んでいる試行錯誤中の読者さんなら、何かヒントを掴んでくれるはず。
All-in-One WP Migrationは正直すすめないよ
何回も試した結果ですが、勧められません。有料版も試しましたが、インポートエラーになります。簡単インポート!とあちこちで書かれているのは、おそらくは容量の小さいサイトなのではないかなと思います。というか、MAMPだと
Your PHP is 32-bit. In order to import your file, please change your PHP version to 64-bit and try again.
とエラーが出ました。開発元ServMask社に英語で確認したところ、帰ってきた驚愕の返答は
Windows OR PHP 32-bit support cannot handle files larger than 2GB.
ということで、え、じゃ、実質有料版の意味なくね?確実に動くみたいだったから課金したのよ?それだったらMAMPの設定自分でいじるんだけど?とびっくりしました。
このプラグインの容量制限の回避については、中にはプラグイン自体を改造を指南するような凄腕サイトもあるようで、それは泥棒とは言わないけど道理としてどうなの?と思います。けど、ま、有料版が使えないんじゃ、うーんなんとも、ねぇ…と思いました。
DBへ直接インポートも試したけど結局純正に
DBへ直接インポートしてDatabase Search and Replace Script in PHPでホスト名を変換、メディアファイル等はFTPで移動、というやり方の方が安定していました。ただ、この変換ツールもPHP7.3とかだとエラーが出たり他多少動作のクセがあるようです。DBにインサートを行うとXAMPだとそのままMYSQLが死ぬことが多く、DBのバージョンをあわせる、文字コードの問題等、実は様々な敷居がありました。「簡単ローカル環境構築!」とか絶対ウソ記事だと思うよ。と、負け惜しみのひとつも叫びたくなります。
結局うまくいったやり方。
筆者の環境では、結局、Database Search and Replace Script in PHPだけは使用しましたが、下記手順でなんとかローカルを再構築しました。らくらく初心者向け記事みたいなのであるように、MAMPでAll-in-One WP Migrationがサクッと動けばそっちでやりたい…。愚痴ばっかごめん。
- FLYWHEELで移動先サイトを作成
- 本番サイトからFTPで画像(uploadフォルダ)をダウンロ-ド(実際は不要だけど、この方がすぐ画像が表示できて作業しやすい)
- 同じく本番サイトからプラグインフォルダ、テーマフォルダをダウンロード
- 本番サイトから純正ツールで投稿のみをエクスポート
- FLYWHEELのアプリフォルダへ画像を追加
- ローカルサイトの純正ツールで投稿をインポート
- ローカルのDBのホスト名を置換(これもSQL文作ればツールいらないんだけど)
- .htaccessを設定してインストールフォルダと表示フォルダの表示を調整
- ローカルサイトへテーマフォルダ、プラグインフォルダを追加、不要なものを削除
- 本番サイトと見た目を合わすためにカスタマイザー他でカスタマイズ。
アドセンスをオフっておこう
後々いろいろ問題が起きるといけないので、ローカルでは広告が表示されないように変更します。GoogleTagマネージャーで一括管理しているので、ここは簡単でした。
アイキャッチが来てない!
画像フォルダの移動だけではアイキャッチが来ません。つまりDB内にあるデータなんですよねこれ。ローカルテスト環境なのでそこまでは不要なのですが、メディアをエクスポート、プラグインで読み込みというやり方で解決しました。とりあえずズレもなく元通りに表示できました。
今後の心配な点
FLYWHEELってあんまり情報がなくて、あってもインストールするまでの記事が多いので、何かあった場合はもうそのまま再インストール。雑だけどその方が速い…。ただ、メインマシンをしょっちゅう再起動というのも仕事効率が悪いので、別マシンが用意できるなら良いかも…。
ツールがちゃんと動作するならそっちの方がベター
エンジニアとしてよりも編集運営として早く面倒なく構築するという観点からこのやり方となりましたが、ツールが問題なく動作するのであればMAMPでやれれば一番良かったというのが正直なところではあります。