XAMPP上のWeb開発環境へWordPress BackWPupバックアップを復元

投稿者: | 2021年9月5日

サイトファイルを復元

データベースに続いて、サイトファイルをバックアップアーカイブから、ドキュメントルート内のblogフォルダへ解凍復元します。 scp で母艦から仮想マシンへバックアップアーカイブを転送の後、解凍するのですがその際に、バックアップアーカイブ内のデータベースバックアップや、プラグイン一覧をワイルドカードで除外指定しておくと良いでしょう。

 

wp-config.phpの変更

復元したファイルのうち、wp-config.phpを復元先の環境に合わせて編集します。

上記編集内容のうち最後に2行追記しているのは、サイトアドレスを上書き設定する定数です。この定数をwp-config.php内で設定してしまうことにより、データベース内に入っている本番サイトのURLをWordPressは使わなくなります。今回のように、本番サイトに対する開発環境構築に適した手法でしょう。

 

wp-config.phpのパーミッション

これでWordPress移行時の基本的な作業は終わりなので、早速サイトを開いてみますがブラウザ上に次のPHPエラーが表示されるのみでした。

WordPressの主要ファイルに対する適切なパーミッションの設定については、公式サポートにも記事が公開されていますが、さらに具体的に個々のファイルに対するパーミッションについて言及しているこちらの記事を参考にさせて頂きました。

早速 wp-config.php のパーミッションを確認してみると、本番サイトでは400に設定されていたので、これを今回のXAMPP開発環境に合わせて444に設定します。

これでページを再読込すると今度はサイトを正常に開けました。さらにブラウザの開発ツールを用いて、ページ内の要素が開発環境を参照していることを確認します。

図08.xampp開発環境で開いたサイト

図08.xampp開発環境で開いたサイト

管理画面ログインCAPTCHAの表示エラー

サイトコンテンツに問題は無さそうなので、続いて管理画面を開こうとすると、ログインページのCAPTCHAがまたしてもパーミッションエラーで動きません。

図09.ログインCAPTCHAエラー

図09.ログインCAPTCHAエラー

これはSiteguard WPプラグインが、管理画面のログイン時やユーザがコメントを入力する際に必要なCAPTCHAの画像を、プラグイン内のサブフォルダに適宜保存する際、書き込み権限が付与されていない場合に発生するエラーです。

このサブフォルダ tmp に対する権限を777へ変更すると、CAPTCHA画像が正常に書き込まれ、ログインページにも表示されました。

図10.ログインCAPTCHA正常表示

図10.ログインCAPTCHA正常表示

avahiによる仮想ホスト〜ゲスト間の名前解決

avahi-daemon が仮想ホスト、仮想マシン双方で正常に作動していれば、仮想ホストから仮想マシンのFQDNを使ってアクセスすることが出来るはずです(いちいち仮想マシンが仮想DHCPサーバから割り当てられたIPアドレスを調べる必要なし)。もしpingを飛ばしても名前解決されないようであれば、仮想ホスト、仮想マシン双方の当該サービスの状態を確認します。まずは仮想マシン側から確認しますが、OSインストールしたばかりなので、問題無く稼働しています。

次に仮想ホスト側。こちらは長年使い倒していて色々と設定をいじっていました。当時avahiのドメインに.localを使うと不都合な機器が一時期、ネットワーク内にいたことがあり、その対策に変更した設定が以下のように残っていたので、全てコメントアウトしました。 host-name パラメータもシステムが自動的に取得・適用してくれるので、通常は設定ファイルで明示する必要はないでしょう。

設定ファイルを修正してサービスを再起動の後、問題無く動作するようになりました。

これにより、ターミナル上での pingssh はもちろん、ブラウザからもFQDNで仮想マシンを呼び出すことが出来ます。

 

今回は少し本題から脱線しつつも、WordPress BackWPupプラグインによって生成されたバックアップアーカイブの復元作業の流れと注意事項をまとめました。これが将来来るかもしれないサーバ移転の備えになればと思います。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA